19#ifndef __itkVarianceOverLastDimensionImageMetric_h
20#define __itkVarianceOverLastDimensionImageMetric_h
22#include "itkSmoothingRecursiveGaussianImageFilter.h"
24#include "itkNearestNeighborInterpolateImageFunction.h"
51template<
class TFixedImage,
class TMovingImage >
74 itkSetMacro( SampleLastDimensionRandomly,
bool );
75 itkSetMacro( NumSamplesLastDimension,
unsigned int );
76 itkSetMacro( NumAdditionalSamplesFixed,
unsigned int );
77 itkSetMacro( ReducedDimensionIndex,
unsigned int );
78 itkSetMacro( SubtractMean,
bool );
80 itkSetMacro( TransformIsStackTransform,
bool );
83 itkGetConstMacro( SampleLastDimensionRandomly,
bool );
84 itkGetConstMacro( NumSamplesLastDimension,
int );
133 FixedImageType::ImageDimension );
137 MovingImageType::ImageDimension );
159 void PrintSelf( std::ostream & os, Indent indent )
const override;
168 typedef typename itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension >
191 void SampleRandom(
const int n,
const int m, std::vector< int > & numbers )
const;
215#ifndef ITK_MANUAL_INSTANTIATION
216#include "itkVarianceOverLastDimensionImageMetric.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
Compute the sum of variances over the slowest varying dimension in the moving image.
Superclass::FixedImageRegionType FixedImageRegionType
VarianceOverLastDimensionImageMetric(const Self &)
bool m_TransformIsStackTransform
Superclass::TransformParametersType TransformParametersType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::TransformJacobianType TransformJacobianType
SmartPointer< const Self > ConstPointer
~VarianceOverLastDimensionImageMetric() override
itk::ContinuousIndex< CoordinateRepresentationType, FixedImageDimension > FixedImageContinuousIndexType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
void SampleRandom(const int n, const int m, std::vector< int > &numbers) const
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::FixedImageIndexType FixedImageIndexType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::ParametersType ParametersType
SmartPointer< Self > Pointer
Superclass::MovingImageConstPointer MovingImageConstPointer
VarianceOverLastDimensionImageMetric()
Superclass::GradientPixelType GradientPixelType
Superclass::ImageSamplerType ImageSamplerType
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::InputPointType InputPointType
unsigned int m_NumAdditionalSamplesFixed
Superclass::ImageSampleContainerType ImageSampleContainerType
MeasureType GetValue(const TransformParametersType ¶meters) const override
Superclass::MovingImagePointType MovingImagePointType
Superclass::MovingImageType MovingImageType
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Superclass::TransformPointer TransformPointer
Superclass::GradientImagePointer GradientImagePointer
Superclass::FixedImageIndexValueType FixedImageIndexValueType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::FixedImageType FixedImageType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::RealType RealType
Superclass::GradientImageType GradientImageType
unsigned int m_ReducedDimensionIndex
Superclass::TransformType TransformType
Superclass::InterpolatorType InterpolatorType
Superclass::OutputPointType OutputPointType
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::BSplineInterpolatorType BSplineInterpolatorType
void Initialize(void) override
Superclass::DerivativeType DerivativeType
void operator=(const Self &)
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
VarianceOverLastDimensionImageMetric Self
Superclass::MeasureType MeasureType
Superclass::FixedImageConstPointer FixedImageConstPointer
unsigned int m_NumSamplesLastDimension
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
Superclass::FixedImageLimiterType FixedImageLimiterType
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::FixedImageMaskType FixedImageMaskType
bool m_SampleLastDimensionRandomly
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::ImageSamplerPointer ImageSamplerPointer
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override
FixedImageSizeType m_GridSize
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::MovingImagePixelType MovingImagePixelType
Superclass::FixedImagePointType FixedImagePointType
Superclass::GradientImageFilterType GradientImageFilterType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
FixedImageRegionType::SizeType FixedImageSizeType
Superclass::CoordinateRepresentationType CoordinateRepresentationType