comparison Framework/Inputs/DicomPyramid.cpp @ 62:f45cec2c32e2

Speed-up in the Web viewer plugin
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 25 Nov 2016 18:21:15 +0100
parents 147bd6dc28db
children d529d9ce3c7e
comparison
equal deleted inserted replaced
61:147bd6dc28db 62:f45cec2c32e2
63 void DicomPyramid::RegisterInstances(const std::string& seriesId) 63 void DicomPyramid::RegisterInstances(const std::string& seriesId)
64 { 64 {
65 Json::Value series; 65 Json::Value series;
66 OrthancPlugins::IOrthancConnection::RestApiGet(series, orthanc_, "/series/" + seriesId); 66 OrthancPlugins::IOrthancConnection::RestApiGet(series, orthanc_, "/series/" + seriesId);
67 67
68 if (series.type() != Json::objectValue) 68 if (series.type() != Json::objectValue ||
69 !series.isMember("Instances") ||
70 series["Instances"].type() != Json::arrayValue)
69 { 71 {
70 throw Orthanc::OrthancException(Orthanc::ErrorCode_NetworkProtocol); 72 throw Orthanc::OrthancException(Orthanc::ErrorCode_NetworkProtocol);
71 } 73 }
72 74
73 const Json::Value& instances = DicomToolbox::GetSequenceTag(series, "Instances"); 75 const Json::Value& instances = series["Instances"];
74 instances_.reserve(instances.size()); 76 instances_.reserve(instances.size());
75 77
76 for (Json::Value::ArrayIndex i = 0; i < instances.size(); i++) 78 for (Json::Value::ArrayIndex i = 0; i < instances.size(); i++)
77 { 79 {
78 if (instances[i].type() != Json::stringValue) 80 if (instances[i].type() != Json::stringValue)