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

#include <ScalingAndSquaring.h>

Inheritance diagram for mirtk::ScalingAndSquaring< TReal >:
Inheritance graph
Collaboration diagram for mirtk::ScalingAndSquaring< TReal >:
Collaboration graph

Public Types

typedef GenericNearestNeighborExtrapolateImageFunction< ImageTypeExtrapolator
 Type of image extrapolation function.
 
typedef GenericImage< TReal > ImageType
 Image type of input, output, and intermediate images.
 
typedef GenericLinearInterpolateImageFunction< ImageTypeVectorField
 Type of vector field interpolator.
 
typedef GenericFastCubicBSplineInterpolateImageFunction< ImageTypeVelocityField
 Type of input velocity field interpolator.
 

Public Member Functions

virtual void Run ()
 Compute output deformation/displacement field and its derivatives.
 
 ScalingAndSquaring ()
 Constructor.
 
virtual ~ScalingAndSquaring ()
 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.
 
void FinalizeDetJacobian ()
 Finalize output Jacobian determinants.
 
void FinalizeDisplacement ()
 Finalize output displacement field.
 
void FinalizeJacobian ()
 Finalize output Jacobian field.
 
void FinalizeLogJacobian ()
 Finalize log-transformed output Jacobian determinants.
 
virtual void Initialize ()
 Initialize filter.
 
void Resample (ImageType *, ImageType *, bool=false)
 Resample intermediate filter output.
 
- 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 TReal>
class mirtk::ScalingAndSquaring< TReal >

Computes the exponential map of a SVF and its derivatives

This class implements an image filter which computes the exponential map of a stationary velocity field using the scaling and squaring method. The result is a diffeomorphic displacement field. Additionally, this filter computes also the derivatives of the exponential map with respect to the spatial coordinate.

The exponentiation of a voxel-based image similarity gradient follows the computation outlined in Modat et al., "Parametric non-rigid registration using a stationary velocity field", MMBIA, 145–150, 2012. See also the derivation in the appendix of Ashburner, "A fast diffeomorphic image registration algorithm", NeuroImage, 38(1), 95–113, 2007.

This image filter is in particular used by the BSplineFreeFormTransformationSV class of the Transformation module.

Definition at line 52 of file ScalingAndSquaring.h.


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