#include <DisplacementToVelocityFieldBCH.h>
Public Types | |
typedef VelocityToDisplacementField< VoxelType > | ExponentialFilterType |
Type of exponential filter. | |
typedef GenericImage< VoxelType > | ImageType |
Type of internal images. | |
![]() | |
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. | |
![]() | |
virtual | ~DisplacementToVelocityField () |
Destructor. | |
![]() | |
ImageToImage () | |
Constructor. | |
virtual bool | RequiresBuffering () const |
virtual double | Run (int, int, int, int=0) |
Run filter on single voxel. | |
virtual | ~ImageToImage () |
Destructor. | |
![]() | |
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. | |
![]() | |
DisplacementToVelocityField () | |
Constructor. | |
![]() | |
void | Initialize (bool) |
mirtkAggregateMacro (ImageType, Buffer) | |
Buffer. | |
mirtkPublicAggregateMacro (const ImageType, Input) | |
Input image for filter. | |
mirtkPublicAggregateMacro (ImageType, Output) | |
Output image for filter. | |
![]() | |
template<typename... Args> | |
void | Throw (ErrorType err, const char *func, Args... args) const |
Additional Inherited Members | |
![]() | |
static const char * | NameOfType () |
Get name of this class type. | |
![]() | |
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.