Mercurial > hg > orthanc-stone
diff Framework/Toolbox/DicomInstanceParameters.cpp @ 980:8e497a4e3d96
DicomInstanceParameters::GetIndexInSeries()
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Tue, 03 Sep 2019 19:03:17 +0200 |
parents | a7351ad54960 |
children | 1f74bc3459ba |
line wrap: on
line diff
--- a/Framework/Toolbox/DicomInstanceParameters.cpp Tue Sep 03 17:52:28 2019 +0200 +++ b/Framework/Toolbox/DicomInstanceParameters.cpp Tue Sep 03 19:03:17 2019 +0200 @@ -176,6 +176,12 @@ { expectedPixelFormat_ = Orthanc::PixelFormat_Grayscale16; } + + // This computes the "IndexInSeries" metadata from Orthanc (check + // out "Orthanc::ServerIndex::Store()") + hasIndexInSeries_ = ( + dicom.ParseUnsignedInteger32(indexInSeries_, Orthanc::DICOM_TAG_INSTANCE_NUMBER) || + dicom.ParseUnsignedInteger32(indexInSeries_, Orthanc::DICOM_TAG_IMAGE_INDEX)); } @@ -398,4 +404,18 @@ return new LookupTableTextureSceneLayer(*converted); } } + + + unsigned int DicomInstanceParameters::GetIndexInSeries() const + { + if (data_.hasIndexInSeries_) + { + return data_.indexInSeries_; + } + else + { + LOG(ERROR) << "DicomInstanceParameters::GetIndexInSeries(): !data_.hasIndexInSeries_"; + throw Orthanc::OrthancException(Orthanc::ErrorCode_BadSequenceOfCalls); + } + } }