![]() |
ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkVariationalDiffeomorphicRegistrationFilter.h>
Diffeomorphic deformable registration of two images using static velocity fields.
VariationalDiffeomorphicRegistrationFilter is derived from VariationalRegistrationFilter and aims to minimize the functional
with and
is a static velocity field. Let
denote the force term corresponding to the similarity measure
and
denote the linear differential operator associated with the regularization term
, VariationalDiffeomorphicRegistrationFilter implements the following iterative scheme to compute
(and
):
The force term is implemented in a subclass of VariationalRegistrationFunction. The computation of the regularization with
is implemented in a subclass of VariationalRegistrationRegularizer. The exponentiation of the velocity field
is done using the ExponentialDisplacementFieldImageFilter.
You can set SmoothUpdateFieldOn() to smooth the velocity field before exponentiation.
For details see:
Definition at line 80 of file itkVariationalDiffeomorphicRegistrationFilter.h.
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
![]() | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
![]() | |
static const unsigned int | ImageDimension |
![]() | |
static const unsigned int | ImageDimension |
![]() | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
![]() | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
![]() | |
static const unsigned int | OutputImageDimension |
Protected Types | |
typedef FieldExponentiatorType::Pointer | FieldExponentiatorPointer |
typedef itk::ExponentialDisplacementFieldImageFilter < DisplacementFieldType, DisplacementFieldType > | FieldExponentiatorType |
![]() | |
typedef UpdateBufferType::RegionType | ThreadRegionType |
![]() | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Private Member Functions | |
void | operator= (const Self &) |
VariationalDiffeomorphicRegistrationFilter (const Self &) | |
Private Attributes | |
DisplacementFieldPointer | m_DisplacementField |
FieldExponentiatorPointer | m_Exponentiator |
unsigned int | m_NumberOfExponentiatorIterations |
Additional Inherited Members | |
![]() | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
![]() | |
IdentifierType | m_ElapsedIterations |
bool | m_IsInitialized |
bool | m_ManualReinitialization |
double | m_MaximumRMSError |
IdentifierType | m_NumberOfIterations |
double | m_RMSChange |
![]() | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
![]() | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer<const Self> itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::ConstPointer |
Definition at line 89 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef DisplacementFieldType::Pointer itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldPointer |
Definition at line 112 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef TDisplacementField itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldType |
Deformation field type.
Definition at line 111 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
protected |
Typename for the exponentiator.
Definition at line 169 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
protected |
Exponential field calculator type.
Definition at line 166 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef FixedImageType::ConstPointer itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImageConstPointer |
Definition at line 103 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef FixedImageType::Pointer itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImagePointer |
Definition at line 102 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef TFixedImage itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImageType |
FixedImage image type.
Definition at line 101 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef MovingImageType::ConstPointer itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImageConstPointer |
Definition at line 108 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef MovingImageType::Pointer itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImagePointer |
Definition at line 107 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef TMovingImage itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImageType |
MovingImage image type.
Definition at line 106 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef Superclass::OutputImageType itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::OutputImageType |
Types inherited from the superclass
Definition at line 115 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef SmartPointer<Self> itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Pointer |
Definition at line 88 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef Superclass::RegistrationFunctionType itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::RegistrationFunctionType |
VariationalRegistrationFunction type.
Definition at line 118 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef Superclass::RegularizerType itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::RegularizerType |
Regularizer type.
Definition at line 121 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef VariationalDiffeomorphicRegistrationFilter itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Self |
Standard class typedefs
Definition at line 85 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Superclass |
Definition at line 87 of file itkVariationalDiffeomorphicRegistrationFilter.h.
typedef Superclass::TimeStepType itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::TimeStepType |
The value type of a time step. Inherited from the superclass.
Definition at line 124 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
protected |
|
inlineprotected |
Definition at line 149 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
private |
|
overrideprotectedvirtual |
Apply update.
Reimplemented from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
protectedvirtual |
Calculates the deformation field by calculating the exponential of the velocity field.
|
virtual |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
inlineoverridevirtual |
Get output deformation field. Returns the displacement field of the current transformation.
Reimplemented from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
Definition at line 136 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
inlineprotectedvirtual |
Get the exponentiator used to compute a displacement from a velocity field.
Definition at line 172 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
virtual |
Get the desired number of iterations for the exponentiator.
|
inlinevirtual |
Get output velocity field.
Definition at line 144 of file itkVariationalDiffeomorphicRegistrationFilter.h.
References itk::ImageSource< TDisplacementField >::GetOutput().
|
overrideprotectedvirtual |
This method is called before iterating the solution.
Reimplemented from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
static |
Method for creation through the object factory.
|
private |
|
overrideprotectedvirtual |
Print information about the filter.
Reimplemented from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
Reimplemented in itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
overridevirtual |
Set initial deformation field.
Reimplemented from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
inlinevirtual |
Set initial deformation field.
Definition at line 140 of file itkVariationalDiffeomorphicRegistrationFilter.h.
References itk::ImageToImageFilter< TDisplacementField, TDisplacementField >::SetInput().
|
virtual |
Set the desired number of iterations for the exponentiator.
|
static |
Get image dimension.
Definition at line 98 of file itkVariationalDiffeomorphicRegistrationFilter.h.
|
private |
Definition at line 181 of file itkVariationalDiffeomorphicRegistrationFilter.h.
Referenced by itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GetDisplacementField().
|
private |
The deformation field.
Definition at line 180 of file itkVariationalDiffeomorphicRegistrationFilter.h.
Referenced by itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::GetExponentiator().
|
private |
Number of iterations for exponentiation (self composing) of velocity field.
Definition at line 184 of file itkVariationalDiffeomorphicRegistrationFilter.h.