diff Framework/Inputs/DicomPyramid.cpp @ 217:20bc074ec19a

Viewer can display DICOM pyramids whose tile sizes vary across levels
author Sebastien Jodogne <s.jodogne@gmail.com>
date Tue, 12 Jan 2021 14:24:18 +0100
parents 1e864138f0da
children ef3f8c5126a4
line wrap: on
line diff
--- a/Framework/Inputs/DicomPyramid.cpp	Tue Jan 12 10:21:36 2021 +0100
+++ b/Framework/Inputs/DicomPyramid.cpp	Tue Jan 12 14:24:18 2021 +0100
@@ -113,8 +113,6 @@
       const DicomPyramidInstance& b = *instances_[i];
 
       if (a.GetPixelFormat() != b.GetPixelFormat() ||
-          a.GetTileWidth() != b.GetTileWidth() ||
-          a.GetTileHeight() != b.GetTileHeight() ||
           a.GetTotalWidth() < b.GetTotalWidth() ||
           a.GetTotalHeight() < b.GetTotalHeight())            
       {
@@ -190,17 +188,17 @@
   }
 
 
-  unsigned int DicomPyramid::GetTileWidth() const
+  unsigned int DicomPyramid::GetTileWidth(unsigned int level) const
   {
-    assert(!levels_.empty() && levels_[0] != NULL);
-    return levels_[0]->GetTileWidth();
+    CheckLevel(level);
+    return levels_[level]->GetTileWidth();
   }
 
 
-  unsigned int DicomPyramid::GetTileHeight() const
+  unsigned int DicomPyramid::GetTileHeight(unsigned int level) const
   {
-    assert(!levels_.empty() && levels_[0] != NULL);
-    return levels_[0]->GetTileHeight();
+    CheckLevel(level);
+    return levels_[level]->GetTileHeight();
   }