From 01e94c82d907b8d6aa155affc01160396e794b31 Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Tue, 22 Apr 2014 14:16:06 +0000 Subject: Add mxarray/link functionality for 3d volumes --- include/astra/Float32ProjectionData3DMemory.h | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) (limited to 'include/astra/Float32ProjectionData3DMemory.h') diff --git a/include/astra/Float32ProjectionData3DMemory.h b/include/astra/Float32ProjectionData3DMemory.h index 8b61d45..fb54425 100644 --- a/include/astra/Float32ProjectionData3DMemory.h +++ b/include/astra/Float32ProjectionData3DMemory.h @@ -98,6 +98,19 @@ public: */ CFloat32ProjectionData3DMemory(CProjectionGeometry3D* _pGeometry, float32 _fScalar); + /** Constructor. Create an instance of the CFloat32ProjectionData3DMemory class with pre-allocated memory. + * + * Creates an instance of the CFloat32ProjectionData3DMemory class. Memory + * is pre-allocated and passed via the abstract CFloat32CustomMemory handle + * class. The handle will be deleted when the memory can be freed. + * You should override the destructor to provide custom behaviour on free. + * + * @param _pGeometry Projection Geometry object. This object will be HARDCOPIED into this class. + * @param _pCustomMemory custom memory handle + * + */ + CFloat32ProjectionData3DMemory(CProjectionGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory); + /** * Destructor. */ @@ -140,6 +153,20 @@ public: */ bool initialize(CProjectionGeometry3D* _pGeometry, const float32* _pfData); + /** Initialization. Initializes an instance of the CFloat32ProjectionData3DMemory class with pre-allocated memory. + * + * Memory is pre-allocated and passed via the abstract CFloat32CustomMemory handle + * class. The handle will be deleted when the memory can be freed. + * You should override the destructor to provide custom behaviour on free. + * + * @param _pGeometry Projection Geometry object. This object will be HARDCOPIED into this class. + * @param _pCustomMemory custom memory handle + * + */ + bool initialize(CProjectionGeometry3D* _pGeometry, CFloat32CustomMemory* _pCustomMemory); + + + /** Fetch a COPY of a projection of the data. Note that if you update the 2D data slice, the data in the * 3D data object will remain unaltered. To copy the data back in the 3D-volume you must return the data by calling 'returnProjection'. * -- cgit v1.2.3