Mercurial > hg > orthanc-wsi
comparison Framework/Inputs/DicomPyramid.cpp @ 69:d529d9ce3c7e
cache for DicomPyramidInstance
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Fri, 25 Nov 2016 21:56:07 +0100 |
parents | f45cec2c32e2 |
children | ff0ef01c332c |
comparison
equal
deleted
inserted
replaced
68:c619c8bd72ed | 69:d529d9ce3c7e |
---|---|
58 } | 58 } |
59 } | 59 } |
60 } | 60 } |
61 | 61 |
62 | 62 |
63 void DicomPyramid::RegisterInstances(const std::string& seriesId) | 63 void DicomPyramid::RegisterInstances(const std::string& seriesId, |
64 bool useCache) | |
64 { | 65 { |
65 Json::Value series; | 66 Json::Value series; |
66 OrthancPlugins::IOrthancConnection::RestApiGet(series, orthanc_, "/series/" + seriesId); | 67 OrthancPlugins::IOrthancConnection::RestApiGet(series, orthanc_, "/series/" + seriesId); |
67 | 68 |
68 if (series.type() != Json::objectValue || | 69 if (series.type() != Json::objectValue || |
84 | 85 |
85 std::string instance = instances[i].asString(); | 86 std::string instance = instances[i].asString(); |
86 | 87 |
87 try | 88 try |
88 { | 89 { |
89 instances_.push_back(new DicomPyramidInstance(orthanc_, instance)); | 90 instances_.push_back(new DicomPyramidInstance(orthanc_, instance, useCache)); |
90 } | 91 } |
91 catch (Orthanc::OrthancException&) | 92 catch (Orthanc::OrthancException&) |
92 { | 93 { |
93 LOG(ERROR) << "Skipping a DICOM instance that is not part of a whole-slide image: " << instance; | 94 LOG(ERROR) << "Skipping a DICOM instance that is not part of a whole-slide image: " << instance; |
94 } | 95 } |
136 } | 137 } |
137 } | 138 } |
138 | 139 |
139 | 140 |
140 DicomPyramid::DicomPyramid(OrthancPlugins::IOrthancConnection& orthanc, | 141 DicomPyramid::DicomPyramid(OrthancPlugins::IOrthancConnection& orthanc, |
141 const std::string& seriesId) : | 142 const std::string& seriesId, |
143 bool useCache) : | |
142 orthanc_(orthanc), | 144 orthanc_(orthanc), |
143 seriesId_(seriesId) | 145 seriesId_(seriesId) |
144 { | 146 { |
145 RegisterInstances(seriesId); | 147 RegisterInstances(seriesId, useCache); |
146 | 148 |
147 // Sort the instances of the pyramid by decreasing total widths | 149 // Sort the instances of the pyramid by decreasing total widths |
148 std::sort(instances_.begin(), instances_.end(), Comparator()); | 150 std::sort(instances_.begin(), instances_.end(), Comparator()); |
149 | 151 |
150 try | 152 try |