ITK
4.9.0
Insight Segmentation and Registration Toolkit
|
#include <itkVariationalSymmetricDiffeomorphicRegistrationFilter.h>
Symmetric diffeomorphic deformable registration of two images using static velocity fields.
VariationalSymmetricDiffeomorphicRegistrationFilter 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 , VariationalSymmetricDiffeomorphicRegistrationFilter 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 90 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Static Public Attributes | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::VariationalRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | ImageDimension |
Static Public Attributes inherited from itk::InPlaceImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TDisplacementField, TDisplacementField > | |
static const unsigned int | InputImageDimension |
static const unsigned int | OutputImageDimension |
Static Public Attributes inherited from itk::ImageSource< TDisplacementField > | |
static const unsigned int | OutputImageDimension |
Private Types | |
typedef FieldExponentiatorType::Pointer | FieldExponentiatorPointer |
typedef Superclass::FieldExponentiatorType | FieldExponentiatorType |
Private Member Functions | |
void | operator= (const Self &) |
VariationalSymmetricDiffeomorphicRegistrationFilter (const Self &) | |
Private Attributes | |
UpdateBufferType::Pointer | m_BackwardUpdateBuffer |
DisplacementFieldPointer | m_InverseDisplacementField |
FieldExponentiatorPointer | m_InverseExponentiator |
Additional Inherited Members | |
Static Protected Member Functions inherited from itk::ImageSource< TDisplacementField > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::FiniteDifferenceImageFilter< TDisplacementField, TDisplacementField > | |
IdentifierType | m_ElapsedIterations |
bool | m_IsInitialized |
bool | m_ManualReinitialization |
double | m_MaximumRMSError |
IdentifierType | m_NumberOfIterations |
double | m_RMSChange |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::ConstPointer |
Definition at line 99 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef DisplacementFieldType::Pointer itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldPointer |
Definition at line 122 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef TDisplacementField itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldType |
Deformation field type.
Definition at line 121 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
private |
Definition at line 182 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
private |
Definition at line 181 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef FixedImageType::ConstPointer itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImageConstPointer |
Definition at line 113 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef FixedImageType::Pointer itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImagePointer |
Definition at line 112 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef TFixedImage itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::FixedImageType |
FixedImage image type.
Definition at line 111 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef MovingImageType::ConstPointer itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImageConstPointer |
Definition at line 118 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef MovingImageType::Pointer itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImagePointer |
Definition at line 117 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef TMovingImage itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::MovingImageType |
MovingImage image type.
Definition at line 116 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef Superclass::OutputImageType itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::OutputImageType |
Types inherited from the superclass
Definition at line 125 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef SmartPointer< Self > itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Pointer |
Definition at line 98 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef Superclass::RegistrationFunctionType itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::RegistrationFunctionType |
VariationalRegistrationFunction type.
Definition at line 129 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef Superclass::RegularizerType itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::RegularizerType |
Regularizer type.
Definition at line 132 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef VariationalSymmetricDiffeomorphicRegistrationFilter itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Self |
Standard class typedefs
Definition at line 95 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField > itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::Superclass |
Definition at line 97 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
protected |
The type of region used for multithreading
Definition at line 170 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef Superclass::TimeStepType itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::TimeStepType |
The value type of a time step. Inherited from the superclass.
Definition at line 135 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
typedef OutputImageType itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::UpdateBufferType |
Definition at line 126 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
protected |
|
inlineprotected |
Definition at line 142 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
private |
|
protectedvirtual |
Apply update function that additionally computes the inverse displacement field for the next iteration.
Reimplemented from itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
protectedvirtual |
Calculates the inverse deformation field by calculating the exponential of the negative velocity field.
|
protectedvirtual |
Calculate the update for each iteration by first performing the forward and then the backward update step.
Reimplemented from itk::DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField >.
|
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::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
protectedvirtual |
This method is called before iterating the solution.
Reimplemented from itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
protectedvirtual |
Initialize the backward update after forward update was completed
itk::VariationalSymmetricDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >::itkGetObjectMacro | ( | InverseDisplacementField | , |
DisplacementFieldType | |||
) |
Get output inverse deformation field.
|
protected |
Method to allow subclasses to get direct access to the update buffer
|
static |
Method for creation through the object factory.
|
private |
|
protectedvirtual |
Print information about the filter.
Reimplemented from itk::VariationalDiffeomorphicRegistrationFilter< TFixedImage, TMovingImage, TDisplacementField >.
|
protectedvirtual |
Threaded version of ApplyUpdate that adds forward and backward fields
Reimplemented from itk::DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField >.
|
static |
Get image dimension.
Definition at line 108 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
private |
Definition at line 187 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
private |
Definition at line 186 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.
|
private |
The deformation field.
Definition at line 185 of file itkVariationalSymmetricDiffeomorphicRegistrationFilter.h.