18 #ifndef itkDemonsRegistrationFunction_h
19 #define itkDemonsRegistrationFunction_h
52 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField >
63 TMovingImage, TDisplacementField
90 #ifdef ITKV3_COMPATIBILITY
91 typedef typename Superclass::DeformationFieldType DeformationFieldType;
92 typedef typename Superclass::DeformationFieldTypePointer DeformationFieldTypePointer;
96 itkStaticConstMacro(ImageDimension,
unsigned
97 int, Superclass::ImageDimension);
128 { m_MovingImageInterpolator = ptr; }
132 {
return m_MovingImageInterpolator; }
136 {
return m_TimeStep; }
151 virtual void ReleaseGlobalDataPointer(
void *GlobalData)
const ITK_OVERRIDE;
154 virtual void InitializeIteration() ITK_OVERRIDE;
158 virtual PixelType ComputeUpdate( const NeighborhoodType & neighborhood,
160 const FloatOffsetType & offset =
161 FloatOffsetType(0.0) ) ITK_OVERRIDE;
166 virtual
double GetMetric()
const
171 {
return m_RMSChange; }
177 { m_UseMovingImageGradient = flag; }
179 {
return m_UseMovingImageGradient; }
186 virtual void SetIntensityDifferenceThreshold(
double);
188 virtual double GetIntensityDifferenceThreshold()
const;
193 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
249 #ifndef ITK_MANUAL_INSTANTIATION
250 #include "itkDemonsRegistrationFunction.hxx"
void SetMovingImageInterpolator(InterpolatorType *ptr)
MovingImageGradientCalculatorType::Pointer MovingImageGradientCalculatorPointer
Critical section locking class that can be allocated on the stack.
Superclass::FixedImageType FixedImageType
Light weight base class for most itk classes.
virtual double GetRMSChange() const
CentralDifferenceImageFunction< MovingImageType, CoordRepType > MovingImageGradientCalculatorType
Superclass::MovingImageType MovingImageType
SizeValueType m_NumberOfPixelsProcessed
Superclass::FixedImagePointer FixedImagePointer
MovingImageGradientCalculatorPointer m_MovingImageGradientCalculator
SmartPointer< Self > Pointer
Superclass::FloatOffsetType FloatOffsetType
FixedImageType::SizeType SizeType
Superclass::MovingImagePointer MovingImagePointer
ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
double m_SumOfSquaredDifference
Calculate the derivative by central differencing.
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
unsigned long SizeValueType
DemonsRegistrationFunction Self
SizeValueType m_NumberOfPixelsProcessed
SimpleFastMutexLock m_MetricCalculationLock
double m_SumOfSquaredChange
double m_SumOfSquaredDifference
double m_DenominatorThreshold
A templated class holding a n-Dimensional vector.
FixedImageType::SpacingType SpacingType
CovariantVector< double, itkGetStaticConstMacro(ImageDimension) > CovariantVectorType
Superclass::PointType PointType
Superclass::PixelType PixelType
ImageType::PixelType PixelType
FixedImageType::IndexType IndexType
Superclass::DisplacementFieldType DisplacementFieldType
InterpolatorType * GetMovingImageInterpolator(void)
GradientCalculatorPointer m_FixedImageGradientCalculator
Linearly interpolate an image at specified positions.
virtual void SetUseMovingImageGradient(bool flag)
virtual void * GetGlobalDataPointer() const override
virtual bool GetUseMovingImageGradient() const
bool m_UseMovingImageGradient
PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Superclass
Base class for all image interpolaters.
InterpolatorType::Pointer InterpolatorPointer
InterpolatorType::PointType PointType
GradientCalculatorType::Pointer GradientCalculatorPointer
LinearInterpolateImageFunction< MovingImageType, CoordRepType > DefaultInterpolatorType
InterpolateImageFunction< MovingImageType, CoordRepType > InterpolatorType
~DemonsRegistrationFunction() override
virtual TimeStepType ComputeGlobalTimeStep(void *) const override
double m_IntensityDifferenceThreshold
Superclass::DisplacementFieldTypePointer DisplacementFieldTypePointer
Superclass::NeighborhoodType NeighborhoodType
InterpolatorPointer m_MovingImageInterpolator
Control indentation during Print() invocation.
CentralDifferenceImageFunction< FixedImageType > GradientCalculatorType
ImageBaseType::SizeType SizeType
A templated class holding a n-Dimensional covariant vector.
Superclass::TimeStepType TimeStepType
ConstNeighborhoodIterator< FixedImageType > FixedImageNeighborhoodIteratorType
PixelType m_ZeroUpdateReturn
Superclass::RadiusType RadiusType
double m_SumOfSquaredChange
SmartPointer< const Self > ConstPointer
ImageBaseType::IndexType IndexType