ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkCorrelationImageToImageMetricv4.h>
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> itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::ConstPointer |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 81 of file itkCorrelationImageToImageMetricv4.h.
typedef CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationDenseGetValueAndDerivativeThreaderType [protected] |
Definition at line 135 of file itkCorrelationImageToImageMetricv4.h.
typedef CorrelationImageToImageMetricv4HelperThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationHelperDenseThreaderType [protected] |
Definition at line 143 of file itkCorrelationImageToImageMetricv4.h.
typedef CorrelationImageToImageMetricv4HelperThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationHelperSparseThreaderType [protected] |
Definition at line 145 of file itkCorrelationImageToImageMetricv4.h.
typedef CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationSparseGetValueAndDerivativeThreaderType [protected] |
Definition at line 137 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::DerivativeType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::DerivativeType |
Type of the metric derivative.
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 91 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::FixedImageGradientType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageGradientType |
Image derivatives types
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 95 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::FixedImagePixelType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePixelType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 94 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::FixedImagePointType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImagePointType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 93 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::JacobianType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::JacobianType |
Jacobian type. This is the same for all transforms
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 102 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::MeasureType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MeasureType |
Superclass types
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 87 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::MovingImageGradientType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageGradientType |
Image derivatives types
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 99 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::MovingImagePixelType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePixelType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 98 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::MovingImagePointType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImagePointType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 97 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::MovingTransformType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingTransformType |
Type of the Transform Base classes
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 101 of file itkCorrelationImageToImageMetricv4.h.
typedef SmartPointer<Self> itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Pointer |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 80 of file itkCorrelationImageToImageMetricv4.h.
typedef CorrelationImageToImageMetricv4 itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 78 of file itkCorrelationImageToImageMetricv4.h.
typedef ImageToImageMetricv4<TFixedImage, TMovingImage, TVirtualImage> itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::Superclass |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 79 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::VirtualImageType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageType |
Types for the virtual domain
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 103 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::VirtualIndexType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualIndexType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 104 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::VirtualPointType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualPointType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 105 of file itkCorrelationImageToImageMetricv4.h.
typedef Superclass::VirtualSampledPointSetType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualSampledPointSetType |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 106 of file itkCorrelationImageToImageMetricv4.h.
itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationImageToImageMetricv4 | ( | ) | [protected] |
virtual itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::~CorrelationImageToImageMetricv4 | ( | ) | [protected, virtual] |
itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CorrelationImageToImageMetricv4 | ( | const Self & | ) | [private] |
virtual::itk::LightObject::Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::CreateAnother | ( | void | ) | const [virtual] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::Object.
virtual const char* itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
virtual void itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::InitializeForIteration | ( | ) | const [protected, virtual] |
Perform any initialization required before each evaluation of GetValueAndDerivative
. This is distinct from Initialize, which is called only once before a number of iterations, e.g. before a registration loop.
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
static Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::operator= | ( | const Self & | ) | [private] |
Mutex lock to protect modification to the reference count
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
void itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
friend class CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > [friend] |
Definition at line 132 of file itkCorrelationImageToImageMetricv4.h.
friend class CorrelationImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > [friend] |
Definition at line 133 of file itkCorrelationImageToImageMetricv4.h.
friend class CorrelationImageToImageMetricv4HelperThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Superclass, Self > [friend] |
Definition at line 139 of file itkCorrelationImageToImageMetricv4.h.
friend class CorrelationImageToImageMetricv4HelperThreader< ThreadedIndexedContainerPartitioner, Superclass, Self > [friend] |
Definition at line 140 of file itkCorrelationImageToImageMetricv4.h.
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Self > [friend] |
Definition at line 129 of file itkCorrelationImageToImageMetricv4.h.
friend class ImageToImageMetricv4GetValueAndDerivativeThreader< ThreadedIndexedContainerPartitioner, Self > [friend] |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 130 of file itkCorrelationImageToImageMetricv4.h.
friend class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedImageRegionPartitioner< Superclass::VirtualImageDimension >, Self > [friend] |
Definition at line 127 of file itkCorrelationImageToImageMetricv4.h.
friend class ImageToImageMetricv4GetValueAndDerivativeThreaderBase< ThreadedIndexedContainerPartitioner, Self > [friend] |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 128 of file itkCorrelationImageToImageMetricv4.h.
const ImageDimensionType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::FixedImageDimension = ::itk::GetImageDimension<TFixedImage>::ImageDimension [static] |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 112 of file itkCorrelationImageToImageMetricv4.h.
MeasureType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_AverageFix [mutable, protected] |
Definition at line 153 of file itkCorrelationImageToImageMetricv4.h.
MeasureType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_AverageMov [mutable, protected] |
Definition at line 154 of file itkCorrelationImageToImageMetricv4.h.
CorrelationHelperDenseThreaderType::Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_HelperDenseThreader [protected] |
Definition at line 147 of file itkCorrelationImageToImageMetricv4.h.
CorrelationHelperSparseThreaderType::Pointer itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::m_HelperSparseThreader [protected] |
Definition at line 148 of file itkCorrelationImageToImageMetricv4.h.
const ImageDimensionType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::MovingImageDimension = ::itk::GetImageDimension<TMovingImage>::ImageDimension [static] |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 114 of file itkCorrelationImageToImageMetricv4.h.
const ImageDimensionType itk::CorrelationImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >::VirtualImageDimension = ::itk::GetImageDimension<TVirtualImage>::ImageDimension [static] |
Reimplemented from itk::ImageToImageMetricv4< TFixedImage, TMovingImage, TVirtualImage >.
Definition at line 110 of file itkCorrelationImageToImageMetricv4.h.