Utility class for reformatting volume data. More...
#include <cmtkReformatVolume.h>
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< Self > | SmartPtr |
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. | |
UniformVolume * | GetTransformedReference (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. | |
UniformVolume * | GetTransformedReference (Types::Coordinate *const volumeOffset=NULL) |
Apply forward warp transformation to reference volume. | |
UniformVolume * | GetTransformedReferenceJacobianAvg (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. | |
UniformVolume * | CreateTransformedReference (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. |
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.
This class.
Definition at line 80 of file cmtkReformatVolume.h.
Smart pointer to this class.
Definition at line 83 of file cmtkReformatVolume.h.
Constants for transformation field mode.
Definition at line 150 of file cmtkReformatVolume.h.
Constants for extended reformatting mode.
Definition at line 178 of file cmtkReformatVolume.h.
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] |
Set interpolation mode.
Definition at line 109 of file cmtkReformatVolume.h.
Referenced by cmtk::ImagePairNonrigidRegistration::GetReformattedFloatingImage(), cmtk::ImagePairAffineRegistration::GetReformattedFloatingImage(), cmtk::ElasticRegistration::GetReformattedFloatingImage(), cmtk::AffineRegistration::GetReformattedFloatingImage(), cmtk::GroupwiseRegistrationFunctionalBase::GetReformattedImage(), cmtk::AtlasSegmentation::ReformatLabels(), and cmtk::GroupwiseRegistrationOutput::WriteAverageImage().
void cmtk::ReformatVolume::SetUserDataType | ( | const ScalarDataType | dataType ) | [inline] |
Set user-defined data type.
Definition at line 121 of file cmtkReformatVolume.h.
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().