18 #ifndef __itkPCAMetric_h 19 #define __itkPCAMetric_h 23 #include "itkSmoothingRecursiveGaussianImageFilter.h" 25 #include "itkNearestNeighborInterpolateImageFunction.h" 26 #include "itkExtractImageFilter.h" 32 template<
class TFixedImage,
class TMovingImage >
55 itkSetMacro( SampleLastDimensionRandomly,
bool );
56 itkSetMacro( NumSamplesLastDimension,
unsigned int );
57 itkSetMacro( NumAdditionalSamplesFixed,
unsigned int );
58 itkSetMacro( ReducedDimensionIndex,
unsigned int );
59 itkSetMacro( SubtractMean,
bool );
60 itkSetMacro( GridSize, FixedImageSizeType );
61 itkSetMacro( TransformIsStackTransform,
bool );
62 itkSetMacro( NumEigenValues,
unsigned int );
63 itkSetMacro( UseDerivativeOfMean,
bool );
64 itkSetMacro( DeNoise,
bool );
65 itkSetMacro( VarNoise,
double );
68 itkGetConstMacro( SampleLastDimensionRandomly,
bool );
69 itkGetConstMacro( NumSamplesLastDimension,
int );
87 typedef typename Superclass::RealType
RealType;
117 itkStaticConstMacro( FixedImageDimension,
unsigned int,
118 FixedImageType::ImageDimension );
121 itkStaticConstMacro( MovingImageDimension,
unsigned int,
122 MovingImageType::ImageDimension );
125 virtual MeasureType GetValue(
const TransformParametersType & parameters )
const;
128 virtual void GetDerivative(
const TransformParametersType & parameters,
129 DerivativeType & derivative )
const;
132 virtual void GetValueAndDerivative(
const TransformParametersType & parameters,
133 MeasureType & Value, DerivativeType & Derivative )
const;
139 virtual void Initialize(
void )
throw ( ExceptionObject );
145 void PrintSelf( std::ostream & os, Indent indent )
const;
154 typedef typename itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension >
166 void EvaluateTransformJacobianInnerProduct(
167 const TransformJacobianType & jacobian,
168 const MovingImageDerivativeType & movingImageDerivative,
169 DerivativeType & imageJacobian )
const;
185 void operator=(
const Self & );
188 void SampleRandom(
const int n,
const int m, std::vector< int > & numbers )
const;
218 #ifndef ITK_MANUAL_INSTANTIATION 219 #include "itkPCAMetric.hxx" 222 #endif // end #ifndef __itkPCAMetric_h bool m_TransformIsStackTransform
Superclass::FixedImageConstPointer FixedImageConstPointer
vnl_vector< double > m_normdCdmu
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::MovingImageRegionType MovingImageRegionType
unsigned int m_NumEigenValues
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::TransformType TransformType
Superclass::InputPointType InputPointType
Superclass::FixedImageIndexValueType FixedImageIndexValueType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::DerivativeType DerivativeType
vnl_vector< double > m_thirdEigenVector
Superclass::FixedImagePointType FixedImagePointType
Superclass::MeasureType MeasureType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
vnl_vector< double > m_eigenValues
vnl_vector< double > m_seventhEigenVector
SmartPointer< const Self > ConstPointer
vnl_vector< double > m_fifthEigenVector
Superclass::FixedImageLimiterType FixedImageLimiterType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
unsigned int m_NumAdditionalSamplesFixed
unsigned int m_NumSamplesLastDimension
Superclass::TransformPointer TransformPointer
Superclass::MovingImagePointType MovingImagePointType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientPixelType GradientPixelType
vnl_vector< double > m_fourthEigenVector
bool m_SampleLastDimensionRandomly
Superclass::MovingImageType MovingImageType
Superclass::GradientImageType GradientImageType
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::FixedImageIndexType FixedImageIndexType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::ImageSamplerType ImageSamplerType
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::TransformJacobianType TransformJacobianType
Superclass::TransformParametersType TransformParametersType
FixedImageSizeType m_GridSize
Superclass::MovingImagePixelType MovingImagePixelType
FixedImageRegionType::SizeType FixedImageSizeType
Superclass::ImageSamplerPointer ImageSamplerPointer
unsigned int m_ReducedDimensionIndex
Superclass::GradientImagePointer GradientImagePointer
Superclass::InterpolatorType InterpolatorType
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::BSplineInterpolatorType BSplineInterpolatorType
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::RealType RealType
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::OutputPointType OutputPointType
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
vnl_vector< double > m_firstEigenVector
Superclass::FixedImageType FixedImageType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
vnl_vector< double > m_sixthEigenVector
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
vnl_vector< double > m_secondEigenVector
bool m_UseDerivativeOfMean
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::FixedImagePixelType FixedImagePixelType
itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension > FixedImageContinuousIndexType