Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
mirtk::GenericImage< TVoxel > Class Template Reference

#include <GenericImage.h>

Inheritance diagram for mirtk::GenericImage< TVoxel >:
Inheritance graph
Collaboration diagram for mirtk::GenericImage< TVoxel >:
Collaboration graph

Public Types

typedef voxel_info< ScalarType >::RealType RealScalarType
 Floating point type corresponding to scalar type of voxel type.
 
typedef voxel_info< VoxelType >::RealType RealType
 
typedef voxel_info< VoxelType >::ScalarType ScalarType
 Scalar type corresponding to voxel type.
 
typedef TVoxel VoxelType
 Voxel type.
 
- Public Types inherited from mirtk::BaseImage
enum  OrientationCode { ,
  L2R = 1, R2L = 2, P2A = 3, A2P = 4,
  I2S = 5, S2I = 6
}
 Orientation codes (same as defined in nifti1_io.h, e.g., NIFTI_L2R) More...
 
typedef double VoxelType
 

Public Member Functions

void Clear ()
 Clear an image.
 
virtual BaseImageCopy () const
 Create copy of this image.
 
void CopyFrom (const VoxelType *)
 Copy image data from 1D array.
 
void CopyFrom (const BaseImage &)
 Copy image data from other image of same size.
 
void CopyFrom (const GenericImage &)
 Copy image data from other image of same size.
 
bool CropPad (int margin=0)
 Crop/pad image background.
 
VoxelTypeData (int=0)
 Get raw pointer to contiguous image data.
 
VoxelTypeData (int, int, int=0, int=0)
 Get raw pointer to contiguous image data.
 
const VoxelTypeData (int=0) const
 Get raw pointer to contiguous image data.
 
const VoxelTypeData (int, int, int=0, int=0) const
 Get raw pointer to contiguous image data.
 
virtual void FlipXT (bool modify_origin=false)
 Flip x and t axis, always also swaps voxel size.
 
virtual void FlipXY (bool modify_origin=false)
 Flip x and y axis, always also swaps voxel size.
 
virtual void FlipXZ (bool modify_origin=false)
 Flip x and z axis, always also swaps voxel size.
 
virtual void FlipYT (bool modify_origin=false)
 Flip y and t axis, always also swaps voxel size.
 
virtual void FlipYZ (bool modify_origin=false)
 Flip y and z axis, always also swaps voxel size.
 
virtual void FlipZT (bool modify_origin=false)
 Flip z and t axis, always also swaps voxel size.
 
 GenericImage ()
 Default constructor.
 
 GenericImage (const char *)
 Constructor from image file.
 
 GenericImage (int, int, int=1, int=1, VoxelType *data=NULL)
 Constructor for given image size.
 
 GenericImage (int, int, int, int, int, VoxelType *data=NULL)
 Constructor for given image size.
 
 GenericImage (const ImageAttributes &, VoxelType *data=NULL)
 Constructor for given image attributes.
 
 GenericImage (const ImageAttributes &, int, VoxelType *data=NULL)
 Constructor for given image attributes.
 
 GenericImage (const BaseImage &)
 Copy constructor for image.
 
 GenericImage (const GenericImage &)
 Copy constructor for image.
 
template<class TVoxel2 >
 GenericImage (const GenericImage< TVoxel2 > &)
 Copy constructor for image of different type.
 
VoxelType Get (int) const
 Function for pixel get access.
 
VoxelType Get (int, int, int=0, int=0) const
 Function for pixel get access.
 
virtual double GetAsDouble (int) const
 Function for pixel get access as double.
 
virtual double GetAsDouble (int, int, int=0, int=0) const
 Function for pixel get access as double.
 
virtual void GetAsVector (Vector &, int) const
 Function for pixel get access as double.
 
virtual void GetAsVector (Vector &, int, int, int=0, int=0) const
 Function for pixel get access as double.
 
virtual Vector GetAsVector (int) const
 Function for pixel get access as double.
 
virtual Vector GetAsVector (int, int, int=0, int=0) const
 Function for pixel get access as double.
 
RealType GetAverage (int=1) const
 
virtual void * GetDataPointer (int=0)
 Get raw pointer to contiguous image data.
 
virtual const void * GetDataPointer (int=0) const
 Get raw pointer to contiguous image data.
 
virtual void * GetDataPointer (int, int, int=0, int=0)
 Get raw pointer to contiguous image data.
 
virtual const void * GetDataPointer (int, int, int=0, int=0) const
 Get raw pointer to contiguous image data.
 
virtual int GetDataType () const
 Get enumeration value corresponding to voxel type.
 
virtual double GetDataTypeMax () const
 Maximum value a pixel can hold without overflowing.
 
virtual double GetDataTypeMin () const
 Minimum value a pixel can hold without overflowing.
 
virtual int GetDataTypeSize () const
 Get size of each voxel in bytes.
 
GenericImage GetFrame (int, int=-1) const
 Get time instance (i.e., frame) or channel of image.
 
void GetFrame (GenericImage &, int, int=-1) const
 Get time instance (i.e., frame) or channel of image.
 
virtual void GetFrame (BaseImage *&, int, int=-1) const
 Get time instance (i.e., frame) or channel of image.
 
void GetMaxPosition (Point &, int=1, int=0) const
 Get Max Intensity position around the point.
 
void GetMinMax (VoxelType &, VoxelType &) const
 Minimum and maximum pixel values get accessor.
 
void GetMinMax (VoxelType &, VoxelType &, VoxelType) const
 Minimum and maximum pixel values get accessor with padding.
 
void GetMinMax (VoxelType *, VoxelType *) const
 
void GetMinMax (VoxelType *, VoxelType *, VoxelType) const
 
void GetMinMaxPad (VoxelType *, VoxelType *, VoxelType) const
 
VoxelTypeGetPointerToVoxels (int=0, int=0, int=0, int=0)
 
const VoxelTypeGetPointerToVoxels (int=0, int=0, int=0, int=0) const
 
GenericImage GetRegion (int, int) const
 Get image consisting of specified 2D slice.
 
void GetRegion (GenericImage &, int, int) const
 Get image consisting of specified 2D slice.
 
virtual void GetRegion (BaseImage *&, int, int) const
 Get image consisting of specified 2D slice.
 
GenericImage GetRegion (int, int, int, int, int, int) const
 Get image consisting of specified 3D subregion.
 
void GetRegion (GenericImage &, int, int, int, int, int, int) const
 Get image consisting of specified 3D subregion.
 
virtual void GetRegion (BaseImage *&, int, int, int, int, int, int) const
 Get image consisting of specified 3D subregion.
 
GenericImage GetRegion (int, int, int, int, int, int, int, int) const
 Get image consisting of specified 4D subregion.
 
void GetRegion (GenericImage &, int, int, int, int, int, int, int, int) const
 Get image consisting of specified 4D subregion.
 
virtual void GetRegion (BaseImage *&, int, int, int, int, int, int, int, int) const
 Get image consisting of specified 4D subregion.
 
RealType GetSD (int=1) const
 Standard Deviation of the pixels.
 
void GravityCenter (Point &, int=1, int=0) const
 Get Gravity center position of a given window.
 
virtual void Initialize ()
 Initialize a previously allocated image.
 
virtual void Initialize (const ImageAttributes &, int, VoxelType *data)
 Initialize an image.
 
void Initialize (const ImageAttributes &, int)
 Initialize an image.
 
void Initialize (const ImageAttributes &, VoxelType *data=NULL)
 Initialize an image.
 
void Initialize (int, int, int, int, int, VoxelType *data=NULL)
 Initialize an image.
 
void Initialize (int, int, int=1, int=1, VoxelType *data=NULL)
 Initialize an image.
 
RealType Mean (bool fg=true) const
 
int N () const
 Number of vector components per voxel.
 
 operator bool () const
 Cast to bool, checks if this image has been initialized and ready for use.
 
BinaryImage operator!= (VoxelType) const
 Get binary mask for voxels which are not equal the scalar.
 
VoxelTypeoperator() (int)
 Function for pixel access from via operators.
 
const VoxelTypeoperator() (int) const
 Function for pixel access from via operators.
 
VoxelTypeoperator() (int, int, int=0, int=0)
 Function for pixel access from via operators.
 
const VoxelTypeoperator() (int, int, int=0, int=0) const
 Function for pixel access from via operators.
 
GenericImage operator* (const GenericImage &) const
 Multiply images voxel-wise.
 
GenericImage operator* (double) const
 Multiply image by scalar.
 
GenericImageoperator*= (const GenericImage &)
 Multipy voxels.
 
GenericImageoperator*= (double)
 Multiply by scalar.
 
GenericImage operator+ (const GenericImage &) const
 Add images.
 
GenericImage operator+ (double) const
 Add scalar to image.
 
GenericImageoperator+= (const GenericImage &)
 Add image.
 
GenericImageoperator+= (double)
 Add scalar.
 
GenericImage operator- (const GenericImage &) const
 Subtract images.
 
GenericImage operator- (double) const
 Subtract scalar from image.
 
GenericImageoperator-= (const GenericImage &)
 Subtract image.
 
GenericImageoperator-= (double)
 Subtract scalar.
 
GenericImage operator/ (const GenericImage &) const
 Divide images voxel-wise.
 
GenericImage operator/ (double) const
 Divide image by scalar.
 
GenericImageoperator/= (const GenericImage &)
 Divide voxels.
 
GenericImageoperator/= (double)
 Divide by scalar.
 
GenericImage operator< (VoxelType) const
 Clamp image given lower threshold.
 
GenericImageoperator<= (VoxelType)
 Clamp image given lower threshold.
 
GenericImageoperator= (VoxelType)
 Assign constant value to each voxel.
 
GenericImage< VoxelType > & operator= (const BaseImage &)
 Assignment operator with implicit cast to double and then VoxelType.
 
GenericImage< VoxelType > & operator= (const GenericImage &)
 Assignment operator.
 
template<class TVoxel2 >
GenericImage< VoxelType > & operator= (const GenericImage< TVoxel2 > &)
 Assignment operator with implicit cast.
 
template<class TVoxel2 >
bool operator== (const GenericImage< TVoxel2 > &) const
 
GenericImage operator> (VoxelType) const
 Clamp image given upper threshold.
 
GenericImageoperator>= (VoxelType)
 Clamp image given upper threshold.
 
void Put (int, VoxelType)
 Function for pixel put access.
 
void Put (int, int, VoxelType)
 Function for pixel put access.
 
void Put (int, int, int, VoxelType)
 Function for pixel put access.
 
void Put (int, int, int, int, VoxelType)
 Function for pixel put access.
 
virtual void PutAsDouble (int, double)
 Function for pixel put access.
 
virtual void PutAsDouble (int, int, double)
 Function for pixel put access.
 
virtual void PutAsDouble (int, int, int, double)
 Function for pixel put access.
 
virtual void PutAsDouble (int, int, int, int, double)
 Function for pixel put access.
 
virtual void PutAsVector (int, const Vector &)
 Function for pixel put access.
 
virtual void PutAsVector (int, int, const Vector &)
 Function for pixel put access.
 
virtual void PutAsVector (int, int, int, const Vector &)
 Function for pixel put access.
 
virtual void PutAsVector (int, int, int, int, const Vector &)
 Function for pixel put access.
 
virtual void PutBackgroundValueAsDouble (double, bool)
 Put background value.
 
void PutMinMax (VoxelType, VoxelType)
 Linearly rescale intensities.
 
virtual void Read (const char *)
 Read image from file.
 
virtual void ReflectT (bool modify_axes=false)
 Reflect image along t.
 
virtual void ReflectX (bool modify_axes=false)
 Reflect image along x.
 
virtual void ReflectY (bool modify_axes=false)
 Reflect image along y.
 
virtual void ReflectZ (bool modify_axes=false)
 Reflect image along z.
 
virtual void SwapXT (bool modify_axes=true)
 Swap x and t axis.
 
virtual void SwapXY (bool modify_axes=true)
 Swap x and y axis.
 
virtual void SwapXZ (bool modify_axes=true)
 Swap x and z axis.
 
virtual void SwapYT (bool modify_axes=true)
 Swap y and t axis.
 
virtual void SwapYZ (bool modify_axes=true)
 Swap y and z axis.
 
virtual void SwapZT (bool modify_axes=true)
 Swap z and t axis.
 
virtual void Write (const char *) const
 Write image to file.
 
 ~GenericImage ()
 Destructor.
 
- Public Member Functions inherited from mirtk::BaseImage
const ImageAttributesAttributes () const
 Gets the image attributes.
 
void BoundingBox (int &, int &, int &, int &) const
 Get 2D bounding box of image foreground.
 
void BoundingBox (int &, int &, int &, int &, int &, int &) const
 Get 3D bounding box of image foreground.
 
void BoundingBox (int &, int &, int &, int &, int &, int &, int &, int &) const
 Get 3D+t bounding box of image foreground.
 
int CenterOfForeground (Point &center) const
 
int CenterOfForeground (Point &center, double padding) const
 
void ClearBackgroundValue ()
 Clear background value.
 
void ClearMask (bool=false)
 Clear mask upon n-th call after n preceeding InitializeMask calls.
 
ImageAttributes ForegroundDomain (int i1, int j1, int k1, int i2, int j2, int k2, bool orthogonal=true) const
 
ImageAttributes ForegroundDomain (bool orthogonal=true) const
 
ImageAttributes ForegroundDomain (double padding, bool orthogonal=true) const
 
VoxelType Get (int) const
 Get pixel value at voxel with given index.
 
VoxelType Get (int, int, int=0, int=0) const
 Get pixel value at voxel with given lattice coordinates.
 
const MatrixGetAffineMatrix () const
 
double GetBackgroundValueAsDouble () const
 Get background value.
 
const ImageAttributesGetImageAttributes () const
 
const MatrixGetImageToWorldMatrix () const
 Return transformation matrix for image to world coordinates.
 
BinaryImageGetMask (bool=false)
 Get foreground mask (optionally, take over ownership)
 
const BinaryImageGetMask () const
 Get foreground mask.
 
virtual void GetMinMaxAsDouble (double &, double &) const
 Minimum and maximum pixel values get accessor.
 
void GetMinMaxAsDouble (double *, double *) const
 Minimum and maximum pixel values get accessor.
 
int GetNumberOfVoxels () const
 
void GetOrientation (double *, double *, double *=NULL) const
 Get image x- and y-axis and z-axis.
 
Point GetOrigin () const
 Image origin get access.
 
void GetOrigin (double &, double &, double &) const
 Image origin get access.
 
void GetOrigin (double &, double &, double &, double &) const
 Image origin get access.
 
void GetPixelSize (double &, double &) const
 Voxel dimensions get access.
 
void GetPixelSize (double &, double &, double &) const
 Voxel dimensions get access.
 
void GetPixelSize (double &, double &, double &, double &) const
 Voxel dimensions get access.
 
void GetPixelSize (double *, double *, double *) const
 Voxel dimensions get access.
 
void GetPixelSize (double *, double *, double *, double *) const
 Voxel dimensions get access.
 
void * GetScalarPointer (int=0, int=0, int=0, int=0)
 
const void * GetScalarPointer (int=0, int=0, int=0, int=0) const
 
int GetScalarType () const
 
double GetScalarTypeMax () const
 
double GetScalarTypeMin () const
 
int GetScalarTypeSize () const
 
int GetT () const
 Returns the number of voxels in the t-direction.
 
double GetTOrigin () const
 Get temporal origin.
 
double GetTSize () const
 Returns the size of a voxel in the t-direction.
 
const MatrixGetWorldToImageMatrix () const
 Return transformation matrix for world to image coordinates.
 
int GetX () const
 Returns the number of voxels in the x-direction.
 
double GetXSize () const
 Returns the size of a voxel in the x-direction.
 
int GetY () const
 Returns the number of voxels in the y-direction.
 
double GetYSize () const
 Returns the size of a voxel in the y-direction.
 
int GetZ () const
 Returns the number of voxels in the z-direction.
 
double GetZSize () const
 Returns the size of a voxel in the z-direction.
 
bool HasBackground () const
 Whether any voxel is within background.
 
bool HasBackgroundValue () const
 Whether a background value has been set.
 
bool HasMask () const
 
bool HasSpatialAttributesOf (const BaseImage *) const
 Checks if this image shares the same spatial attributes with another image.
 
double ImageToTime (double) const
 Image to time coordinate conversion.
 
void ImageToWorld (double &, double &) const
 Image to world coordinate conversion with two doubles.
 
void ImageToWorld (double &, double &, double &) const
 Image to world coordinate conversion with three doubles.
 
void ImageToWorld (Point &) const
 Image to world coordinate conversion with a given point.
 
void ImageToWorld (Vector3 &) const
 Convert vector w.r.t. image axes to vector w.r.t. world axes.
 
void ImageToWorld (WorldCoordsImage &i2w, bool _3D=true) const
 
void ImageToWorld (double *i2w, bool _3D=true) const
 
void ImageToWorld (PointSet &) const
 Adds world coordinates of each voxel to given point set.
 
void IndexToVoxel (int, int &, int &) const
 Function to convert index to pixel coordinates.
 
void IndexToVoxel (int, int &, int &, int &) const
 Function to convert index to pixel coordinates.
 
void IndexToVoxel (int, int &, int &, int &, int &) const
 Function to convert index to pixel coordinates.
 
void IndexToWorld (int, double &, double &) const
 Get world coordinates (in mm) of pixl.
 
void IndexToWorld (int, double &, double &, double &) const
 Get world coordinates (in mm) of pixel.
 
void IndexToWorld (int, Point &) const
 Get world coordinates (in mm) of pixel.
 
Point IndexToWorld (int) const
 Get world coordinates (in mm) of pixel.
 
void InitializeMask (int t=-1, bool=false)
 Initialize mask if not done yet or none is set.
 
bool IsBackground (int) const
 Whether voxel is within background without index-out-of-bounds check.
 
bool IsBackground (int, int, int=0, int=0) const
 Whether voxel is within background without index-out-of-bounds check.
 
bool IsBoundary (int) const
 Whether voxel index is at boundary of finite image domain.
 
bool IsBoundary (int, int) const
 Whether voxel indices are at boundary of finite 2D image domain.
 
bool IsBoundary (int, int, int) const
 Whether voxel indices are at boundary of finite 3D image domain.
 
bool IsBoundary (int, int, int, int) const
 Whether voxel indices are at boundary of finite 4D image domain.
 
bool IsBoundingBoxInsideForeground (int, int, int, int) const
 Whether all voxels within a 2D bounding region are inside foreground region.
 
bool IsBoundingBoxInsideForeground (int, int, int, int, int, int) const
 Whether all voxels within a 3D bounding region are inside foreground region.
 
bool IsBoundingBoxInsideForeground (int, int, int, int, int, int, int, int) const
 Whether all voxels within a 4D bounding region are inside foreground region.
 
bool IsEmpty () const
 Whether image is uninitialized.
 
bool IsForeground (int) const
 Whether voxel is within foreground without index-out-of-bounds check.
 
bool IsForeground (int, int, int=0, int=0) const
 Whether voxel is within foreground without index-out-of-bounds check.
 
bool IsInFOV (double, double, double)
 Returns true if point is within the field of view of image.
 
bool IsInside (int) const
 Whether voxel index is within finite image domain.
 
bool IsInside (int, int) const
 Whether voxel indices are within finite 2D image domain.
 
bool IsInside (int, int, int) const
 Whether voxel indices are within finite 3D image domain.
 
bool IsInside (int, int, int, int) const
 Whether voxel indices are within finite 4D image domain.
 
bool IsInsideForeground (int) const
 Whether voxel is index is within finite image domain and part of foreground region.
 
bool IsInsideForeground (int, int, int=0, int=0) const
 Whether voxel indices are within finite image domain and part of foreground region.
 
bool IsNextToBackground (int) const
 Whether at least one neighboring voxel is outside the finite foreground region.
 
bool IsNextToBackground (int, int, int=0, int=0) const
 Whether at least one neighboring voxel is outside the finite foreground region.
 
bool IsNextToForeground (int) const
 Whether at least one neighboring voxel is inside the finite foreground region.
 
bool IsNextToForeground (int, int, int=0, int=0) const
 Whether at least one neighboring voxel is inside the finite foreground region.
 
bool IsOutside (int) const
 Whether voxel is index is outside finite image domain.
 
bool IsOutside (int, int) const
 Whether voxel indices are outside finite 4D image domain.
 
bool IsOutside (int, int, int) const
 Whether voxel indices are outside finite 4D image domain.
 
bool IsOutside (int, int, int, int) const
 Whether voxel indices are outside finite 4D image domain.
 
bool IsOutsideForeground (int) const
 Whether voxel is index is outside finite image domain or part of background region.
 
bool IsOutsideForeground (int, int, int=0, int=0) const
 Whether voxel indices are outside finite image domain or part of background region.
 
int NumberOfSpatialVoxels () const
 Returns the total number of spatial voxels.
 
int NumberOfVoxels () const
 Returns the total number of voxels.
 
BaseImageoperator= (const BaseImage &)
 Assignment operator.
 
void Orientation (OrientationCode &, OrientationCode &, OrientationCode &) const
 Get orientation of axis relative to patient.
 
bool OwnsMask () const
 
virtual void Print (Indent=0) const
 Print image information.
 
void PutAffineMatrix (const Matrix &, bool=false)
 
void PutBackgroundValueAsDouble (double)
 Put background value.
 
void PutMask (BinaryImage *, bool=false)
 Set foreground mask.
 
virtual void PutMinMaxAsDouble (double, double)
 Minimum and maximum pixel values put accessor.
 
void PutOrientation (double *, double *, double *=NULL)
 Put image x- and y-axis and z-axis.
 
void PutOrigin (const Point &)
 Image origin put access.
 
void PutOrigin (double, double, double)
 Image origin put access.
 
void PutOrigin (double, double, double, double)
 Image origin put access.
 
void PutPixelSize (double, double, double)
 Voxel dimensions put access.
 
void PutPixelSize (double, double, double, double)
 Voxel dimensions put access.
 
void PutTOrigin (double)
 Put temporal origin.
 
void PutTSize (double)
 Set temporal voxel size, i.e., to zero for vector field and non-zero for temporal sequence.
 
void ResetAffineMatrix ()
 
void ResetBackgroundValueAsDouble (double)
 
int T () const
 Returns the number of voxels in the t-direction.
 
double TimeToImage (double) const
 Time to image coordinate conversion.
 
double TSize () const
 Returns the size of a voxel in the t-direction.
 
int VoxelToIndex (int, int, int=0, int=0) const
 Function to convert pixel to index.
 
void WorldToImage (double &, double &) const
 World to image coordinate conversion with two doubles.
 
void WorldToImage (double &, double &, double &) const
 World to image coordinate conversion with three doubles.
 
void WorldToImage (Point &) const
 World to image coordinate conversion with a given point.
 
void WorldToImage (Vector3 &) const
 Convert vector w.r.t. world axes to vector w.r.t. image axes.
 
int X () const
 Returns the number of voxels in the x-direction.
 
double XSize () const
 Returns the size of a voxel in the x-direction.
 
int Y () const
 Returns the number of voxels in the y-direction.
 
double YSize () const
 Returns the size of a voxel in the y-direction.
 
int Z () const
 Returns the number of voxels in the z-direction.
 
double ZSize () const
 Returns the size of a voxel in the z-direction.
 
virtual ~BaseImage ()
 Destructor.
 
- Public Member Functions inherited from mirtk::Object
virtual const char * NameOfClass () const =0
 Get name of class, which this object is an instance of.
 
virtual ParameterList Parameter () const
 Get parameter name/value pairs.
 
bool Parameter (const ParameterList &)
 Set parameters from name/value pairs.
 
virtual bool Set (const char *name, const char *value)
 
virtual ~Object ()
 Destructor.
 

Protected Member Functions

void AllocateImage (VoxelType *=NULL)
 Allocate image memory.
 
- Protected Member Functions inherited from mirtk::BaseImage
 BaseImage ()
 Default constructor.
 
 BaseImage (const ImageAttributes &, int=-1)
 Constructor.
 
 BaseImage (const BaseImage &)
 Copy constructor.
 
void PutAttributes (const ImageAttributes &)
 Puts attributes of image.
 
void UpdateMatrix ()
 Update coordinate transformation.
 
- Protected Member Functions inherited from mirtk::Object
template<typename... Args>
void Throw (ErrorType err, const char *func, Args... args) const
 

Protected Attributes

VoxelType_data
 Pointer to image data.
 
bool _dataOwner
 Whether image data memory itself is owned by this instance.
 
VoxelType **** _matrix
 
- Protected Attributes inherited from mirtk::BaseImage
ImageAttributes _attr
 Image attributes.
 
double _bg
 Background value - may also be NaN for floating point images.
 
bool _bgSet
 Whether a background value was set.
 
BinaryImage_mask
 Foreground mask.
 
int _maskOwner
 
Matrix _matI2W
 Transformation matrix from image coordinates to (transformed) world coordinates.
 
Matrix _matW2I
 Transformation matrix from (transformed) world coordinates to image coordinates.
 
int _NumberOfVoxels
 Total number of voxels.
 

Additional Inherited Members

- Static Public Member Functions inherited from mirtk::BaseImage
static BaseImageNew (const char *)
 Read file and construct image.
 
static BaseImageNew (const BaseImage *)
 Construct image copy of same type.
 
static BaseImageNew (int)
 Construct image with given voxel type.
 
- Static Public Member Functions inherited from mirtk::Object
static const char * NameOfType ()
 Get name of this class type.
 
- Static Protected Member Functions inherited from mirtk::Object
template<typename... Args>
static void ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args)
 

Detailed Description

template<class TVoxel>
class mirtk::GenericImage< TVoxel >

Generic class for 2D or 3D images

This class implements generic 2D and 3D images. It provides functions for accessing, reading, writing and manipulating images. This class can be used for images with arbitrary voxel types using templates.

Definition at line 52 of file BaseImage.h.

Member Typedef Documentation

§ RealType

template<class TVoxel>
typedef voxel_info<VoxelType>::RealType mirtk::GenericImage< TVoxel >::RealType

Floating point type corresponding to voxel type

Note
The VoxelType as well as the RealType may be a matrix/vector type!

Definition at line 56 of file GenericImage.h.

Member Function Documentation

§ GetAverage()

template<class TVoxel>
RealType mirtk::GenericImage< TVoxel >::GetAverage ( int  = 1) const

Average pixel values get accessor

Deprecated:
Use Mean instead.

§ GetMinMax() [1/2]

template<class VoxelType >
void mirtk::GenericImage< VoxelType >::GetMinMax ( VoxelType min,
VoxelType max 
) const
inline

Minimum and maximum pixel values get accessor

Deprecated:
Use respective overloaded method of GetMinMax instead.

Definition at line 828 of file GenericImage.h.

§ GetMinMax() [2/2]

template<class VoxelType >
void mirtk::GenericImage< VoxelType >::GetMinMax ( VoxelType min,
VoxelType max,
VoxelType  pad 
) const
inline

Minimum and maximum pixel values get accessor with padding

Deprecated:
Use respective overloaded method of GetMinMax instead.

Definition at line 835 of file GenericImage.h.

§ GetMinMaxPad()

template<class VoxelType >
void mirtk::GenericImage< VoxelType >::GetMinMaxPad ( VoxelType min,
VoxelType max,
VoxelType  pad 
) const
inline

Minimum and maximum pixel values get accessor with padding

Deprecated:
Use respective overloaded method of GetMinMax instead.

Definition at line 842 of file GenericImage.h.

§ GetPointerToVoxels() [1/2]

template<class VoxelType >
VoxelType * mirtk::GenericImage< VoxelType >::GetPointerToVoxels ( int  x = 0,
int  y = 0,
int  z = 0,
int  t = 0 
)
inline
Returns
Raw pointer to contiguous image data.
Deprecated:
Use Data instead.

Definition at line 849 of file GenericImage.h.

§ GetPointerToVoxels() [2/2]

template<class VoxelType >
const VoxelType * mirtk::GenericImage< VoxelType >::GetPointerToVoxels ( int  x = 0,
int  y = 0,
int  z = 0,
int  t = 0 
) const
inline
Returns
Raw pointer to contiguous image data.
Deprecated:
Use Data instead.

Definition at line 856 of file GenericImage.h.

§ Mean()

template<class TVoxel>
RealType mirtk::GenericImage< TVoxel >::Mean ( bool  fg = true) const

Mean pixel value

Parameters
[in]fgCalculate mean of foreground only.

§ operator==()

template<class TVoxel>
template<class TVoxel2 >
bool mirtk::GenericImage< TVoxel >::operator== ( const GenericImage< TVoxel2 > &  ) const

Equality operator

Note
Use explicit negation for inequality comparison. The overloaded != operator is used for binarization of the image.

Member Data Documentation

§ _matrix

template<class TVoxel>
VoxelType**** mirtk::GenericImage< TVoxel >::_matrix
protected

Pointer array for access to image data

Note
The image data is stored in a contiguous memory block which can be alternatively referred to as 1D data array using _data.

Definition at line 73 of file GenericImage.h.


The documentation for this class was generated from the following files: