diff Framework/Inputs/DicomPyramid.cpp @ 57:91fc9583b2de

big refactoring to support sparse tiling
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 24 Nov 2016 17:48:24 +0100
parents 83cd735c885d
children 7a3853d51c45
line wrap: on
line diff
--- a/Framework/Inputs/DicomPyramid.cpp	Thu Nov 24 15:41:21 2016 +0100
+++ b/Framework/Inputs/DicomPyramid.cpp	Thu Nov 24 17:48:24 2016 +0100
@@ -200,19 +200,22 @@
 
 
   bool DicomPyramid::ReadRawTile(std::string& tile,
+                                 ImageCompression& compression,
                                  unsigned int level,
                                  unsigned int tileX,
                                  unsigned int tileY)
   {
     CheckLevel(level);
       
-    ImageCompression compression;
     Orthanc::PixelFormat format;
       
-    if (levels_[level]->DownloadRawTile(compression, format, tile, orthanc_, tileX, tileY))
+    if (levels_[level]->DownloadRawTile(tile, format, compression, orthanc_, tileX, tileY))
     {
-      assert(compression == GetImageCompression() &&
-             format == GetPixelFormat());
+      if (format != GetPixelFormat())
+      {
+        throw Orthanc::OrthancException(Orthanc::ErrorCode_BadFileFormat);
+      }
+
       return true;
     }
     else
@@ -222,13 +225,6 @@
   }
 
 
-  ImageCompression DicomPyramid::GetImageCompression() const
-  {
-    assert(!instances_.empty() && instances_[0] != NULL);
-    return instances_[0]->GetImageCompression(orthanc_);
-  }
-
-
   Orthanc::PixelFormat DicomPyramid::GetPixelFormat() const
   {
     assert(!instances_.empty() && instances_[0] != NULL);