comparison Framework/Toolbox/DicomInstanceParameters.cpp @ 982:3f6e5a38c88f toa2019090601

Merge
author Benjamin Golinvaux <bgo@osimis.io>
date Fri, 06 Sep 2019 09:39:18 +0200
parents 8e497a4e3d96
children 1f74bc3459ba
comparison
equal deleted inserted replaced
981:c20dbaab360c 982:3f6e5a38c88f
174 } 174 }
175 else 175 else
176 { 176 {
177 expectedPixelFormat_ = Orthanc::PixelFormat_Grayscale16; 177 expectedPixelFormat_ = Orthanc::PixelFormat_Grayscale16;
178 } 178 }
179
180 // This computes the "IndexInSeries" metadata from Orthanc (check
181 // out "Orthanc::ServerIndex::Store()")
182 hasIndexInSeries_ = (
183 dicom.ParseUnsignedInteger32(indexInSeries_, Orthanc::DICOM_TAG_INSTANCE_NUMBER) ||
184 dicom.ParseUnsignedInteger32(indexInSeries_, Orthanc::DICOM_TAG_IMAGE_INDEX));
179 } 185 }
180 186
181 187
182 CoordinateSystem3D DicomInstanceParameters::Data::GetFrameGeometry(unsigned int frame) const 188 CoordinateSystem3D DicomInstanceParameters::Data::GetFrameGeometry(unsigned int frame) const
183 { 189 {
396 { 402 {
397 std::auto_ptr<Orthanc::ImageAccessor> converted(ConvertToFloat(pixelData)); 403 std::auto_ptr<Orthanc::ImageAccessor> converted(ConvertToFloat(pixelData));
398 return new LookupTableTextureSceneLayer(*converted); 404 return new LookupTableTextureSceneLayer(*converted);
399 } 405 }
400 } 406 }
407
408
409 unsigned int DicomInstanceParameters::GetIndexInSeries() const
410 {
411 if (data_.hasIndexInSeries_)
412 {
413 return data_.indexInSeries_;
414 }
415 else
416 {
417 LOG(ERROR) << "DicomInstanceParameters::GetIndexInSeries(): !data_.hasIndexInSeries_";
418 throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls);
419 }
420 }
401 } 421 }