18#ifndef __itkPCAMetric2_H__
19#define __itkPCAMetric2_H__
23#include "itkSmoothingRecursiveGaussianImageFilter.h"
25#include "itkNearestNeighborInterpolateImageFunction.h"
26#include "itkExtractImageFilter.h"
30template<
class TFixedImage,
class TMovingImage >
53 itkSetMacro( NumAdditionalSamplesFixed,
unsigned int );
54 itkSetMacro( ReducedDimensionIndex,
unsigned int );
55 itkSetMacro( SubtractMean,
bool );
57 itkSetMacro( TransformIsStackTransform,
bool );
106 FixedImageType::ImageDimension );
110 MovingImageType::ImageDimension );
133 void PrintSelf( std::ostream & os, Indent indent )
const override;
142 typedef typename itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension >
166 void SampleRandom(
const int n,
const int m, std::vector< int > & numbers )
const;
185#ifndef ITK_MANUAL_INSTANTIATION
186#include "itkPCAMetric2.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
FixedArray< double, Self::MovingImageDimension > MovingImageDerivativeScalesType
Superclass::GradientImagePointer GradientImagePointer
Superclass::DerivativeType DerivativeType
Superclass::TransformPointer TransformPointer
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
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::IndexType MovingImageIndexType
MovingImageType::RegionType MovingImageRegionType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
FixedImageIndexType::IndexValueType FixedImageIndexValueType
Superclass::MovingImagePixelType MovingImagePixelType
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
GradientImageFilter< MovingImageType, RealType, RealType > CentralDifferenceGradientFilterType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImageType GradientImageType
FixedImageType::PixelType FixedImagePixelType
Superclass::InterpolatorType InterpolatorType
TransformType::OutputPointType MovingImagePointType
FixedImageType::IndexType FixedImageIndexType
Superclass::TransformType TransformType
Superclass::MovingImageType MovingImageType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::RealType RealType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::ParametersType ParametersType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
MeasureType GetValue(const TransformParametersType ¶meters) const override
Superclass::TransformJacobianType TransformJacobianType
void Initialize(void) override
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Superclass::TransformParametersType TransformParametersType
Superclass::ImageSamplerType ImageSamplerType
Superclass::TransformType TransformType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::InterpolatorPointer InterpolatorPointer
FixedImageSizeType m_GridSize
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::ImageSamplerPointer ImageSamplerPointer
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::OutputPointType OutputPointType
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::TransformPointer TransformPointer
unsigned int m_NumAdditionalSamplesFixed
void PrintSelf(std::ostream &os, Indent indent) const override
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override
Superclass::DerivativeType DerivativeType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::FixedImageLimiterType FixedImageLimiterType
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
Superclass::MovingImageType MovingImageType
void SampleRandom(const int n, const int m, std::vector< int > &numbers) const
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::FixedImageIndexType FixedImageIndexType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
bool m_TransformIsStackTransform
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::MeasureType MeasureType
unsigned int m_ReducedDimensionIndex
Superclass::MovingImageMaskPointer MovingImageMaskPointer
Superclass::InputPointType InputPointType
Superclass::MovingImagePointType MovingImagePointType
Superclass::InterpolatorType InterpolatorType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
void operator=(const Self &)
Superclass::GradientImagePointer GradientImagePointer
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::FixedImageType FixedImageType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::GradientPixelType GradientPixelType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
SmartPointer< const Self > ConstPointer
Superclass::BSplineInterpolatorType BSplineInterpolatorType
FixedImageRegionType::SizeType FixedImageSizeType
Superclass::MovingImageConstPointer MovingImageConstPointer
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override
Superclass::RealType RealType
itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension > FixedImageContinuousIndexType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImageType GradientImageType
Superclass::FixedImagePointType FixedImagePointType
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer