ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkVariationalRegistrationFunction.h>
Base class for force calculation in the variational registration framework.
This class is templated over fixed image type, moving image type and deformation field type. This function has the fixed image, the moving image and the current displacement field as input and computes an update value in ComputeUpdate().
Implement a concrete force type in a subclass; overwrite the methods InitializeIteration() and ComputeUpdate().
Definition at line 50 of file itkVariationalRegistrationFunction.h.
Classes | |
struct | GlobalDataStruct |
Public Member Functions | |
virtual TimeStepType | ComputeGlobalTimeStep (void *) const override |
virtual const DisplacementFieldType * | GetDisplacementField (void) const |
virtual const FixedImageType * | GetFixedImage (void) const |
virtual void * | GetGlobalDataPointer () const override |
virtual MaskImagePixelType | GetMaskBackgroundThreshold (void) const |
virtual const MaskImageType * | GetMaskImage (void) const |
virtual double | GetMetric () const |
virtual const MovingImageType * | GetMovingImage (void) const |
virtual const MovingImageWarperType * | GetMovingImageWarper (void) const |
virtual const char * | GetNameOfClass () const |
virtual double | GetRMSChange () const |
virtual const TimeStepType | GetTimeStep (void) const |
virtual void | InitializeIteration () override |
virtual void | ReleaseGlobalDataPointer (void *GlobalData) const override |
virtual void | SetDisplacementField (DisplacementFieldType *ptr) |
virtual void | SetFixedImage (const FixedImageType *ptr) |
virtual void | SetMaskBackgroundThreshold (MaskImagePixelType threshold) |
virtual void | SetMaskImage (const MaskImageType *ptr) |
virtual void | SetMovingImage (const MovingImageType *ptr) |
virtual void | SetMovingImageWarper (MovingImageWarperType *ptr) |
virtual void | SetTimeStep (TimeStepType timeStep) |
Public Member Functions inherited from itk::FiniteDifferenceFunction< TDisplacementField > | |
const NeighborhoodScalesType | ComputeNeighborhoodScales () const |
virtual PixelType | ComputeUpdate (const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))=0 |
const RadiusType & | GetRadius () const |
void | GetScaleCoefficients (PixelRealType vals[ImageDimension]) const |
void | SetRadius (const RadiusType &r) |
void | SetScaleCoefficients (PixelRealType vals[ImageDimension]) |
Public Member Functions inherited from itk::LightObject | |
virtual Pointer | CreateAnother () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
itkCloneMacro (Self) | |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
virtual void | SetReferenceCount (int) |
virtual void | UnRegister () const noexcept |
Static Public Attributes | |
static const unsigned int | ImageDimension = Superclass::ImageDimension |
Static Public Attributes inherited from itk::FiniteDifferenceFunction< TDisplacementField > | |
static const unsigned int | ImageDimension |
Protected Member Functions | |
virtual const WarpedImagePointer | GetWarpedImage (void) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const override |
VariationalRegistrationFunction () | |
virtual void | WarpMovingImage (void) |
~VariationalRegistrationFunction () | |
Protected Member Functions inherited from itk::FiniteDifferenceFunction< TDisplacementField > | |
FiniteDifferenceFunction () | |
~FiniteDifferenceFunction () override | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Member Functions | |
void | operator= (const Self &) |
VariationalRegistrationFunction (const Self &) | |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Protected Attributes inherited from itk::FiniteDifferenceFunction< TDisplacementField > | |
RadiusType | m_Radius |
PixelRealType | m_ScaleCoefficients [ImageDimension] |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer< const Self > itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ConstPointer |
Definition at line 58 of file itkVariationalRegistrationFunction.h.
typedef TDisplacementField itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldType |
Deformation field type.
Definition at line 81 of file itkVariationalRegistrationFunction.h.
typedef DisplacementFieldType::ConstPointer itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::DisplacementFieldTypePointer |
Definition at line 82 of file itkVariationalRegistrationFunction.h.
typedef FixedImageType::ConstPointer itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::FixedImagePointer |
Definition at line 74 of file itkVariationalRegistrationFunction.h.
typedef TFixedImage itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::FixedImageType |
FixedImage image type.
Definition at line 73 of file itkVariationalRegistrationFunction.h.
typedef unsigned char itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MaskImagePixelType |
MovingImage image type.
Definition at line 85 of file itkVariationalRegistrationFunction.h.
typedef MaskImageType::ConstPointer itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MaskImagePointer |
Definition at line 87 of file itkVariationalRegistrationFunction.h.
typedef Image< MaskImagePixelType, ImageDimension > itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MaskImageType |
Definition at line 86 of file itkVariationalRegistrationFunction.h.
typedef MovingImageType::ConstPointer itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MovingImagePointer |
Definition at line 70 of file itkVariationalRegistrationFunction.h.
typedef TMovingImage itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MovingImageType |
MovingImage image type.
Definition at line 69 of file itkVariationalRegistrationFunction.h.
typedef MovingImageWarperType::Pointer itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MovingImageWarperPointer |
Definition at line 94 of file itkVariationalRegistrationFunction.h.
typedef itk::ContinuousBorderWarpImageFilter< FixedImageType, WarpedImageType, DisplacementFieldType > itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::MovingImageWarperType |
Typedef of the warp image filter.
Definition at line 93 of file itkVariationalRegistrationFunction.h.
typedef SmartPointer< Self > itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Pointer |
Definition at line 57 of file itkVariationalRegistrationFunction.h.
typedef VariationalRegistrationFunction itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Self |
Standard class typedefs.
Definition at line 55 of file itkVariationalRegistrationFunction.h.
typedef FiniteDifferenceFunction< TDisplacementField > itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::Superclass |
Definition at line 56 of file itkVariationalRegistrationFunction.h.
typedef Superclass::TimeStepType itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::TimeStepType |
Definition at line 60 of file itkVariationalRegistrationFunction.h.
typedef WarpedImageType::ConstPointer itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::WarpedImagePointer |
Definition at line 78 of file itkVariationalRegistrationFunction.h.
typedef TFixedImage itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::WarpedImageType |
FixedImage image type.
Definition at line 77 of file itkVariationalRegistrationFunction.h.
|
protected |
|
inlineprotected |
Definition at line 185 of file itkVariationalRegistrationFunction.h.
|
private |
|
inlineoverridevirtual |
Computes the time step for an update. Returns the constant time step.
Implements itk::FiniteDifferenceFunction< TDisplacementField >.
Reimplemented in itk::VariationalRegistrationSSDFunction< TFixedImage, TMovingImage, TDisplacementField >, and itk::VariationalRegistrationNCCFunction< TFixedImage, TMovingImage, TDisplacementField >.
Definition at line 161 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_TimeStep.
|
inlinevirtual |
Get the deformation field.
Definition at line 118 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_DisplacementField.
|
inlinevirtual |
Get the fixed image.
Definition at line 110 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_FixedImage.
|
overridevirtual |
Return a pointer to a global data structure that is passed to this object from the solver at each calculation.
Implements itk::FiniteDifferenceFunction< TDisplacementField >.
Reimplemented in itk::VariationalRegistrationFastNCCFunction< TFixedImage, TMovingImage, TDisplacementField >.
|
inlinevirtual |
Get the MaskBackgroundThreshold. All Pixels of the mask image will be treated as background if the are <= this threshold.
Definition at line 152 of file itkVariationalRegistrationFunction.h.
|
inlinevirtual |
Get the mask image.
Definition at line 126 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MaskImage.
|
inlinevirtual |
Get the metric value. The metric value is the mean square difference in intensity between the fixed image and transforming moving image computed over the the overlapping region between the two images.
Definition at line 176 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_Metric.
|
inlinevirtual |
Get the Moving image.
Definition at line 102 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MovingImage.
|
inlinevirtual |
Get the moving image warper.
Definition at line 134 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MovingImageWarper.
|
virtual |
Run-time type information (and related methods)
Reimplemented from itk::FiniteDifferenceFunction< TDisplacementField >.
Reimplemented in itk::VariationalRegistrationFastNCCFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalRegistrationNCCFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalRegistrationDemonsFunction< TFixedImage, TMovingImage, TDisplacementField >, and itk::VariationalRegistrationSSDFunction< TFixedImage, TMovingImage, TDisplacementField >.
|
inlinevirtual |
Get the rms change in deformation field.
Definition at line 180 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_RMSChange.
|
inlinevirtual |
Get the time step.
Definition at line 142 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_TimeStep.
Referenced by itk::VariationalRegistrationNCCFunction< TFixedImage, TMovingImage, TDisplacementField >::ComputeGlobalTimeStep(), and itk::VariationalRegistrationSSDFunction< TFixedImage, TMovingImage, TDisplacementField >::ComputeGlobalTimeStep().
|
protectedvirtual |
Get the warped image.
|
overridevirtual |
Set the object's state before each iteration.
Reimplemented from itk::FiniteDifferenceFunction< TDisplacementField >.
Reimplemented in itk::VariationalRegistrationNCCFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalRegistrationDemonsFunction< TFixedImage, TMovingImage, TDisplacementField >, and itk::VariationalRegistrationSSDFunction< TFixedImage, TMovingImage, TDisplacementField >.
|
private |
|
overrideprotectedvirtual |
Print information about the filter.
Reimplemented from itk::FiniteDifferenceFunction< TDisplacementField >.
Reimplemented in itk::VariationalRegistrationSSDFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalRegistrationDemonsFunction< TFixedImage, TMovingImage, TDisplacementField >, itk::VariationalRegistrationNCCFunction< TFixedImage, TMovingImage, TDisplacementField >, and itk::VariationalRegistrationFastNCCFunction< TFixedImage, TMovingImage, TDisplacementField >.
|
overridevirtual |
Release memory for global data structure.
Implements itk::FiniteDifferenceFunction< TDisplacementField >.
Reimplemented in itk::VariationalRegistrationFastNCCFunction< TFixedImage, TMovingImage, TDisplacementField >.
|
inlinevirtual |
Set the deformation field.
Definition at line 114 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_DisplacementField.
|
inlinevirtual |
Set the fixed image.
Definition at line 106 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_FixedImage.
|
inlinevirtual |
Set the MaskBackgroundThreshold. All Pixels of the mask image will be treated as background if the are <= this threshold.
Definition at line 147 of file itkVariationalRegistrationFunction.h.
|
inlinevirtual |
Set the mask image.
Definition at line 122 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MaskImage.
|
inlinevirtual |
Set the Moving image.
Definition at line 98 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MovingImage.
|
inlinevirtual |
Set the moving image warper.
Definition at line 130 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_MovingImageWarper.
|
inlinevirtual |
Set the time step. This time step will be used by ComputeGlobalTimeStep().
Definition at line 138 of file itkVariationalRegistrationFunction.h.
References itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::m_TimeStep.
|
protectedvirtual |
Warp the moving image into the domain of the fixed image using the deformation field.
|
static |
Get image dimension.
Definition at line 66 of file itkVariationalRegistrationFunction.h.
|
private |
The deformation field.
Definition at line 217 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetDisplacementField(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetDisplacementField().
|
private |
The fixed image.
Definition at line 214 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetFixedImage(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetFixedImage().
|
private |
Threshold to define the background in the mask image.
Definition at line 229 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMaskBackgroundThreshold(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetMaskBackgroundThreshold().
|
private |
The deformation field.
Definition at line 220 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMaskImage(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetMaskImage().
|
mutableprivate |
The metric value is the mean square difference in intensity between the fixed image and transforming moving image computed over the the overlapping region between the two images.
Definition at line 234 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMetric().
|
mutableprivate |
Mutex lock to protect modification to metric.
Definition at line 241 of file itkVariationalRegistrationFunction.h.
|
private |
The Moving image.
Definition at line 211 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMovingImage(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetMovingImage().
|
private |
A class to warp the moving image into the domain of the fixed image.
Definition at line 223 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetMovingImageWarper(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetMovingImageWarper().
|
mutableprivate |
Definition at line 236 of file itkVariationalRegistrationFunction.h.
|
mutableprivate |
Definition at line 237 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetRMSChange().
|
mutableprivate |
Definition at line 235 of file itkVariationalRegistrationFunction.h.
|
mutableprivate |
Definition at line 238 of file itkVariationalRegistrationFunction.h.
|
private |
The global timestep.
Definition at line 226 of file itkVariationalRegistrationFunction.h.
Referenced by itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::ComputeGlobalTimeStep(), itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::GetTimeStep(), and itk::VariationalRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField >::SetTimeStep().