16 #ifndef __itkVarianceOverLastDimensionImageMetric_h
17 #define __itkVarianceOverLastDimensionImageMetric_h
19 #include "itkSmoothingRecursiveGaussianImageFilter.h"
21 #include "itkNearestNeighborInterpolateImageFunction.h"
48 template <
class TFixedImage,
class TMovingImage >
71 itkSetMacro( SampleLastDimensionRandomly,
bool );
72 itkSetMacro( NumSamplesLastDimension,
unsigned int );
73 itkSetMacro( NumAdditionalSamplesFixed,
unsigned int );
74 itkSetMacro( ReducedDimensionIndex,
unsigned int );
75 itkSetMacro( SubtractMean,
bool );
77 itkSetMacro( TransformIsStackTransform,
bool );
80 itkGetConstMacro(SampleLastDimensionRandomly,
bool);
81 itkGetConstMacro(NumSamplesLastDimension,
int);
130 FixedImageType::ImageDimension );
134 MovingImageType::ImageDimension );
150 virtual void Initialize(
void) throw ( ExceptionObject );
154 virtual ~VarianceOverLastDimensionImageMetric() {};
155 void PrintSelf( std::ostream& os, Indent indent )
const;
164 typedef typename itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension >
186 void SampleRandom (
const int n,
const int m, std::vector<int> & numbers)
const;
210 #ifndef ITK_MANUAL_INSTANTIATION
211 #include "itkVarianceOverLastDimensionImageMetric.hxx"
214 #endif // end #ifndef __itkVarianceOverLastDimensionImageMetric_h
Superclass::MeasureType MeasureType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::GradientImageFilterType GradientImageFilterType
void PrintSelf(std::ostream &os, Indent indent) const
Superclass::FixedImageIndexValueType FixedImageIndexValueType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::FixedImagePointType FixedImagePointType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::InputPointType InputPointType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::TransformType TransformType
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImageType MovingImageType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::FixedImageMaskPointer FixedImageMaskPointer
void operator=(const Self &)
Superclass::OutputPointType OutputPointType
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics...
Superclass::TransformParametersType TransformParametersType
Superclass::RealType RealType
VarianceOverLastDimensionImageMetric()
BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > BSplineInterpolatorType
Superclass::GradientPixelType GradientPixelType
Superclass::GradientImageType GradientImageType
bool m_TransformIsStackTransform
Superclass::ImageSampleContainerType ImageSampleContainerType
FixedImageLimiterType::OutputType FixedImageLimiterOutputType
Superclass::TransformType TransformType
Superclass::ImageSamplerType ImageSamplerType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::MovingImageIndexType MovingImageIndexType
unsigned int m_ReducedDimensionIndex
virtual void Initialize(void)
ImageSamplerType::OutputVectorContainerType ImageSampleContainerType
Superclass::GradientPixelType GradientPixelType
MovingImageType::IndexType MovingImageIndexType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
InterpolatorType::ContinuousIndexType MovingImageContinuousIndexType
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
TransformType::InputPointType FixedImagePointType
VarianceOverLastDimensionImageMetric Self
Superclass::TransformPointer TransformPointer
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::ParametersType ParametersType
ImageSamplerBase< FixedImageType > ImageSamplerType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
AdvancedTransformType::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::FixedImageLimiterType FixedImageLimiterType
void SampleRandom(const int n, const int m, std::vector< int > &numbers) const
Superclass::ParametersType ParametersType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::MovingImagePointType MovingImagePointType
FixedImageType::IndexType FixedImageIndexType
Superclass::BSplineInterpolatorType BSplineInterpolatorType
Superclass::FixedImageIndexType FixedImageIndexType
unsigned int m_NumAdditionalSamplesFixed
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::GradientImagePointer GradientImagePointer
Superclass::InputPointType InputPointType
unsigned int m_NumSamplesLastDimension
virtual void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const
FixedArray< double, itkGetStaticConstMacro(MovingImageDimension) > MovingImageDerivativeScalesType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
FixedImageIndexType::IndexValueType FixedImageIndexValueType
TransformType::OutputPointType MovingImagePointType
Superclass::FixedImageType FixedImageType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::GradientImageType GradientImageType
Superclass::TransformPointer TransformPointer
FixedImageRegionType::SizeType FixedImageSizeType
Superclass::MeasureType MeasureType
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::GradientImageFilterType GradientImageFilterType
ImageSamplerType::Pointer ImageSamplerPointer
MovingImageType::RegionType MovingImageRegionType
Superclass::InterpolatorType InterpolatorType
bool m_SampleLastDimensionRandomly
Superclass::TransformJacobianType TransformJacobianType
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
GradientImageFilter< MovingImageType, RealType, RealType > CentralDifferenceGradientFilterType
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::MovingImageType MovingImageType
SmartPointer< const Self > ConstPointer
Superclass::InterpolatorType InterpolatorType
virtual void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::RealType RealType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
FixedImageSizeType m_GridSize
Superclass::MovingImageMaskPointer MovingImageMaskPointer
MovingImageLimiterType::OutputType MovingImageLimiterOutputType
Superclass::TransformJacobianType TransformJacobianType
Superclass::MovingImageLimiterType MovingImageLimiterType
LimiterFunctionBase< RealType, MovingImageDimension > MovingImageLimiterType
Superclass::OutputPointType OutputPointType
FixedImageType::PixelType FixedImagePixelType
SmartPointer< Self > Pointer
ImageSamplerType::OutputVectorContainerPointer ImageSampleContainerPointer
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::ImageSamplerPointer ImageSamplerPointer
Superclass::FixedImageType FixedImageType
Compute the sum of variances over the slowest varying dimension in the moving image.
BSplineInterpolatorType::CovariantVectorType MovingImageDerivativeType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::DerivativeType DerivativeType
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
Superclass::DerivativeType DerivativeType
virtual MeasureType GetValue(const TransformParametersType ¶meters) const
itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension > FixedImageContinuousIndexType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::GradientImagePointer GradientImagePointer