#include <DisplacementToVelocityFieldBCH.h>
Public Types | |
typedef VelocityToDisplacementField< VoxelType > | ExponentialFilterType |
Type of exponential filter. | |
typedef GenericImage< VoxelType > | ImageType |
Type of internal images. | |
Public Types inherited from mirtk::ImageToImage< VoxelType > | |
typedef GenericImage< VoxelType > | ImageType |
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) |
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.