Main Page | Namespace List | Class Hierarchy | Class List | Directories | File List | Namespace Members | Class Members

mitkCoherentVolume Class Reference

mitkCoherentVolume - a volume data class optimized for random access using blocks More...

#include <mitkCoherentVolume.h>

Inherits mitkDataObject.

Inheritance diagram for mitkCoherentVolume:

Inheritance graph
[legend]
Collaboration diagram for mitkCoherentVolume:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual void Initialize ()
virtual int GetDataObjectType () const
virtual unsigned long long GetActualMemorySize () const
virtual void ShallowCopy (mitkDataObject *src)
virtual void DeepCopy (mitkDataObject *src)
void SetBlockSize (const int bs[3])
void GetBlcokSize (int bs[3])
void SetDimensions (const int dims[3])
void GetDimensions (int dims[3]) const
void SetSpacings (const float s[3])
void GetSpacings (float s[3]) const
void GetBlockNum (int bn[3])
int GetDataTypeSize () const
void SetDataType (int data_type)
int GetDataType () const
void AllocateBlocks ()
void SetBlockSlice (void *sliceData, int sliceID, int dimz=-1)
void SetData (void *data)
void SetICVolume (mitkICVolume *icv)
float GetValue (int x, int y, int z)
void GetMinMaxValue (double &minValue, double &maxValue)

Detailed Description

mitkCoherentVolume - a volume data class optimized for random access using blocks

mitkCoherentVolume encapsulates a blocked volume data structure Call SetDimensions, SetSpacings, SetDataType, before you call AllocateBlocks There are three methods to fill contents into this structure Call SetData if you have the sequentially stored data as a whole block Call SetBlockSlice if you want to set the data content using a block slice as the unit. A block slice is part of the whole volume with the thickness equal to the z-dimension of a block. Call SetICVolume if you have an allocated ICVolume and just want to have it converted Use GetValue to access the data value at a given position


Member Function Documentation

void mitkCoherentVolume::AllocateBlocks  ) 
 

Allocate space for the blocks

virtual void mitkCoherentVolume::DeepCopy mitkDataObject src  )  [inline, virtual]
 

Warning:
Internal function. Don't call it directly.

Implements mitkDataObject.

virtual unsigned long long mitkCoherentVolume::GetActualMemorySize  )  const [virtual]
 

Return the actual memory size occupied by the volume data. The unit is BYTE.

Returns:
Return the actual memory size occupied by this volume. The unit is BYTE.

Implements mitkDataObject.

void mitkCoherentVolume::GetBlcokSize int  bs[3]  )  [inline]
 

Get the size of the blocks used for storage.

Parameters:
bs[0] Return the block size in x direction
bs[1] Return the block size in y direction
bs[2] Return the block size in z direction

void mitkCoherentVolume::GetBlockNum int  bn[3]  )  [inline]
 

Get the number of blocks in x, y, z direction of this volume.

Parameters:
bn[0] Return the number of blocks in x axis.
bn[1] Return the number of blocks in y axis.
bn[2] Return the number of blocks in z axis.

virtual int mitkCoherentVolume::GetDataObjectType  )  const [inline, virtual]
 

Return the data object type.

Returns:
Always return MITK_COHERENT_VOLUME

Reimplemented from mitkDataObject.

int mitkCoherentVolume::GetDataType  )  const [inline]
 

Get data type of this volume. MITK supports various data type.

Returns:
All of the return values and their meaning are shown as follows:
MITK_CHAR The data type is char
MITK_UNSIGNED_CHAR The data type is unsigned char
MITK_SHORT The data type is short
MITK_UNSIGNED_SHORT The data type is unsigned short
MITK_INT The data type is int
MITK_UNSIGNED_INT The data type is unsigned int
MITK_LONG The data type is long
MITK_UNSIGNED_LONG The data type is unsigned long
MITK_FLOAT The data type is float
MITK_DOUBLE The data type is double

int mitkCoherentVolume::GetDataTypeSize  )  const [inline]
 

Get the size of the data type in bytes.

Returns:
Return the size of the data type in bytes.

void mitkCoherentVolume::GetDimensions int  dims[3]  )  const [inline]
 

Get dimension in x, y, z direction of this volume.

Parameters:
dims[0] Return the dimension in x direction.
dims[1] Return the dimension in y direction.
dims[2] Return the dimension in z direction.

void mitkCoherentVolume::GetMinMaxValue double &  minValue,
double &  maxValue
 

Get the minimum and maximum data value of all the volume data.

Parameters:
minValue return the minimum data value
maxValue return the maximum data value

void mitkCoherentVolume::GetSpacings float  s[3]  )  const [inline]
 

Get spacing information in x, y and z axis, the unit is mm.

Parameters:
s[0] Return the spacing (mm) in two adjacent voxels in x axis.
s[1] Return the spacing (mm) in two adjacent voxels in y axis.
s[2] Return the spacing (mm) in two adjacent voxels in z axis.

float mitkCoherentVolume::GetValue int  x,
int  y,
int  z
 

Get value at a given posistion

Parameters:
x the x-coordinate of the voxel in the volume space (in [0, GetWidth()-1])
y the y-coordinate of the voxel in the volume space (in [0, GetHeight()-1])
z the y-coordinate of the voxel in the volume space (in [0, GetImageNum()-1])
Returns:
Return the value at the given posistion

virtual void mitkCoherentVolume::Initialize  )  [virtual]
 

Delete the allocated memory (if any) and initialize to default status.

Implements mitkDataObject.

void mitkCoherentVolume::SetBlockSize const int  bs[3]  )  [inline]
 

Set the size of the blocks used for storage. Not required to call, but call it before anything else.

Parameters:
bs[0] the block size in x direction
bs[1] the block size in y direction
bs[2] the block size in z direction

void mitkCoherentVolume::SetBlockSlice void *  sliceData,
int  sliceID,
int  dimz = -1
 

Fill in a slice of the blocks in the data structure

Parameters:
sliceData Pointer to the sequentially stored data
sliceID Slice ID of the slice of blocks to be filled in. (0~m_BlockNum[2]-1)
dimz The number of the slices of voxels in sliceData. (1~m_BlockSize[2])

void mitkCoherentVolume::SetData void *  data  ) 
 

Fill in the whole volume of the data structure

Parameters:
data Pointer to the sequentially stored data

void mitkCoherentVolume::SetDataType int  data_type  ) 
 

Set data type of this volume. MITK supports various data type.

Parameters:
data_type Its valid value and meaning is shown as follows:
MITK_CHAR The data type is char
MITK_UNSIGNED_CHAR The data type is unsigned char
MITK_SHORT The data type is short
MITK_UNSIGNED_SHORT The data type is unsigned short
MITK_INT The data type is int
MITK_UNSIGNED_INT The data type is unsigned int
MITK_LONG The data type is long
MITK_UNSIGNED_LONG The data type is unsigned long
MITK_FLOAT The data type is float
MITK_DOUBLE The data type is double

void mitkCoherentVolume::SetDimensions const int  dims[3]  )  [inline]
 

Set dimension in x, y, z direction of this volume.

Parameters:
dims[0] the dimension in x direction
dims[1] the dimension in y direction
dims[2] the dimension in z direction

void mitkCoherentVolume::SetICVolume mitkICVolume icv  ) 
 

Setup the coherent volume object using an allocated ICVolume object icv Pointer to the ICVolume object.

void mitkCoherentVolume::SetSpacings const float  s[3]  )  [inline]
 

Set spacing information in x, y and z axis, the unit is mm.

Parameters:
s[0] the spacing (mm) in two adjacent voxels in x axis.
s[1] the spacing (mm) in two adjacent voxels in y axis.
s[2] the spacing (mm) in two adjacent voxels in z axis.

virtual void mitkCoherentVolume::ShallowCopy mitkDataObject src  )  [inline, virtual]
 

Warning:
Internal function. Don't call it directly.

Implements mitkDataObject.


The documentation for this class was generated from the following file:
Generated on Tue Feb 25 15:01:23 2014 for MITK (Medical Imaging ToolKit) by  doxygen 1.4.3