18#ifndef __itkAdvancedNormalizedCorrelationImageToImageMetric_h
19#define __itkAdvancedNormalizedCorrelationImageToImageMetric_h
89template<
class TFixedImage,
class TMovingImage >
160 FixedImageType::ImageDimension );
164 MovingImageType::ImageDimension );
188 itkSetMacro( SubtractMean,
bool );
189 itkGetConstReferenceMacro( SubtractMean,
bool );
190 itkBooleanMacro( SubtractMean );
197 void PrintSelf( std::ostream & os, Indent indent )
const override;
277 PaddedCorrelationGetValueAndDerivativePerThreadStruct );
278 itkAlignedTypedef( ITK_CACHE_LINE_ALIGNMENT, PaddedCorrelationGetValueAndDerivativePerThreadStruct,
279 AlignedCorrelationGetValueAndDerivativePerThreadStruct );
287#ifndef ITK_MANUAL_INSTANTIATION
288#include "itkAdvancedNormalizedCorrelationImageToImageMetric.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
ThreaderType::WorkUnitInfo ThreadInfoType
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
DerivativeType::ValueType DerivativeValueType
Superclass::MovingImageType MovingImageType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
itk::PlatformMultiThreader ThreaderType
Superclass::RealType RealType
Superclass::FixedImageRegionType FixedImageRegionType
AdvancedTransformType::NumberOfParametersType NumberOfParametersType
Superclass::ParametersType ParametersType
Computes normalized correlation between two images, based on AdvancedImageToImageMetric....
Superclass::ThreadInfoType ThreadInfoType
Superclass::RealType RealType
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION AccumulateDerivativesThreaderCallback(void *arg)
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::DerivativeValueType DerivativeValueType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::TransformParametersType TransformParametersType
Superclass::TransformType TransformType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::FixedImagePointType FixedImagePointType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
Superclass::DerivativeType DerivativeType
Superclass::MovingImageRegionType MovingImageRegionType
AlignedCorrelationGetValueAndDerivativePerThreadStruct * m_CorrelationGetValueAndDerivativePerThreadVariables
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
AdvancedNormalizedCorrelationImageToImageMetric()
itkAlignedTypedef(ITK_CACHE_LINE_ALIGNMENT, PaddedCorrelationGetValueAndDerivativePerThreadStruct, AlignedCorrelationGetValueAndDerivativePerThreadStruct)
Superclass::ParametersType ParametersType
AdvancedNormalizedCorrelationImageToImageMetric Self
Superclass::MovingImageDerivativeType MovingImageDerivativeType
Superclass::GradientImageFilterType GradientImageFilterType
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
Superclass::MovingImageIndexType MovingImageIndexType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
MeasureType GetValue(const TransformParametersType ¶meters) const override
AdvancedNormalizedCorrelationImageToImageMetric(const Self &)
void ThreadedGetValueAndDerivative(ThreadIdType threadID) override
Superclass::CoordinateRepresentationType CoordinateRepresentationType
NumericTraits< MeasureType >::AccumulateType AccumulateType
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::OutputPointType OutputPointType
Superclass::GradientImagePointer GradientImagePointer
Superclass::NumberOfParametersType NumberOfParametersType
Superclass::InterpolatorType InterpolatorType
~AdvancedNormalizedCorrelationImageToImageMetric() override
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
Superclass::GradientPixelType GradientPixelType
Superclass::BSplineInterpolatorType BSplineInterpolatorType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
Superclass::FixedImageIndexType FixedImageIndexType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
SmartPointer< Self > Pointer
void UpdateDerivativeTerms(const RealType &fixedImageValue, const RealType &movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, DerivativeType &derivativeF, DerivativeType &derivativeM, DerivativeType &differential) const
Superclass::MovingImageMaskType MovingImageMaskType
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
itkPadStruct(ITK_CACHE_LINE_ALIGNMENT, CorrelationGetValueAndDerivativePerThreadStruct, PaddedCorrelationGetValueAndDerivativePerThreadStruct)
Superclass::FixedImageIndexValueType FixedImageIndexValueType
Superclass::MovingImagePixelType MovingImagePixelType
void GetValueAndDerivativeSingleThreaded(const TransformParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const override
Superclass::GradientImageFilterPointer GradientImageFilterPointer
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
Superclass::MeasureType MeasureType
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::MovingImagePointType MovingImagePointType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::TransformJacobianType TransformJacobianType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::FixedImageLimiterType FixedImageLimiterType
Superclass::FixedImageType FixedImageType
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
void operator=(const Self &)
ThreadIdType m_CorrelationGetValueAndDerivativePerThreadVariablesSize
Superclass::TransformPointer TransformPointer
Superclass::ImageSamplerPointer ImageSamplerPointer
Superclass::ThreaderType ThreaderType
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
void AfterThreadedGetValueAndDerivative(MeasureType &value, DerivativeType &derivative) const override
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
Superclass::GradientImageType GradientImageType
Superclass::MovingImageType MovingImageType
void InitializeThreadingParameters(void) const override
Superclass::InputPointType InputPointType
SmartPointer< const Self > ConstPointer
Superclass::ImageSamplerType ImageSamplerType
Superclass::MovingImageConstPointer MovingImageConstPointer
DerivativeType st_DerivativeM
SizeValueType st_NumberOfPixelsCounted
DerivativeType st_DerivativeF
DerivativeType st_Differential
AdvancedNormalizedCorrelationImageToImageMetric * st_Metric
DerivativeValueType * st_DerivativePointer
RealType st_InvertedDenominator
AccumulateType st_sfm_smm