comparison Framework/Inputs/DicomPyramidInstance.cpp @ 64:63d0a5c74460

DicomPyramidInstance::Serialize
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 25 Nov 2016 18:34:17 +0100
parents f45cec2c32e2
children c619c8bd72ed
comparison
equal deleted inserted replaced
63:3252fbf149e3 64:63d0a5c74460
27 #include "../../Resources/Orthanc/Plugins/Samples/Common/DicomDatasetReader.h" 27 #include "../../Resources/Orthanc/Plugins/Samples/Common/DicomDatasetReader.h"
28 #include "../../Resources/Orthanc/Plugins/Samples/Common/FullOrthancDataset.h" 28 #include "../../Resources/Orthanc/Plugins/Samples/Common/FullOrthancDataset.h"
29 #include "../DicomToolbox.h" 29 #include "../DicomToolbox.h"
30 30
31 #include <cassert> 31 #include <cassert>
32 #include <json/writer.h>
32 33
33 namespace OrthancWSI 34 namespace OrthancWSI
34 { 35 {
35 static ImageCompression DetectImageCompression(OrthancPlugins::IOrthancConnection& orthanc, 36 static ImageCompression DetectImageCompression(OrthancPlugins::IOrthancConnection& orthanc,
36 const std::string& instanceId) 37 const std::string& instanceId)
203 unsigned int DicomPyramidInstance::GetFrameLocationY(size_t frame) const 204 unsigned int DicomPyramidInstance::GetFrameLocationY(size_t frame) const
204 { 205 {
205 assert(frame < frames_.size()); 206 assert(frame < frames_.size());
206 return frames_[frame].second; 207 return frames_[frame].second;
207 } 208 }
209
210
211 void DicomPyramidInstance::Serialize(std::string& result) const
212 {
213 Json::Value frames = Json::arrayValue;
214 for (size_t i = 0; i < frames_.size(); i++)
215 {
216 Json::Value frame = Json::arrayValue;
217 frame.append(frames_[i].first);
218 frame.append(frames_[i].second);
219
220 frames.append(frame);
221 }
222
223 Json::Value value;
224 value["PixelFormat"] = Orthanc::EnumerationToString(format_);
225 value["TileHeight"] = tileHeight_;
226 value["TileWidth"] = tileWidth_;
227 value["TotalHeight"] = totalHeight_;
228 value["TotalWidth"] = totalWidth_;
229 value["Frames"] = frames;
230
231 Json::FastWriter writer;
232 result = writer.write(value);
233 }
208 } 234 }