Mercurial > hg > orthanc-wsi
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 } |