Public Types | Public Member Functions | Protected Member Functions | List of all members
mirtk::DisplacementToVelocityFieldBCH< VoxelType > Class Template Reference

#include <DisplacementToVelocityFieldBCH.h>

Inheritance diagram for mirtk::DisplacementToVelocityFieldBCH< VoxelType >:
Inheritance graph
Collaboration diagram for mirtk::DisplacementToVelocityFieldBCH< VoxelType >:
Collaboration graph

Public Types

typedef VelocityToDisplacementField< VoxelTypeExponentialFilterType
 Type of exponential filter.
 
typedef GenericImage< VoxelTypeImageType
 Type of internal images.
 
- Public Types inherited from mirtk::ImageToImage< VoxelType >
typedef GenericImage< VoxelTypeImageType
 Input/output image type.
 
typedef VoxelType VoxelType
 Input/output image voxel type.
 

Public Member Functions

 DisplacementToVelocityFieldBCH ()
 Constructor.
 
void ExponentialFilter (ExponentialFilterType *)
 Set image filter for computation of exponential map of inverse velocities.
 
void NumberOfSteps (int)
 Set number of integration steps.
 
int NumberOfSteps ()
 Get number of integration steps.
 
virtual void Run ()
 Compute output = log(input)
 
void UpperIntegrationLimit (double)
 Set upper integration limit of exponential filter.
 
double UpperIntegrationLimit ()
 Get upper integration limit of exponential filter.
 
virtual ~DisplacementToVelocityFieldBCH ()
 Destructor.
 
- Public Member Functions inherited from mirtk::DisplacementToVelocityField< VoxelType >
virtual ~DisplacementToVelocityField ()
 Destructor.
 
- Public Member Functions inherited from mirtk::ImageToImage< VoxelType >
 ImageToImage ()
 Constructor.
 
virtual bool RequiresBuffering () const
 
virtual double Run (int, int, int, int=0)
 Run filter on single voxel.
 
virtual ~ImageToImage ()
 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

virtual void Finalize ()
 Finalize filter.
 
virtual void Initialize ()
 Initialize filter.
 
- Protected Member Functions inherited from mirtk::DisplacementToVelocityField< VoxelType >
 DisplacementToVelocityField ()
 Constructor.
 
- Protected Member Functions inherited from mirtk::ImageToImage< VoxelType >
void Initialize (bool)
 
 mirtkAggregateMacro (ImageType, Buffer)
 Buffer.
 
 mirtkPublicAggregateMacro (const ImageType, Input)
 Input image for filter.
 
 mirtkPublicAggregateMacro (ImageType, Output)
 Output image for filter.
 
- Protected Member Functions inherited from mirtk::Object
template<typename... Args>
void Throw (ErrorType err, const char *func, Args... args) const
 

Additional Inherited Members

- 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 VoxelType>
class mirtk::DisplacementToVelocityFieldBCH< VoxelType >

Computes a stationary velocity field from a given displacement field.

This class implements an image filter which computes the group logarithm of a (diffeomorphic) displacement field using the Baker-Campbell-Hausdorff (BCH) formula. The result is a stationary velocity field. Integrating this velocity field from 0 to _T, e.g., using N forward Euler integration steps or the scaling and squaring (SS) method, yields the original displacement field (with an approximation error).

M. Bossa and S. Olmos, "A new algorithm for the computation of the group logarithm of diffeomorphisms", MFCA'08

Definition at line 45 of file DisplacementToVelocityFieldBCH.h.


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