18 #ifndef __itkVariationalRegistrationFilter_h
19 #define __itkVariationalRegistrationFilter_h
101 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField >
120 itkStaticConstMacro(ImageDimension,
unsigned int,Superclass::ImageDimension);
188 { this->SetInput( ptr ); }
192 {
return this->GetOutput(); }
198 virtual std::vector<SmartPointer<DataObject> >::size_type GetNumberOfValidRequiredInputs()
const;
204 itkBooleanMacro( SmoothDisplacementField );
210 itkSetMacro( SmoothDisplacementField,
bool );
215 itkGetConstMacro( SmoothDisplacementField,
bool );
220 itkSetMacro( SmoothUpdateField,
bool );
226 itkGetConstMacro( SmoothUpdateField,
bool );
231 itkBooleanMacro( SmoothUpdateField );
237 virtual double GetMetric()
const;
241 { m_StopRegistrationFlag =
true; }
248 virtual void PrintSelf(std::ostream& os,
Indent indent)
const;
256 virtual void GenerateInputRequestedRegion();
262 virtual void GenerateOutputInformation();
266 virtual void CopyInputToOutput();
269 virtual void Initialize();
273 virtual void InitializeIteration();
276 virtual void ApplyUpdate(
const TimeStepType& dt );
288 {
return (Superclass::Halt() || m_StopRegistrationFlag); }
293 RegistrationFunctionType * DownCastDifferenceFunctionType();
294 const RegistrationFunctionType * DownCastDifferenceFunctionType()
const;
299 void operator=(
const Self&);
315 #ifndef ITK_MANUAL_INSTANTIATION
316 # include "itkVariationalRegistrationFilter.hxx"
Base class for force calculation in the variational registration framework.
TMovingImage MovingImageType
Light weight base class for most itk classes.
Flexible framework for deformable registration of two images using PDE-based variational registration...
TDisplacementField DisplacementFieldType
MovingImageType::Pointer MovingImagePointer
DisplacementFieldType::Pointer DisplacementFieldPointer
TFixedImage FixedImageType
unsigned char MaskImagePixelType
Base class for regularization component in the variational registration framework.
~VariationalRegistrationFilter()
SmartPointer< Self > Pointer
SmartPointer< const Self > ConstPointer
FixedImageType::Pointer FixedImagePointer
MaskImageType::Pointer MaskImagePointer
bool m_StopRegistrationFlag
VariationalRegistrationDemonsFunction< FixedImageType, MovingImageType, DisplacementFieldType > DefaultRegistrationFunctionType
bool m_SmoothDisplacementField
virtual DisplacementFieldType * GetDisplacementField()
Image< MaskImagePixelType, ImageDimension > MaskImageType
Superclass::TimeStepType TimeStepType
MaskImageType::ConstPointer MaskImageConstPointer
VariationalRegistrationFunction< FixedImageType, MovingImageType, DisplacementFieldType > RegistrationFunctionType
virtual void VerifyInputInformation()
RegularizerType::Pointer RegularizerPointer
DenseFiniteDifferenceImageFilter< TDisplacementField, TDisplacementField > Superclass
FixedImageType::ConstPointer FixedImageConstPointer
virtual void SetInitialDisplacementField(DisplacementFieldType *ptr)
MovingImageType::ConstPointer MovingImageConstPointer
VariationalRegistrationFilter Self
Control indentation during Print() invocation.
virtual void StopRegistration()
This class performs diffusive regularization of a vector field.
VariationalRegistrationRegularizer< DisplacementFieldType > RegularizerType
RegularizerPointer m_Regularizer
Superclass::OutputImageType OutputImageType
This class computes different Demon forces in the variational registration framework.
Templated n-dimensional image class.
VariationalRegistrationDiffusionRegularizer< DisplacementFieldType > DefaultRegularizerType