18 #ifndef __itkVariationalRegistrationFilter_h 19 #define __itkVariationalRegistrationFilter_h 101 template<
class TFixedImage,
class TMovingImage,
class TDisplacementField >
120 itkStaticConstMacro(ImageDimension,
unsigned int,Superclass::ImageDimension);
169 virtual void SetFixedImage(
const FixedImageType * ptr );
172 virtual const FixedImageType * GetFixedImage(
void)
const;
175 virtual void SetMovingImage(
const MovingImageType * ptr );
178 virtual const MovingImageType * GetMovingImage(
void)
const;
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); }
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
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.
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes...
~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