diff Framework/Toolbox/VolumeImageGeometry.h @ 689:93a8949a1ef7

VolumeImageGeometry::DetectSlice()
author Sebastien Jodogne <s.jodogne@gmail.com>
date Thu, 16 May 2019 18:33:57 +0200
parents 7719eb852dd5
children
line wrap: on
line diff
--- a/Framework/Toolbox/VolumeImageGeometry.h	Thu May 16 17:00:42 2019 +0200
+++ b/Framework/Toolbox/VolumeImageGeometry.h	Thu May 16 18:33:57 2019 +0200
@@ -74,6 +74,18 @@
       return sagittalGeometry_;
     }
 
+    const CoordinateSystem3D& GetProjectionGeometry(VolumeProjection projection) const;
+    
+    const Matrix& GetTransform() const
+    {
+      return transform_;
+    }
+
+    const Matrix& GetTransformInverse() const
+    {
+      return transformInverse_;
+    }
+
     void SetSize(unsigned int width,
                  unsigned int height,
                  unsigned int depth);
@@ -88,10 +100,12 @@
 
     Vector GetVoxelDimensions(VolumeProjection projection) const;
 
-    void GetSliceSize(unsigned int& width,
-                      unsigned int& height,
-                      VolumeProjection projection);
-    
+    unsigned int GetProjectionWidth(VolumeProjection projection) const;
+
+    unsigned int GetProjectionHeight(VolumeProjection projection) const;
+
+    unsigned int GetProjectionDepth(VolumeProjection projection) const;
+
     // Get the 3D position of a point in the volume, where x, y and z
     // lie in the [0;1] range
     Vector GetCoordinates(float x,
@@ -99,6 +113,10 @@
                           float z) const;
 
     bool DetectProjection(VolumeProjection& projection,
-                          const CoordinateSystem3D& plane) const;
+                          const Vector& planeNormal) const;
+
+    bool DetectSlice(VolumeProjection& projection,
+                     unsigned int& slice,
+                     const CoordinateSystem3D& plane) const;
   };
 }