Mercurial > hg > orthanc-wsi
comparison Framework/Inputs/DicomPyramidInstance.cpp @ 219:ef3f8c5126a4
Don't display the thumbnail/overview instances in the Web viewer
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 12 Jan 2021 17:09:57 +0100 |
parents | 20bc074ec19a |
children | 443f219a68fd |
comparison
equal
deleted
inserted
replaced
218:c5a8b46c4cba | 219:ef3f8c5126a4 |
---|---|
42 static const Orthanc::DicomTag DICOM_TAG_PER_FRAME_FUNCTIONAL_GROUPS_SEQUENCE(0x5200, 0x9230); | 42 static const Orthanc::DicomTag DICOM_TAG_PER_FRAME_FUNCTIONAL_GROUPS_SEQUENCE(0x5200, 0x9230); |
43 static const Orthanc::DicomTag DICOM_TAG_PLANE_POSITION_SLIDE_SEQUENCE(0x0048, 0x021a); | 43 static const Orthanc::DicomTag DICOM_TAG_PLANE_POSITION_SLIDE_SEQUENCE(0x0048, 0x021a); |
44 static const Orthanc::DicomTag DICOM_TAG_ROW_POSITION_IN_TOTAL_IMAGE_PIXEL_MATRIX(0x0048, 0x021f); | 44 static const Orthanc::DicomTag DICOM_TAG_ROW_POSITION_IN_TOTAL_IMAGE_PIXEL_MATRIX(0x0048, 0x021f); |
45 static const Orthanc::DicomTag DICOM_TAG_TOTAL_PIXEL_MATRIX_COLUMNS(0x0048, 0x0006); | 45 static const Orthanc::DicomTag DICOM_TAG_TOTAL_PIXEL_MATRIX_COLUMNS(0x0048, 0x0006); |
46 static const Orthanc::DicomTag DICOM_TAG_TOTAL_PIXEL_MATRIX_ROWS(0x0048, 0x0007); | 46 static const Orthanc::DicomTag DICOM_TAG_TOTAL_PIXEL_MATRIX_ROWS(0x0048, 0x0007); |
47 static const Orthanc::DicomTag DICOM_TAG_IMAGE_TYPE(0x0008, 0x0008); | |
47 | 48 |
48 static ImageCompression DetectImageCompression(OrthancStone::IOrthancConnection& orthanc, | 49 static ImageCompression DetectImageCompression(OrthancStone::IOrthancConnection& orthanc, |
49 const std::string& instanceId) | 50 const std::string& instanceId) |
50 { | 51 { |
51 using namespace OrthancStone; | 52 using namespace OrthancStone; |
170 !reader.GetUnsignedIntegerValue(totalHeight_, OrthancStone::DicomPath(DICOM_TAG_TOTAL_PIXEL_MATRIX_ROWS)) || | 171 !reader.GetUnsignedIntegerValue(totalHeight_, OrthancStone::DicomPath(DICOM_TAG_TOTAL_PIXEL_MATRIX_ROWS)) || |
171 !reader.GetUnsignedIntegerValue(tmp, OrthancStone::DicomPath(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES))) | 172 !reader.GetUnsignedIntegerValue(tmp, OrthancStone::DicomPath(Orthanc::DICOM_TAG_NUMBER_OF_FRAMES))) |
172 { | 173 { |
173 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadFileFormat); | 174 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadFileFormat); |
174 } | 175 } |
176 | |
177 imageType_ = reader.GetStringValue(OrthancStone::DicomPath(DICOM_TAG_IMAGE_TYPE), ""); | |
175 | 178 |
176 size_t countFrames; | 179 size_t countFrames; |
177 if (reader.GetDataset().GetSequenceSize(countFrames, OrthancStone::DicomPath(DICOM_TAG_PER_FRAME_FUNCTIONAL_GROUPS_SEQUENCE))) | 180 if (reader.GetDataset().GetSequenceSize(countFrames, OrthancStone::DicomPath(DICOM_TAG_PER_FRAME_FUNCTIONAL_GROUPS_SEQUENCE))) |
178 { | 181 { |
179 if (countFrames != tmp) | 182 if (countFrames != tmp) |
269 try | 272 try |
270 { | 273 { |
271 // Try and deserialized the cached information about this instance | 274 // Try and deserialized the cached information about this instance |
272 std::string serialized; | 275 std::string serialized; |
273 orthanc.RestApiGet(serialized, "/instances/" + instanceId + "/metadata/" + SERIALIZED_METADATA); | 276 orthanc.RestApiGet(serialized, "/instances/" + instanceId + "/metadata/" + SERIALIZED_METADATA); |
274 std::cout << serialized; | |
275 Deserialize(serialized); | 277 Deserialize(serialized); |
276 return; // Success | 278 return; // Success |
277 } | 279 } |
278 catch (Orthanc::OrthancException&) | 280 catch (Orthanc::OrthancException&) |
279 { | 281 { |
316 static const char* const TILE_WIDTH = "TileWidth"; | 318 static const char* const TILE_WIDTH = "TileWidth"; |
317 static const char* const TILE_HEIGHT = "TileHeight"; | 319 static const char* const TILE_HEIGHT = "TileHeight"; |
318 static const char* const TOTAL_WIDTH = "TotalWidth"; | 320 static const char* const TOTAL_WIDTH = "TotalWidth"; |
319 static const char* const TOTAL_HEIGHT = "TotalHeight"; | 321 static const char* const TOTAL_HEIGHT = "TotalHeight"; |
320 static const char* const PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation"; | 322 static const char* const PHOTOMETRIC_INTERPRETATION = "PhotometricInterpretation"; |
323 static const char* const IMAGE_TYPE = "ImageType"; | |
321 | 324 |
322 | 325 |
323 void DicomPyramidInstance::Serialize(std::string& result) const | 326 void DicomPyramidInstance::Serialize(std::string& result) const |
324 { | 327 { |
325 Json::Value frames = Json::arrayValue; | 328 Json::Value frames = Json::arrayValue; |
342 content[TILE_WIDTH] = tileWidth_; | 345 content[TILE_WIDTH] = tileWidth_; |
343 content[TILE_HEIGHT] = tileHeight_; | 346 content[TILE_HEIGHT] = tileHeight_; |
344 content[TOTAL_WIDTH] = totalWidth_; | 347 content[TOTAL_WIDTH] = totalWidth_; |
345 content[TOTAL_HEIGHT] = totalHeight_; | 348 content[TOTAL_HEIGHT] = totalHeight_; |
346 content[PHOTOMETRIC_INTERPRETATION] = Orthanc::EnumerationToString(photometric_); | 349 content[PHOTOMETRIC_INTERPRETATION] = Orthanc::EnumerationToString(photometric_); |
350 content[IMAGE_TYPE] = imageType_; | |
347 | 351 |
348 Orthanc::Toolbox::WriteFastJson(result, content); | 352 Orthanc::Toolbox::WriteFastJson(result, content); |
349 } | 353 } |
350 | 354 |
351 | 355 |
369 totalWidth_ = Orthanc::SerializationToolbox::ReadUnsignedInteger(content, TOTAL_WIDTH); | 373 totalWidth_ = Orthanc::SerializationToolbox::ReadUnsignedInteger(content, TOTAL_WIDTH); |
370 totalHeight_ = Orthanc::SerializationToolbox::ReadUnsignedInteger(content, TOTAL_HEIGHT); | 374 totalHeight_ = Orthanc::SerializationToolbox::ReadUnsignedInteger(content, TOTAL_HEIGHT); |
371 | 375 |
372 std::string p = Orthanc::SerializationToolbox::ReadString(content, PHOTOMETRIC_INTERPRETATION); | 376 std::string p = Orthanc::SerializationToolbox::ReadString(content, PHOTOMETRIC_INTERPRETATION); |
373 photometric_ = Orthanc::StringToPhotometricInterpretation(p.c_str()); | 377 photometric_ = Orthanc::StringToPhotometricInterpretation(p.c_str()); |
378 | |
379 imageType_ = Orthanc::SerializationToolbox::ReadString(content, IMAGE_TYPE); | |
374 | 380 |
375 const Json::Value f = content[FRAMES]; | 381 const Json::Value f = content[FRAMES]; |
376 frames_.resize(f.size()); | 382 frames_.resize(f.size()); |
377 | 383 |
378 for (Json::Value::ArrayIndex i = 0; i < f.size(); i++) | 384 for (Json::Value::ArrayIndex i = 0; i < f.size(); i++) |