diff Framework/Toolbox/OrthancSeriesLoader.cpp @ 118:a4d0b6c82b29 wasm

using Orthanc::DicomMap instead of OrthancPlugins::DicomDatasetReader
author Sebastien Jodogne <s.jodogne@gmail.com>
date Mon, 02 Oct 2017 14:31:26 +0200
parents 2eca030792aa
children
line wrap: on
line diff
--- a/Framework/Toolbox/OrthancSeriesLoader.cpp	Thu Sep 28 16:55:51 2017 +0200
+++ b/Framework/Toolbox/OrthancSeriesLoader.cpp	Mon Oct 02 14:31:26 2017 +0200
@@ -356,16 +356,18 @@
     std::string uri = "/instances/" + slices_->GetSlice(0).GetInstanceId() + "/tags";
 
     OrthancPlugins::FullOrthancDataset dataset(orthanc_, uri);
-    OrthancPlugins::DicomDatasetReader reader(dataset);
 
-    if (!reader.GetUnsignedIntegerValue(width_, OrthancPlugins::DICOM_TAG_COLUMNS) ||
-        !reader.GetUnsignedIntegerValue(height_, OrthancPlugins::DICOM_TAG_ROWS))
+    Orthanc::DicomMap dicom;
+    MessagingToolbox::ConvertDataset(dicom, dataset);
+ 
+    if (!dicom.ParseUnsignedInteger32(width_, Orthanc::DICOM_TAG_COLUMNS) ||
+        !dicom.ParseUnsignedInteger32(height_, Orthanc::DICOM_TAG_ROWS))
     {
       throw Orthanc::OrthancException(Orthanc::ErrorCode_InexistentTag);
     }
 
     DicomFrameConverter converter;
-    converter.ReadParameters(dataset);
+    converter.ReadParameters(dicom);
     format_ = converter.GetExpectedPixelFormat();
   }
     
@@ -375,10 +377,12 @@
     std::string uri = "/instances/" + slices_->GetSlice(index).GetInstanceId() + "/tags";
 
     std::auto_ptr<OrthancPlugins::IDicomDataset> dataset(new OrthancPlugins::FullOrthancDataset(orthanc_, uri));
-    OrthancPlugins::DicomDatasetReader reader(*dataset);
 
-    unsigned int frames;
-    if (reader.GetUnsignedIntegerValue(frames, OrthancPlugins::DICOM_TAG_NUMBER_OF_FRAMES) &&
+    Orthanc::DicomMap dicom;
+    MessagingToolbox::ConvertDataset(dicom, *dataset);
+ 
+    uint32_t frames;
+    if (dicom.ParseUnsignedInteger32(frames, Orthanc::DICOM_TAG_NUMBER_OF_FRAMES) &&
         frames != 1)
     {
       LOG(ERROR) << "One instance in this series has more than 1 frame";