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