18 #ifndef itkSymmetricForcesDemonsRegistrationFunction_h
19 #define itkSymmetricForcesDemonsRegistrationFunction_h
60 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField >
63 TMovingImage, TDisplacementField >
70 TMovingImage, TDisplacementField >
95 typedef typename Superclass::DisplacementFieldTypePointer
99 itkStaticConstMacro(ImageDimension,
unsigned int, Superclass::ImageDimension);
124 { m_MovingImageInterpolator = ptr; }
128 {
return m_MovingImageInterpolator; }
132 {
return m_TimeStep; }
147 virtual void ReleaseGlobalDataPointer(
void *GlobalData)
const ITK_OVERRIDE;
150 virtual void InitializeIteration() ITK_OVERRIDE;
154 virtual PixelType ComputeUpdate( const NeighborhoodType & neighborhood,
156 const FloatOffsetType & offset = FloatOffsetType(0.0) ) ITK_OVERRIDE;
161 virtual
double GetMetric()
const
166 {
return m_RMSChange; }
172 virtual void SetIntensityDifferenceThreshold(
double);
174 virtual double GetIntensityDifferenceThreshold()
const;
179 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
229 #ifndef ITK_MANUAL_INSTANTIATION
230 #include "itkSymmetricForcesDemonsRegistrationFunction.hxx"
Critical section locking class that can be allocated on the stack.
FixedImageType::SpacingType SpacingType
Light weight base class for most itk classes.
SmartPointer< Self > Pointer
virtual const double & GetRMSChange() const
SymmetricForcesDemonsRegistrationFunction Self
SimpleFastMutexLock m_MetricCalculationLock
void SetMovingImageInterpolator(InterpolatorType *ptr)
CovariantVector< double, itkGetStaticConstMacro(ImageDimension) > CovariantVectorType
double m_SumOfSquaredChange
InterpolatorType * GetMovingImageInterpolator(void)
ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
GradientCalculatorType::Pointer GradientCalculatorPointer
Calculate the derivative by central differencing.
PointType m_FixedImageOrigin
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
unsigned long SizeValueType
Superclass::NeighborhoodType NeighborhoodType
~SymmetricForcesDemonsRegistrationFunction() override
FixedImageType::SizeType SizeType
InterpolateImageFunction< MovingImageType, CoordRepType > InterpolatorType
Superclass::MovingImageType MovingImageType
Superclass::FixedImagePointer FixedImagePointer
Superclass::FloatOffsetType FloatOffsetType
virtual TimeStepType ComputeGlobalTimeStep(void *) const override
virtual void * GetGlobalDataPointer() const override
Superclass::RadiusType RadiusType
CentralDifferenceImageFunction< FixedImageType > GradientCalculatorType
A templated class holding a n-Dimensional vector.
Superclass::PixelType PixelType
double m_SumOfSquaredDifference
GradientCalculatorPointer m_FixedImageGradientCalculator
double m_SumOfSquaredDifference
Superclass::FixedImageType FixedImageType
Superclass::TimeStepType TimeStepType
Superclass::DisplacementFieldType DisplacementFieldType
ImageType::PixelType PixelType
SpacingType m_FixedImageSpacing
LinearInterpolateImageFunction< MovingImageType, CoordRepType > DefaultInterpolatorType
InterpolatorPointer m_MovingImageInterpolator
Superclass::DisplacementFieldTypePointer DisplacementFieldTypePointer
Linearly interpolate an image at specified positions.
PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Superclass
SizeValueType m_NumberOfPixelsProcessed
InterpolatorType::PointType PointType
FixedImageType::IndexType IndexType
Base class for all image interpolaters.
Superclass::MovingImagePointer MovingImagePointer
SizeValueType m_NumberOfPixelsProcessed
Control indentation during Print() invocation.
InterpolatorType::Pointer InterpolatorPointer
ImageBaseType::SizeType SizeType
double m_SumOfSquaredChange
double m_DenominatorThreshold
ConstNeighborhoodIterator< FixedImageType > FixedImageNeighborhoodIteratorType
A templated class holding a geometric point in n-Dimensional space.
A templated class holding a n-Dimensional covariant vector.
SmartPointer< const Self > ConstPointer
double m_IntensityDifferenceThreshold
ImageBaseType::IndexType IndexType