18#ifndef __itkPatternIntensityImageToImageMetric_h
19#define __itkPatternIntensityImageToImageMetric_h
24#include "itkCastImageFilter.h"
25#include "itkResampleImageFilter.h"
26#include "itkMultiplyImageFilter.h"
27#include "itkSubtractImageFilter.h"
28#include "itkOptimizer.h"
29#include "itkRescaleIntensityImageFilter.h"
44template<
class TFixedImage,
class TMovingImage >
115 FixedImageType::ImageDimension );
125 typedef itk::ResampleImageFilter<
128 typedef itk::RescaleIntensityImageFilter<
132 typedef itk::SubtractImageFilter<
137 typedef itk::MultiplyImageFilter<
145 MovingImageType::ImageDimension );
170 itkSetMacro( NoiseConstant,
double );
171 itkGetConstReferenceMacro( NoiseConstant,
double );
174 itkSetMacro( OptimizeNormalizationFactor,
bool );
175 itkGetConstReferenceMacro( OptimizeNormalizationFactor,
bool );
181 void PrintSelf( std::ostream & os, Indent indent )
const override;
212#ifndef ITK_MANUAL_INSTANTIATION
213#include "itkPatternIntensityImageToImageMetric.hxx"
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::TransformParametersType TransformParametersType
Superclass::InputPointType InputPointType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::TransformJacobianType TransformJacobianType
FixedArray< double, Self::MovingImageDimension > MovingImageDerivativeScalesType
Superclass::GradientImagePointer GradientImagePointer
Superclass::DerivativeType DerivativeType
Superclass::TransformPointer TransformPointer
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
Superclass::OutputPointType OutputPointType
ImageSamplerBase< FixedImageType > ImageSamplerType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Superclass::FixedImageType FixedImageType
ImageSamplerType::Pointer ImageSamplerPointer
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::GradientPixelType GradientPixelType
Superclass::MeasureType MeasureType
MovingImageType::RegionType MovingImageRegionType
MovingImageType::Pointer MovingImagePointer
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
Superclass::MovingImagePixelType MovingImagePixelType
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImageType GradientImageType
FixedImageType::PixelType FixedImagePixelType
Superclass::InterpolatorType InterpolatorType
Superclass::TransformType TransformType
Superclass::MovingImageType MovingImageType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
TransformType::ScalarType ScalarType
Superclass::RealType RealType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::ParametersType ParametersType
Projective interpolation of an image at specified positions.
Computes similarity between two objects to be registered.
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
PatternIntensityImageToImageMetric()
PatternIntensityImageToImageMetric(const Self &)
Superclass::OutputPointType OutputPointType
itk::MultiplyImageFilter< TransformedMovingImageType, TransformedMovingImageType, TransformedMovingImageType > MultiplyImageFilterType
TransformType::ScalarType ScalarType
DifferenceImageFilterType::Pointer DifferenceImageFilterPointer
void operator=(const Self &)
TransformMovingImageFilterType::Pointer TransformMovingImageFilterPointer
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::InputPointType InputPointType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
MeasureType m_FixedMeasure
Superclass::FixedImageMaskPointer FixedImageMaskPointer
MeasureType ComputePIDiff(const TransformParametersType ¶meters, float scalingfactor) const
Superclass::GradientImagePointer GradientImagePointer
SmartPointer< Self > Pointer
MeasureType ComputePIFixed(void) const
Superclass::MeasureType MeasureType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::FixedImageType FixedImageType
MultiplyImageFilterPointer m_MultiplyImageFilter
bool m_OptimizeNormalizationFactor
Superclass::FixedImageMaskType FixedImageMaskType
MultiplyImageFilterType::Pointer MultiplyImageFilterPointer
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override
Superclass::TransformType TransformType
~PatternIntensityImageToImageMetric() override
Superclass::FixedImageLimiterType FixedImageLimiterType
CombinationTransformPointer m_CombinationTransform
itk::SubtractImageFilter< FixedImageType, TransformedMovingImageType, TransformedMovingImageType > DifferenceImageFilterType
Superclass::TransformPointer TransformPointer
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::InterpolatorType InterpolatorType
Superclass::FixedImageRegionType FixedImageRegionType
unsigned int m_NeighborhoodRadius
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
void Initialize(void) override
SmartPointer< const Self > ConstPointer
itk::AdvancedCombinationTransform< ScalarType, FixedImageDimension > CombinationTransformType
OptimizerType::ScalesType ScalesType
itk::RescaleIntensityImageFilter< TransformedMovingImageType, TransformedMovingImageType > RescaleIntensityImageFilterType
TransformMovingImageFilterPointer m_TransformMovingImageFilter
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Superclass::ImageSamplerPointer ImageSamplerPointer
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::GradientPixelType GradientPixelType
RescaleIntensityImageFilterPointer m_RescaleImageFilter
Superclass::MovingImageType MovingImageType
Superclass::TransformJacobianType TransformJacobianType
PatternIntensityImageToImageMetric Self
Superclass::DerivativeType DerivativeType
RescaleIntensityImageFilterType::Pointer RescaleIntensityImageFilterPointer
MeasureType GetValue(const TransformParametersType ¶meters) const override
itk::Image< FixedImagePixelType, itkGetStaticConstMacro(FixedImageDimension) > TransformedMovingImageType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
CombinationTransformType::Pointer CombinationTransformPointer
Superclass::ParametersType ParametersType
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::GradientImageType GradientImageType
itk::AdvancedRayCastInterpolateImageFunction< MovingImageType, ScalarType > RayCastInterpolatorType
Superclass::FixedImageConstPointer FixedImageConstPointer
DifferenceImageFilterPointer m_DifferenceImageFilter
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::RealType RealType
Superclass::TransformParametersType TransformParametersType
itk::Optimizer OptimizerType
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::ImageSamplerType ImageSamplerType
Superclass::MovingImagePointer MovingImagePointer
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::GradientImageFilterPointer GradientImageFilterPointer
itk::ResampleImageFilter< MovingImageType, TransformedMovingImageType > TransformMovingImageFilterType
RayCastInterpolatorType::Pointer RayCastInterpolatorPointer
double m_NormalizationFactor
Superclass::InterpolatorPointer InterpolatorPointer