template<class TFixedImage, class TMovingImage, class TVirtualImage = TFixedImage>
class itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >
Class implementing normalized cross correlation image metric.
Definition of the normalized cross correlation metric used here:
negative square of normalized cross correlation
in which, f, m are the vectors of image pixel intensities, and are the mean values of f and m. <,> denotes inner product, denotes the 2-norm of the vector. The minus sign makes the metric to optimize towards its minimal value. Note that this uses the square of the mathematical notion of normalized cross correlation to avoid the square root computation in practice.
Moving image (m) is a function of the parameters (p) of the moving transforms. So GetValueAndDerivative will return the value as and the derivative as
in which, , (Note: there should be a minus sign of mathematically, which is not in the implementation to match the requirement of the metricv4 optimization framework.
See CorrelationImageToImageMetricv4GetValueAndDerivativeThreader::ProcessPoint for algorithm implementation.
This metric only works with the global transform. It throws an exception if the transform has local support.
Definition at line 73 of file itkCorrelationImageToImageMetricv4.h.
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef
Superclass::FixedImageGradientType | FixedImageGradientType |
|
typedef
Superclass::FixedImagePixelType | FixedImagePixelType |
|
typedef
Superclass::FixedImagePointType | FixedImagePointType |
|
typedef Superclass::JacobianType | JacobianType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef
Superclass::MovingImageGradientType | MovingImageGradientType |
|
typedef
Superclass::MovingImagePixelType | MovingImagePixelType |
|
typedef
Superclass::MovingImagePointType | MovingImagePointType |
|
typedef
Superclass::MovingTransformType | MovingTransformType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef
CorrelationImageToImageMetricv4 | Self |
|
typedef ImageToImageMetricv4
< TFixedImage, TMovingImage,
TVirtualImage > | Superclass |
|
typedef
Superclass::VirtualImageType | VirtualImageType |
|
typedef
Superclass::VirtualIndexType | VirtualIndexType |
|
typedef
Superclass::VirtualPointSetType | VirtualPointSetType |
|
typedef
Superclass::VirtualPointType | VirtualPointType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef
Superclass::CoordinateRepresentationType | CoordinateRepresentationType |
|
typedef
MetricTraits::DefaultFixedImageGradientCalculator | DefaultFixedImageGradientCalculator |
|
typedef
MetricTraits::DefaultFixedImageGradientFilter | DefaultFixedImageGradientFilter |
|
typedef
MetricTraits::DefaultMovingImageGradientCalculator | DefaultMovingImageGradientCalculator |
|
typedef
MetricTraits::DefaultMovingImageGradientFilter | DefaultMovingImageGradientFilter |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef DerivativeType::ValueType | DerivativeValueType |
|
typedef Superclass::DimensionType | DimensionType |
|
typedef
MetricTraits::FixedGradientPixelType | FixedGradientPixelType |
|
typedef CovariantVector
< typename
FixedImageGradientType::ValueType,
FixedImageDimension > | FixedImageComponentGradientType |
|
typedef
FixedImageType::ConstPointer | FixedImageConstPointer |
|
typedef
FixedImageGradientCalculatorType::Pointer | FixedImageGradientCalculatorPointer |
|
typedef
MetricTraits::FixedImageGradientCalculatorType | FixedImageGradientCalculatorType |
|
typedef
FixedImageGradientFilterType::Pointer | FixedImageGradientFilterPointer |
|
typedef
MetricTraits::FixedImageGradientFilterType | FixedImageGradientFilterType |
|
typedef
FixedImageGradientImageType::Pointer | FixedImageGradientImagePointer |
|
typedef
MetricTraits::FixedImageGradientImageType | FixedImageGradientImageType |
|
typedef
MetricTraits::FixedImageGradientType | FixedImageGradientType |
|
typedef FixedImageType::IndexType | FixedImageIndexType |
|
typedef
FixedImageMaskType::ConstPointer | FixedImageMaskConstPointer |
|
typedef FixedImageMaskType::Pointer | FixedImageMaskPointer |
|
typedef SpatialObject
< itkGetStaticConstMacro(FixedImageDimension) > | FixedImageMaskType |
|
typedef FixedImageType::PixelType | FixedImagePixelType |
|
typedef FixedImageType::Pointer | FixedImagePointer |
|
typedef FixedImageType::PointType | FixedImagePointType |
|
typedef TFixedImage | FixedImageType |
|
typedef
Superclass::FixedInputPointType | FixedInputPointType |
|
typedef
FixedInterpolatorType::Pointer | FixedInterpolatorPointer |
|
typedef
InterpolateImageFunction
< FixedImageType,
CoordinateRepresentationType > | FixedInterpolatorType |
|
typedef
Superclass::FixedOutputPointType | FixedOutputPointType |
|
typedef FixedImagePixelType | FixedPixelType |
|
typedef MetricTraits::FixedRealType | FixedRealType |
|
typedef
FixedSampledPointSetType::ConstPointer | FixedSampledPointSetConstPointer |
|
typedef
FixedSampledPointSetType::Pointer | FixedSampledPointSetPointer |
|
typedef PointSet< typename
FixedImageType::PixelType,
itkGetStaticConstMacro(FixedImageDimension)> | FixedSampledPointSetType |
|
typedef NumericTraits
< FixedRealType >
::ScalarRealType | FixedScalarRealType |
|
typedef
Superclass::FixedTransformJacobianType | FixedTransformJacobianType |
|
typedef
Superclass::FixedTransformParametersType | FixedTransformParametersType |
|
typedef
Superclass::FixedTransformPointer | FixedTransformPointer |
|
typedef
Superclass::FixedTransformType | FixedTransformType |
|
typedef
Superclass::GradientSourceType | GradientSourceType |
|
typedef Superclass::DimensionType | ImageDimensionType |
|
typedef
Superclass::InternalComputationValueType | InternalComputationValueType |
|
typedef Superclass::JacobianType | JacobianType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef
DefaultImageToImageMetricTraitsv4
< TFixedImage, TMovingImage,
TVirtualImage > | MetricTraits |
|
typedef
MetricTraits::MovingGradientPixelType | MovingGradientPixelType |
|
typedef CovariantVector
< typename
MovingImageGradientType::ValueType,
MovingImageDimension > | MovingImageComponentGradientType |
|
typedef
MovingImageType::ConstPointer | MovingImageConstPointer |
|
typedef
MovingImageGradientCalculatorType::Pointer | MovingImageGradientCalculatorPointer |
|
typedef
MetricTraits::MovingImageGradientCalculatorType | MovingImageGradientCalculatorType |
|
typedef
MovingImageGradientFilterType::Pointer | MovingImageGradientFilterPointer |
|
typedef
MetricTraits::MovingImageGradientFilterType | MovingImageGradientFilterType |
|
typedef
MovingImageGradientImageType::Pointer | MovingImageGradientImagePointer |
|
typedef
MetricTraits::MovingImageGradientImageType | MovingImageGradientImageType |
|
typedef
MetricTraits::MovingImageGradientType | MovingImageGradientType |
|
typedef MovingImageType::IndexType | MovingImageIndexType |
|
typedef
MovingImageMaskType::ConstPointer | MovingImageMaskConstPointer |
|
typedef
MovingImageMaskType::Pointer | MovingImageMaskPointer |
|
typedef SpatialObject
< itkGetStaticConstMacro(MovingImageDimension) > | MovingImageMaskType |
|
typedef MovingImageType::PixelType | MovingImagePixelType |
|
typedef MovingImageType::Pointer | MovingImagePointer |
|
typedef MovingImageType::PointType | MovingImagePointType |
|
typedef MovingImageType::RegionType | MovingImageRegionType |
|
typedef TMovingImage | MovingImageType |
|
typedef
Superclass::MovingInputPointType | MovingInputPointType |
|
typedef
MovingInterpolatorType::Pointer | MovingInterpolatorPointer |
|
typedef
InterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType > | MovingInterpolatorType |
|
typedef
Superclass::MovingOutputPointType | MovingOutputPointType |
|
typedef MovingImagePixelType | MovingPixelType |
|
typedef
MetricTraits::MovingRealType | MovingRealType |
|
typedef NumericTraits
< MovingRealType >
::ScalarRealType | MovingScalarRealType |
|
typedef
Superclass::MovingTransformJacobianType | MovingTransformJacobianType |
|
typedef
Superclass::MovingTransformParametersType | MovingTransformParametersType |
|
typedef
Superclass::MovingTransformPointer | MovingTransformPointer |
|
typedef
Superclass::MovingTransformType | MovingTransformType |
|
typedef
Superclass::NumberOfParametersType | NumberOfParametersType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef
Superclass::ParametersValueType | ParametersValueType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ImageToImageMetricv4 | Self |
|
typedef ObjectToObjectMetric
< TFixedImage::ImageDimension,
TMovingImage::ImageDimension,
TVirtualImage > | Superclass |
|
typedef
Superclass::VirtualDirectionType | VirtualDirectionType |
|
typedef CovariantVector
< typename
VirtualImageGradientType::ValueType,
VirtualImageDimension > | VirtualImageComponentGradientType |
|
typedef
MetricTraits::VirtualImageGradientType | VirtualImageGradientType |
|
typedef
Superclass::VirtualImagePointer | VirtualImagePointer |
|
typedef
Superclass::VirtualImageType | VirtualImageType |
|
typedef
Superclass::VirtualIndexType | VirtualIndexType |
|
typedef
Superclass::VirtualPointType | VirtualOriginType |
|
typedef
Superclass::VirtualPixelType | VirtualPixelType |
|
typedef
Superclass::VirtualPointSetPointer | VirtualPointSetPointer |
|
typedef
Superclass::VirtualPointSetType | VirtualPointSetType |
|
typedef
Superclass::VirtualPointType | VirtualPointType |
|
typedef Superclass::VirtualSizeType | VirtualRadiusType |
|
typedef
Superclass::VirtualRegionType | VirtualRegionType |
|
typedef Superclass::VirtualSizeType | VirtualSizeType |
|
typedef
Superclass::VirtualSpacingType | VirtualSpacingType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef
Superclass::ParametersValueType | CoordinateRepresentationType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef
Superclass::DerivativeValueType | DerivativeValueType |
|
typedef SizeValueType | DimensionType |
|
typedef
FixedTransformType::InputPointType | FixedInputPointType |
|
typedef
FixedTransformType::OutputPointType | FixedOutputPointType |
|
typedef
FixedTransformType::JacobianType | FixedTransformJacobianType |
|
typedef
FixedTransformType::ParametersType | FixedTransformParametersType |
|
typedef FixedTransformType::Pointer | FixedTransformPointer |
|
typedef Transform
< ParametersValueType,
TVirtualImage::ImageDimension,
TFixedDimension > | FixedTransformType |
|
typedef
Superclass::InternalComputationValueType | InternalComputationValueType |
|
typedef
FixedTransformType::JacobianType | JacobianType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef
DisplacementFieldTransform
< CoordinateRepresentationType,
itkGetStaticConstMacro(MovingDimension) > | MovingDisplacementFieldTransformType |
|
typedef
MovingTransformType::InputPointType | MovingInputPointType |
|
typedef
MovingTransformType::OutputPointType | MovingOutputPointType |
|
typedef
MovingTransformType::JacobianType | MovingTransformJacobianType |
|
typedef
MovingTransformType::ParametersType | MovingTransformParametersType |
|
typedef
MovingTransformType::Pointer | MovingTransformPointer |
|
typedef Transform
< ParametersValueType,
TVirtualImage::ImageDimension,
TMovingDimension > | MovingTransformType |
|
typedef
Superclass::NumberOfParametersType | NumberOfParametersType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef
Superclass::ParametersValueType | ParametersValueType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ObjectToObjectMetric | Self |
|
typedef ObjectToObjectMetricBase | Superclass |
|
typedef
VirtualImageType::DirectionType | VirtualDirectionType |
|
typedef
VirtualImageType::ConstPointer | VirtualImageConstPointer |
|
typedef VirtualImageType::Pointer | VirtualImagePointer |
|
typedef TVirtualImage | VirtualImageType |
|
typedef VirtualImageType::IndexType | VirtualIndexType |
|
typedef VirtualImageType::PointType | VirtualOriginType |
|
typedef VirtualImageType::PixelType | VirtualPixelType |
|
typedef
VirtualPointSetType::Pointer | VirtualPointSetPointer |
|
typedef PointSet
< VirtualPixelType,
itkGetStaticConstMacro(VirtualDimension)> | VirtualPointSetType |
|
typedef VirtualImageType::PointType | VirtualPointType |
|
typedef VirtualImageType::SizeType | VirtualRadiusType |
|
typedef
VirtualImageType::RegionType | VirtualRegionType |
|
typedef VirtualRegionType::SizeType | VirtualSizeType |
|
typedef
VirtualImageType::SpacingType | VirtualSpacingType |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef
Superclass::ParametersValueType | CoordinateRepresentationType |
|
typedef Superclass::DerivativeType | DerivativeType |
|
typedef DerivativeType::ValueType | DerivativeValueType |
|
enum | GradientSourceType {
GRADIENT_SOURCE_FIXED =0,
GRADIENT_SOURCE_MOVING,
GRADIENT_SOURCE_BOTH
} |
|
typedef double | InternalComputationValueType |
|
typedef Superclass::MeasureType | MeasureType |
|
typedef unsigned int | NumberOfParametersType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef
Superclass::ParametersValueType | ParametersValueType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef ObjectToObjectMetricBase | Self |
|
typedef SingleValuedCostFunctionv4 | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef Array
< ParametersValueType > | DerivativeType |
|
typedef double | MeasureType |
|
typedef Superclass::ParametersType | ParametersType |
|
typedef
Superclass::ParametersValueType | ParametersValueType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef SingleValuedCostFunctionv4 | Self |
|
typedef CostFunction | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef OptimizerParameters
< ParametersValueType > | ParametersType |
|
typedef double | ParametersValueType |
|
typedef SmartPointer< Self > | Pointer |
|
typedef CostFunction | Self |
|
typedef Object | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef SmartPointer< Self > | Pointer |
|
typedef Object | Self |
|
typedef LightObject | Superclass |
|
typedef SmartPointer< const Self > | ConstPointer |
|
typedef SmartPointer< Self > | Pointer |
|
typedef LightObject | Self |
|