diff 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
line wrap: on
line diff
--- a/Framework/Toolbox/DicomInstanceParameters.cpp	Fri Sep 06 09:38:18 2019 +0200
+++ b/Framework/Toolbox/DicomInstanceParameters.cpp	Fri Sep 06 09:39:18 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);
+    }
+  }
 }