diff OrthancStone/Sources/Volumes/ImageBuffer3D.h @ 1783:75d3e2ab1fe1

BREAKING: SubvoxelReader using the same Z-axis ordering as ImageBuffer3D
author Sebastien Jodogne <s.jodogne@gmail.com>
date Fri, 14 May 2021 18:30:24 +0200
parents f053c80ea411
children 58bebc904191
line wrap: on
line diff
--- a/OrthancStone/Sources/Volumes/ImageBuffer3D.h	Fri May 14 16:30:54 2021 +0200
+++ b/OrthancStone/Sources/Volumes/ImageBuffer3D.h	Fri May 14 18:30:24 2021 +0200
@@ -32,7 +32,9 @@
 {
   /*
 
-  This classes stores volume images sliced across the Z axis, vertically, in the decreasing Z order :
+  This classes stores volume images sliced across the Z axis,
+  vertically, in the DECREASING Z-order along the normal (this is the
+  REVERSE of the intuitive order):
 
   +---------------+
   |               |
@@ -66,6 +68,14 @@
   - 2d width  = 3d width
   - 2d height = 3d height * 3d depth
 
+  This explains the "depth_ - 1 - z" that are used throughout this class.
+
+  EXPLANATION: This allows to have the "SliceReader" and "SliceWriter"
+  accessors for axial and coronal projections to directly access the
+  same memory buffer (no memcpy is required), while being consistent
+  with the Z-axis in coronal projection. The sagittal projection
+  nevertheless needs a memcpy.
+
   */
 
   class ImageBuffer3D : public boost::noncopyable