18#ifndef __itkSumSquaredTissueVolumeDifferenceImageToImageMetric_h
19#define __itkSumSquaredTissueVolumeDifferenceImageToImageMetric_h
60template <
class TFixedImage,
class TMovingImage >
161 void PrintSelf( std::ostream & os, Indent indent )
const override;
192 const RealType spatialJacobianDeterminant,
205 const RealType spatialJacobianDeterminant,
245#ifndef ITK_MANUAL_INSTANTIATION
246#include "itkSumSquaredTissueVolumeDifferenceImageToImageMetric.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
AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > AdvancedTransformType
Superclass::DerivativeType DerivativeType
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
DerivativeType::ValueType DerivativeValueType
Superclass::MovingImageType MovingImageType
LimiterFunctionBase< RealType, FixedImageDimension > FixedImageLimiterType
Superclass::RealType RealType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::ParametersType ParametersType
Compute sum of square tissue volume difference between two images.
Superclass::MovingImageIndexType MovingImageIndexType
SumSquaredTissueVolumeDifferenceImageToImageMetric Self
Superclass::MovingImageDerivativeScalesType MovingImageDerivativeScalesType
Superclass::MeasureType MeasureType
Superclass::CentralDifferenceGradientFilterType CentralDifferenceGradientFilterType
Superclass::DerivativeType DerivativeType
Superclass::MovingImagePointType MovingImagePointType
MeasureType GetValue(const TransformParametersType ¶meters) const override
Superclass::MovingImageRegionType MovingImageRegionType
Superclass::MovingImageConstPointer MovingImageConstPointer
Superclass::FixedImageIndexValueType FixedImageIndexValueType
virtual MeasureType GetValueSingleThreaded(const TransformParametersType ¶meters) const
Superclass::ImageSamplerPointer ImageSamplerPointer
Superclass::FixedImagePixelType FixedImagePixelType
Superclass::MovingImageLimiterType MovingImageLimiterType
Superclass::DerivativeValueType DerivativeValueType
Superclass::GradientImageFilterPointer GradientImageFilterPointer
itkStaticConstMacro(MovingImageDimension, unsigned int, MovingImageType::ImageDimension)
void EvaluateJacobianOfSpatialJacobianDeterminantInnerProduct(const JacobianOfSpatialJacobianType &jacobianOfSpatialJacobian, const SpatialJacobianType &inverseSpatialJacobian, DerivativeType &jacobianOfSpatialJacobianDeterminant) const
SmartPointer< const Self > ConstPointer
Superclass::ImageSamplerType ImageSamplerType
Superclass::FixedImageMaskPointer FixedImageMaskPointer
Superclass::FixedImagePointType FixedImagePointType
Superclass::InterpolatorType InterpolatorType
void UpdateValueAndDerivativeTerms(const RealType fixedImageValue, const RealType movingImageValue, const DerivativeType &imageJacobian, const NonZeroJacobianIndicesType &nzji, const RealType spatialJacobianDeterminant, const DerivativeType &jacobianOfSpatialJacobianDeterminant, MeasureType &measure, DerivativeType &deriv) const
itkStaticConstMacro(FixedImageDimension, unsigned int, FixedImageType::ImageDimension)
void AfterThreadedGetValue(MeasureType &value) const override
bool EvaluateInverseSpatialJacobian(const SpatialJacobianType &spatialJacobian, const RealType spatialJacobianDeterminant, SpatialJacobianType &inverseSpatialJacobian) const
SmartPointer< Self > Pointer
Superclass::ImageSampleContainerType ImageSampleContainerType
Superclass::NonZeroJacobianIndicesType NonZeroJacobianIndicesType
TransformType::JacobianOfSpatialHessianType JacobianOfSpatialHessianType
void EvaluateTransformJacobianInnerProduct(const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override
Superclass::GradientImageType GradientImageType
SumSquaredTissueVolumeDifferenceImageToImageMetric(const Self &)
Superclass::GradientImagePointer GradientImagePointer
Superclass::MovingImageType MovingImageType
Superclass::FixedImageIndexType FixedImageIndexType
Superclass::ParametersType ParametersType
Superclass::GradientPixelType GradientPixelType
Superclass::TransformJacobianType TransformJacobianType
TransformType::SpatialHessianType SpatialHessianType
Superclass::MovingImageMaskPointer MovingImageMaskPointer
void operator=(const Self &)
void ThreadedGetValue(ThreadIdType threadID) override
Superclass::FixedImageType FixedImageType
~SumSquaredTissueVolumeDifferenceImageToImageMetric() override
TransformType::JacobianOfSpatialJacobianType JacobianOfSpatialJacobianType
Superclass::MovingImageContinuousIndexType MovingImageContinuousIndexType
void PrintSelf(std::ostream &os, Indent indent) const override
Superclass::MovingImageDerivativeType MovingImageDerivativeType
void GetDerivative(const TransformParametersType ¶meters, DerivativeType &derivative) const override
void GetValueAndDerivativeSingleThreaded(const TransformParametersType ¶meters, MeasureType &measure, DerivativeType &derivative) const
Superclass::AdvancedTransformType TransformType
Superclass::FixedImageMaskType FixedImageMaskType
Superclass::FixedImageConstPointer FixedImageConstPointer
Superclass::RealType RealType
Superclass::TransformParametersType TransformParametersType
Superclass::MovingImagePixelType MovingImagePixelType
void GetValueAndDerivative(const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override
void AfterThreadedGetValueAndDerivative(MeasureType &measure, DerivativeType &derivative) const override
Superclass::CoordinateRepresentationType CoordinateRepresentationType
Superclass::FixedImageRegionType FixedImageRegionType
Superclass::BSplineInterpolatorType BSplineInterpolatorType
Superclass::InterpolatorPointer InterpolatorPointer
Superclass::FixedImageLimiterOutputType FixedImageLimiterOutputType
Superclass::MovingImageLimiterOutputType MovingImageLimiterOutputType
Superclass::FixedImageLimiterType FixedImageLimiterType
TransformType::SpatialJacobianType SpatialJacobianType
Superclass::MovingImageMaskType MovingImageMaskType
Superclass::InputPointType InputPointType
Superclass::GradientImageFilterType GradientImageFilterType
Superclass::OutputPointType OutputPointType
AdvancedImageToImageMetric< TFixedImage, TMovingImage > Superclass
SumSquaredTissueVolumeDifferenceImageToImageMetric()
Superclass::ImageSampleContainerPointer ImageSampleContainerPointer
TransformType::InternalMatrixType InternalMatrixType
void ThreadedGetValueAndDerivative(ThreadIdType threadId) override