Mercurial > hg > orthanc-stone
diff Framework/Volumes/ImageBuffer3D.h @ 683:dbc1d8bfc68a
reorganizing ImageBuffer3D
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Thu, 16 May 2019 16:01:36 +0200 |
parents | b70e9be013e4 |
children | 7719eb852dd5 |
line wrap: on
line diff
--- a/Framework/Volumes/ImageBuffer3D.h Thu May 16 14:26:11 2019 +0200 +++ b/Framework/Volumes/ImageBuffer3D.h Thu May 16 16:01:36 2019 +0200 @@ -35,6 +35,8 @@ { private: CoordinateSystem3D axialGeometry_; + CoordinateSystem3D coronalGeometry_; + CoordinateSystem3D sagittalGeometry_; Vector voxelDimensions_; Orthanc::Image image_; Orthanc::PixelFormat format_; @@ -45,6 +47,10 @@ bool hasRange_; float minValue_; float maxValue_; + Matrix transform_; + Matrix transformInverse_; + + void UpdateGeometry(); void ExtendImageRange(const Orthanc::ImageAccessor& slice); @@ -86,6 +92,16 @@ return axialGeometry_; } + const CoordinateSystem3D& GetCoronalGeometry() const + { + return coronalGeometry_; + } + + const CoordinateSystem3D& GetSagittalGeometry() const + { + return sagittalGeometry_; + } + void SetVoxelDimensions(double x, double y, double z); @@ -121,6 +137,7 @@ return format_; } + // TODO - Remove ParallelSlices* GetGeometry(VolumeProjection projection) const; uint64_t GetEstimatedMemorySize() const; @@ -166,6 +183,9 @@ float y, float z) const; + bool DetectProjection(VolumeProjection& projection, + const CoordinateSystem3D& plane) const; + class SliceReader : public boost::noncopyable {