18 #ifndef itkLevelSetMotionRegistrationFunction_h
19 #define itkLevelSetMotionRegistrationFunction_h
53 template<
typename TFixedImage,
typename TMovingImage,
typename TDisplacementField >
64 TMovingImage, TDisplacementField
91 typedef typename Superclass::DisplacementFieldTypePointer
95 itkStaticConstMacro(ImageDimension,
unsigned
96 int, Superclass::ImageDimension);
127 { m_MovingImageInterpolator = ptr; }
131 {
return m_MovingImageInterpolator; }
135 virtual TimeStepType ComputeGlobalTimeStep(
void *GlobalData)
const ITK_OVERRIDE;
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; }
179 virtual void SetAlpha(
double);
181 virtual double GetAlpha()
const;
187 virtual void SetIntensityDifferenceThreshold(
double);
189 virtual double GetIntensityDifferenceThreshold()
const;
193 virtual void SetGradientMagnitudeThreshold(
double);
195 virtual double GetGradientMagnitudeThreshold()
const;
199 virtual void SetGradientSmoothingStandardDeviations(
double);
201 virtual double GetGradientSmoothingStandardDeviations()
const;
206 void SetUseImageSpacing(
bool);
208 bool GetUseImageSpacing()
const;
213 void PrintSelf(std::ostream & os,
Indent indent)
const ITK_OVERRIDE;
271 #ifndef ITK_MANUAL_INSTANTIATION
272 #include "itkLevelSetMotionRegistrationFunction.hxx"
virtual void * GetGlobalDataPointer() const override
Critical section locking class that can be allocated on the stack.
InterpolatorType * GetMovingImageInterpolator(void)
Light weight base class for most itk classes.
Superclass::MovingImageType MovingImageType
LinearInterpolateImageFunction< MovingImageType, CoordRepType > DefaultInterpolatorType
double m_GradientMagnitudeThreshold
~LevelSetMotionRegistrationFunction() override
SmoothingRecursiveGaussianImageFilter< MovingImageType > MovingImageSmoothingFilterType
CovariantVector< double, itkGetStaticConstMacro(ImageDimension) > CovariantVectorType
InterpolatorType::Pointer InterpolatorPointer
Superclass::FixedImagePointer FixedImagePointer
double m_SumOfSquaredChange
Superclass::RadiusType RadiusType
SmartPointer< Self > Pointer
ConstNeighborhoodIterator< TDisplacementField >::RadiusType RadiusType
PDEDeformableRegistrationFunction< TFixedImage, TMovingImage, TDisplacementField > Superclass
Const version of NeighborhoodIterator, defining iteration of a local N-dimensional neighborhood of pi...
unsigned long SizeValueType
InterpolateImageFunction< MovingImageType, CoordRepType > InterpolatorType
FixedImageType::SpacingType SpacingType
InterpolatorPointer m_SmoothMovingImageInterpolator
MovingImageSmoothingFilterPointer m_MovingImageSmoothingFilter
InterpolatorType::PointType PointType
ConstNeighborhoodIterator< FixedImageType > FixedImageNeighborhoodIteratorType
InterpolatorPointer m_MovingImageInterpolator
A templated class holding a n-Dimensional vector.
MovingImageType::SpacingType MovingSpacingType
Superclass::FixedImageType FixedImageType
PointType m_FixedImageOrigin
MovingImageSmoothingFilterType::Pointer MovingImageSmoothingFilterPointer
virtual double GetRMSChange() const
Superclass::PointType PointType
LevelSetMotionRegistrationFunction Self
Computes the smoothing of an image by convolution with the Gaussian kernels implemented as IIR filter...
SmartPointer< const Self > ConstPointer
ImageType::PixelType PixelType
double m_GradientSmoothingStandardDeviations
Superclass::NeighborhoodType NeighborhoodType
void SetMovingImageInterpolator(InterpolatorType *ptr)
Superclass::FloatOffsetType FloatOffsetType
Linearly interpolate an image at specified positions.
Base class for all image interpolaters.
static ITK_CONSTEXPR_FUNC T NonpositiveMin()
Superclass::DisplacementFieldType DisplacementFieldType
Superclass::TimeStepType TimeStepType
SpacingType m_FixedImageSpacing
Superclass::PixelType PixelType
double m_SumOfSquaredDifference
double m_SumOfSquaredDifference
Control indentation during Print() invocation.
FixedImageType::IndexType IndexType
ImageBaseType::SizeType SizeType
SizeValueType m_NumberOfPixelsProcessed
Vector< double, itkGetStaticConstMacro(ImageDimension) > VectorType
SizeValueType m_NumberOfPixelsProcessed
SimpleFastMutexLock m_MetricCalculationLock
A templated class holding a n-Dimensional covariant vector.
Superclass::DisplacementFieldTypePointer DisplacementFieldTypePointer
double m_SumOfSquaredChange
FixedImageType::SizeType SizeType
Superclass::MovingImagePointer MovingImagePointer
ImageBaseType::IndexType IndexType
double m_IntensityDifferenceThreshold