18#ifndef __itkImageToImageMetricWithFeatures_h
19#define __itkImageToImageMetricWithFeatures_h
22#include "itkInterpolateImageFunction.h"
37template<
class TFixedImage,
class TMovingImage,
38class TFixedFeatureImage = TFixedImage,
class TMovingFeatureImage = TMovingImage >
98 FixedImageType::ImageDimension );
102 MovingImageType::ImageDimension );
124 itkGetConstMacro( NumberOfFixedFeatureImages,
unsigned int );
166 itkGetConstMacro( NumberOfMovingFeatureImages,
unsigned int );
211 void PrintSelf( std::ostream & os, Indent indent )
const;
247#ifndef ITK_MANUAL_INSTANTIATION
248#include "itkImageToImageMetricWithFeatures.hxx"
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::TransformParametersType TransformParametersType
Superclass::InputPointType InputPointType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::FixedImageMaskPointer FixedImageMaskPointer
InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::TransformJacobianType TransformJacobianType
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
TransformType::InputPointType FixedImagePointType
ImageSamplerType::Pointer ImageSamplerPointer
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::GradientPixelType GradientPixelType
Superclass::MeasureType MeasureType
MovingImageType::RegionType MovingImageRegionType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
Superclass::MovingImagePixelType MovingImagePixelType
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImageType GradientImageType
FixedImageType::PixelType FixedImagePixelType
Superclass::InterpolatorType InterpolatorType
TransformType::OutputPointType MovingImagePointType
Superclass::TransformType TransformType
Superclass::MovingImageType MovingImageType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::RealType RealType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::ParametersType ParametersType
Computes similarity between regions of two images.
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
FixedFeatureInterpolatorType::Pointer FixedFeatureInterpolatorPointer
unsigned int m_NumberOfMovingFeatureImages
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::TransformParametersType TransformParametersType
SmartPointer< Self > Pointer
MovingFeatureImageVectorType m_MovingFeatureImages
void SetMovingFeatureImage(unsigned int i, MovingFeatureImageType *im)
Superclass::OutputPointType OutputPointType
FixedFeatureImageVectorType m_FixedFeatureImages
Superclass::MovingImageConstPointer MovingImageConstPointer
const MovingFeatureImageType * GetMovingFeatureImage(void) const
Superclass::MovingImageMaskInterpolatorType MovingImageMaskInterpolatorType
std::vector< FixedFeatureInterpolatorPointer > FixedFeatureInterpolatorVectorType
Superclass::RealType RealType
const MovingFeatureInterpolatorType * GetMovingFeatureInterpolator(unsigned int i) const
BSplineInterpolatorType::Pointer BSplineInterpolatorPointer
void SetNumberOfFixedFeatureImages(unsigned int arg)
const FixedFeatureInterpolatorType * GetFixedFeatureInterpolator(void) const
void SetFixedFeatureImage(FixedFeatureImageType *im)
Superclass::FixedImageMaskPointer FixedImageMaskPointer
virtual ~ImageToImageMetricWithFeatures()
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
bool m_FeatureInterpolatorsAreBSpline
Superclass::InterpolatorPointer InterpolatorPointer
void SetMovingFeatureInterpolator(unsigned int i, MovingFeatureInterpolatorType *interpolator)
MovingFeatureInterpolatorVectorType m_MovingFeatureInterpolators
void SetMovingFeatureImage(MovingFeatureImageType *im)
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
InterpolateImageFunction< FixedFeatureImageType, double > FixedFeatureInterpolatorType
const MovingFeatureImageType * GetMovingFeatureImage(unsigned int i) const
ImageToImageMetricWithFeatures(const Self &)
Superclass::TransformJacobianType TransformJacobianType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
InterpolateImageFunction< MovingFeatureImageType, double > MovingFeatureInterpolatorType
virtual void Initialize(void)
void SetNumberOfMovingFeatureImages(unsigned int arg)
Superclass::FixedImageRegionType FixedImageRegionType
unsigned int m_NumberOfFixedFeatureImages
Superclass::MovingImageMaskPointer MovingImageMaskPointer
FixedFeatureImageType::Pointer FixedFeatureImagePointer
ImageToImageMetricWithFeatures Self
void operator=(const Self &)
Superclass::FixedImageType FixedImageType
Superclass::GradientImageType GradientImageType
TFixedFeatureImage FixedFeatureImageType
std::vector< bool > m_FeatureInterpolatorsIsBSpline
void SetMovingFeatureInterpolator(MovingFeatureInterpolatorType *interpolator)
Superclass::GradientPixelType GradientPixelType
Superclass::ImageSampleContainerType ImageSampleContainerType
MovingFeatureImageType::Pointer MovingFeatureImagePointer
void SetFixedFeatureInterpolator(unsigned int i, FixedFeatureInterpolatorType *interpolator)
Superclass::TransformPointer TransformPointer
std::vector< MovingFeatureImagePointer > MovingFeatureImageVectorType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::DerivativeType DerivativeType
Superclass::MovingImageType MovingImageType
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::InputPointType InputPointType
void SetFixedFeatureImage(unsigned int i, FixedFeatureImageType *im)
SmartPointer< const Self > ConstPointer
Superclass::InternalMovingImageMaskType InternalMovingImageMaskType
const MovingFeatureInterpolatorType * GetMovingFeatureInterpolator(void) const
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::ImageSamplerType ImageSamplerType
ImageToImageMetricWithFeatures()
std::vector< MovingFeatureInterpolatorPointer > MovingFeatureInterpolatorVectorType
Superclass::BSplineInterpolatorType BSplineInterpolatorType
Superclass::FixedImageLimiterType FixedImageLimiterType
Superclass::TransformType TransformType
const FixedFeatureImageType * GetFixedFeatureImage(void) const
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::InterpolatorType InterpolatorType
void PrintSelf(std::ostream &os, Indent indent) const
const FixedFeatureImageType * GetFixedFeatureImage(unsigned int i) const
void SetFixedFeatureInterpolator(FixedFeatureInterpolatorType *interpolator)
FixedFeatureInterpolatorVectorType m_FixedFeatureInterpolators
Superclass::FixedImagePointType FixedImagePointType
MovingFeatureInterpolatorType::Pointer MovingFeatureInterpolatorPointer
Superclass::MeasureType MeasureType
BSplineFeatureInterpolatorVectorType m_MovingFeatureBSplineInterpolators
Superclass::ImageSamplerPointer ImageSamplerPointer
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
std::vector< FixedFeatureImagePointer > FixedFeatureImageVectorType
Superclass::MovingImageRegionType MovingImageRegionType
virtual void CheckForBSplineFeatureInterpolators(void)
Superclass::ParametersType ParametersType
std::vector< BSplineInterpolatorPointer > BSplineFeatureInterpolatorVectorType
Superclass::MovingImagePointType MovingImagePointType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::InternalMaskPixelType InternalMaskPixelType
TMovingFeatureImage MovingFeatureImageType
Superclass::GradientImagePointer GradientImagePointer
const FixedFeatureInterpolatorType * GetFixedFeatureInterpolator(unsigned int i) const