Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes

cmtk::ReformatVolume Class Reference
[cmtkRegistration Library]

Utility class for reformatting volume data. More...

#include <cmtkReformatVolume.h>

Collaboration diagram for cmtk::ReformatVolume:
Collaboration graph
[legend]

List of all members.

Classes

class  GetTransformedReferenceTP
class  Jacobian
 Function class for reformating of a Jacobian map. More...
class  Plain
 Function class for plain reformating. More...

Public Types

enum  AveragingMode { MODE_MEAN, MODE_MEDIAN, MODE_ROBUST90 }
 

Constants for transformation field mode.

More...
enum  Mode { REFORMAT_PLAIN, REFORMAT_JACOBIAN }
 

Constants for extended reformatting mode.

More...
typedef ReformatVolume Self
 This class.
typedef SmartPointer< SelfSmartPtr
 Smart pointer to this class.

Public Member Functions

 cmtkGetSetMacroDefault (float, LowerThresholdReference, FLT_MIN)
 Threshold for the reference image.
 cmtkGetSetMacroDefault (float, LowerThresholdFloating, FLT_MIN)
 Threshold for the floating image.
 cmtkGetSetMacroDefault (float, UpperThresholdReference, FLT_MAX)
 Threshold for the reference image.
 cmtkGetSetMacroDefault (float, UpperThresholdFloating, FLT_MAX)
 Threshold for the floating image.
 cmtkGetSetMacroDefault (bool, UsePaddingValue, true)
 Flag whether the PADDING value is defined by client.
 cmtkGetSetMacro (Types::DataItem, PaddingValue)
 PADDING value as defined by client.
 ReformatVolume ()
 Default constructor.
void SetInterpolation (const cmtk::Interpolators::InterpolationEnum interpolation)
 Set interpolation mode.
UniformVolumeInterpolatorBase::SmartPtr CreateInterpolator (const UniformVolume::SmartConstPtr &volume)
 Create interpolator object for given volume according to interpolation mode set in this object.
void SetUserDataType (const ScalarDataType dataType)
 Set user-defined data type.
void SetReferenceVolume (const UniformVolume::SmartConstPtr &referenceVolume)
 Set the reference volume for reformatting.
void SetFloatingVolume (const UniformVolume::SmartConstPtr &floatingVolume)
 Set the floating (transformed) volume for reformatting.
void SetAffineXform (const AffineXform::SmartPtr &affineXform)
 Set affine transformation to be applied to the floating volume.
void SetWarpXform (const WarpXform::SmartPtr &warpXform)
 Set the local deformation to be applied to the reference grid.
const UniformVolume::SmartPtr PlainReformat ()
 Plain reformatting.
TypedArray::SmartPtr PlainReformat (const int plane, TypedArray::SmartPtr &target=TypedArray::SmartPtr::Null, const size_t targetOffset=0)
 Plain reformatting of a single plane.
UniformVolumeGetTransformedReference (const std::vector< SplineWarpXform::SmartPtr > *xformList, std::vector< UniformVolume::SmartPtr > *volumeList, Types::Coordinate *const volumeOffset=NULL, const bool includeReferenceData=true)
 Apply forward warp transformation to reference volume.
UniformVolumeGetTransformedReference (Types::Coordinate *const volumeOffset=NULL)
 Apply forward warp transformation to reference volume.
UniformVolumeGetTransformedReferenceJacobianAvg (const std::vector< SplineWarpXform::SmartPtr > *xformList, Types::Coordinate *const volumeOffset=NULL, const bool includeReferenceData=true)
 Average Jacobians into deformed reference coordinate system.

Static Public Member Functions

static
UniformVolumeInterpolatorBase::SmartPtr 
CreateInterpolator (const cmtk::Interpolators::InterpolationEnum interpolation, const UniformVolume::SmartConstPtr &volume)
 Create interpolator object for given volume according to interpolation mode set in this object.
template<class TInterpolator , class Fct >
static TypedArray::SmartPtr ReformatMasked (const UniformVolume *target, const cmtk::XformList &targetToRef, const cmtk::XformList &refToFloat, Fct &fct, const UniformVolume *floating=NULL, TInterpolator &interpolator=TInterpolator::Null)
 Complex reformat using target data as the mask.
template<class TInterpolator , class Fct >
static TypedArray::SmartPtr ReformatUnmasked (const UniformVolume *target, const cmtk::XformList &targetToRef, const cmtk::XformList &refToFloat, Fct &fct, const UniformVolume *floating=NULL, TInterpolator &interpolator=TInterpolator::Null)
 Complex reformat without mask.

Private Member Functions

const UniformVolume::SmartPtr MakeTargetVolume () const
 Make target volume matching (reoriented) reference volume.
UniformVolumeCreateTransformedReference (Types::Coordinate *const bbFrom, Types::Coordinate *const delta, Types::Coordinate *const volumeOffset=NULL)
 Create uniform volume with correct dimensions for reformatted reference.

Static Private Member Functions

static CMTK_THREAD_RETURN_TYPE GetTransformedReferenceGrey (void *const arg)
 Apply forward warp transformation to grey-level reference volume.
static CMTK_THREAD_RETURN_TYPE GetTransformedReferenceGreyAvg (void *const arg)
 Apply forward warp transformation to average grey-level reference volume.
static CMTK_THREAD_RETURN_TYPE GetTransformedReferenceLabel (void *const arg)
 Apply forward warp transformation to label reference volume.
static CMTK_THREAD_RETURN_TYPE GetTransformedReferenceJacobianAvgThread (void *const arg)
 Thread function: average Jacobians into deformed reference system.

Private Attributes

cmtk::Interpolators::InterpolationEnum Interpolation
 Interpolation mode.
ScalarDataType m_UserDataType
 User-selected data type for reformatted data.
UniformVolume::SmartConstPtr ReferenceVolume
 Pointer to the reference volume.
UniformVolume::SmartConstPtr FloatingVolume
 Pointer to the floating volume.
AffineXform::SmartConstPtr m_AffineXform
 Pointer to the affine transformation of the floating volume.
WarpXform::SmartConstPtr m_WarpXform
 Pointer to the local deformation of the reference grid.

Detailed Description

Utility class for reformatting volume data.

This class takes two volume data sets, and affine and an (optional) local deformation. It provides member functions to reformat from one of the images a slice plane corresponding exactly to one of the original planes from the respective other images. The class provides optional checkerboard filling of areas with no valid original image data present.

Definition at line 76 of file cmtkReformatVolume.h.


Member Typedef Documentation

This class.

Definition at line 80 of file cmtkReformatVolume.h.

Smart pointer to this class.

Definition at line 83 of file cmtkReformatVolume.h.


Member Enumeration Documentation

Constants for transformation field mode.

Enumerator:
MODE_MEAN 
MODE_MEDIAN 
MODE_ROBUST90 

Definition at line 150 of file cmtkReformatVolume.h.

Constants for extended reformatting mode.

Enumerator:
REFORMAT_PLAIN 
REFORMAT_JACOBIAN 

Definition at line 178 of file cmtkReformatVolume.h.


Member Function Documentation

cmtk::ReformatVolume::cmtkGetSetMacro ( Types::DataItem  ,
PaddingValue   
)

PADDING value as defined by client.

cmtk::ReformatVolume::cmtkGetSetMacroDefault ( float  ,
LowerThresholdFloating  ,
FLT_MIN   
)

Threshold for the floating image.

cmtk::ReformatVolume::cmtkGetSetMacroDefault ( float  ,
UpperThresholdFloating  ,
FLT_MAX   
)

Threshold for the floating image.

cmtk::ReformatVolume::cmtkGetSetMacroDefault ( bool  ,
UsePaddingValue  ,
true   
)

Flag whether the PADDING value is defined by client.

cmtk::ReformatVolume::cmtkGetSetMacroDefault ( float  ,
LowerThresholdReference  ,
FLT_MIN   
)

Threshold for the reference image.

cmtk::ReformatVolume::cmtkGetSetMacroDefault ( float  ,
UpperThresholdReference  ,
FLT_MAX   
)

Threshold for the reference image.

void cmtk::ReformatVolume::SetInterpolation ( const cmtk::Interpolators::InterpolationEnum  interpolation ) [inline]
void cmtk::ReformatVolume::SetUserDataType ( const ScalarDataType  dataType ) [inline]

Set user-defined data type.

Definition at line 121 of file cmtkReformatVolume.h.


Member Data Documentation

Pointer to the floating volume.

Definition at line 271 of file cmtkReformatVolume.h.

Referenced by PlainReformat().

Interpolation mode.

Definition at line 262 of file cmtkReformatVolume.h.

Referenced by ReformatVolume().

Pointer to the affine transformation of the floating volume.

Definition at line 277 of file cmtkReformatVolume.h.

Referenced by PlainReformat(), and SetAffineXform().

User-selected data type for reformatted data.

Definition at line 265 of file cmtkReformatVolume.h.

Pointer to the local deformation of the reference grid.

Definition at line 280 of file cmtkReformatVolume.h.

Referenced by PlainReformat(), and SetWarpXform().

Pointer to the reference volume.

Definition at line 268 of file cmtkReformatVolume.h.

Referenced by GetTransformedReferenceLabel(), MakeTargetVolume(), and PlainReformat().


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines