18 #ifndef itkFastSymmetricForcesDemonsRegistrationFunction_h
19 #define itkFastSymmetricForcesDemonsRegistrationFunction_h
45 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField >
48 TMovingImage, TDisplacementField >
55 TMovingImage, TDisplacementField >
74 typedef typename FixedImageType::IndexType
IndexType;
75 typedef typename FixedImageType::SizeType
SizeType;
83 #ifdef ITKV3_COMPATIBILITY
84 typedef typename Superclass::DeformationFieldType DeformationFieldType;
85 typedef typename Superclass::DeformationFieldTypePointer DeformationFieldTypePointer;
201 void operator=(const
Self &) ITK_DELETE_FUNCTION;
241 #ifndef ITK_MANUAL_INSTANTIATION
242 #include "itkFastSymmetricForcesDemonsRegistrationFunction.hxx"
Critical section locking class that can be allocated on the stack.
virtual void ReleaseGlobalDataPointer(void *GlobalData) const
void SetMovingImageInterpolator(InterpolatorType *ptr)
LinearInterpolateImageFunction< MovingImageType, CoordRepType > DefaultInterpolatorType
FastSymmetricForcesDemonsRegistrationFunction()
virtual const double & GetRMSChange() const
SizeValueType m_NumberOfPixelsProcessed
Light weight base class for most itk classes.
FixedImageType::SizeType SizeType
CovariantVector< double, itkGetStaticConstMacro(ImageDimension) > CovariantVectorType
virtual double GetMetric() const
double m_SumOfSquaredDifference
static const unsigned int ImageDimension
InterpolateImageFunction< MovingImageType, CoordRepType > InterpolatorType
FixedImageType::IndexType IndexType
CentralDifferenceImageFunction< MovingImageType > MovingGradientCalculatorType
FixedImageType::SpacingType SpacingType
Superclass::DisplacementFieldTypePointer DisplacementFieldTypePointer
ConstNeighborhoodIterator< FixedImageType > FixedImageNeighborhoodIteratorType
InterpolatorPointer m_MovingImageInterpolator
Superclass::MovingImageType MovingImageType
GradientCalculatorType::Pointer GradientCalculatorPointer
PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Superclass
ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
WarperPointer m_MovingImageWarper
WarpImageFilter< MovingImageType, MovingImageType, DisplacementFieldType > WarperType
Superclass::FixedImagePointer FixedImagePointer
Calculate the derivative by central differencing.
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
unsigned long SizeValueType
void PrintSelf(std::ostream &os, Indent indent) const override
InterpolatorType::PointType PointType
virtual void SetIntensityDifferenceThreshold(double)
Superclass::TimeStepType TimeStepType
virtual double GetIntensityDifferenceThreshold() const
virtual void * GetGlobalDataPointer() const
SmartPointer< const Self > ConstPointer
A templated class holding a n-Dimensional vector.
Superclass::MovingImagePointer MovingImagePointer
MovingGradientCalculatorPointer m_WarpedMovingImageGradientCalculator
Superclass::PointType PointType
ImageType::PixelType PixelType
static const unsigned int ImageDimension
SimpleFastMutexLock m_MetricCalculationLock
MovingGradientCalculatorType::Pointer MovingGradientCalculatorPointer
SmartPointer< Self > Pointer
Superclass::DisplacementFieldType DisplacementFieldType
GradientCalculatorPointer m_FixedImageGradientCalculator
Warps an image using an input displacement field.
InterpolatorType::Pointer InterpolatorPointer
Superclass::FixedImageType FixedImageType
WarperType::Pointer WarperPointer
Linearly interpolate an image at specified positions.
double m_SumOfSquaredChange
Superclass::RadiusType RadiusType
Base class for all image interpolaters.
~FastSymmetricForcesDemonsRegistrationFunction()
CentralDifferenceImageFunction< FixedImageType > GradientCalculatorType
double m_SumOfSquaredDifference
virtual TimeStepType ComputeGlobalTimeStep(void *) const
SizeValueType m_NumberOfPixelsProcessed
Control indentation during Print() invocation.
virtual void InitializeIteration()
InterpolatorType * GetMovingImageInterpolator(void)
Superclass::PixelType PixelType
A templated class holding a n-Dimensional covariant vector.
Superclass::FloatOffsetType FloatOffsetType
double m_DenominatorThreshold
FastSymmetricForcesDemonsRegistrationFunction Self
Superclass::NeighborhoodType NeighborhoodType
double m_IntensityDifferenceThreshold
virtual PixelType ComputeUpdate(const NeighborhoodType &neighborhood, void *globalData, const FloatOffsetType &offset=FloatOffsetType(0.0))
double m_SumOfSquaredChange