#include <itkNormalizedCorrelationImageToImageMetric.h>
Computes similarity between two images to be registered.
This metric computes the correlation between pixels in the fixed image and pixels in the moving image. The spatial correspondence between fixed and moving image is established through a Transform. Pixel values are taken from the fixed image, their positions are mapped to the moving image and result in general in non-grid position on it. Values at these non-grid position of the moving image are interpolated using a user-selected Interpolator. The correlation is normalized by the autocorrelations of both the fixed and moving images.
A more negative metric value indicates a greater degree of correlation between the fixed and moving image. This makes the metric simpler to use with optimizers that strive to minimize their cost function by default.
Definition at line 46 of file itkNormalizedCorrelationImageToImageMetric.h.
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
![]() | |
static void | BreakOnError () |
static Pointer | New () |
Protected Member Functions | |
NormalizedCorrelationImageToImageMetric () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~NormalizedCorrelationImageToImageMetric () override=default | |
![]() | |
virtual void | ComputeImageDerivatives (const MovingImagePointType &mappedPoint, ImageDerivativesType &gradient, ThreadIdType threadId) const |
void | GetValueAndDerivativeMultiThreadedInitiate () const |
void | GetValueAndDerivativeMultiThreadedPostProcessInitiate () const |
virtual void | GetValueAndDerivativeThread (ThreadIdType threadId) const |
virtual void | GetValueAndDerivativeThreadPostProcess (ThreadIdType threadId, bool withinSampleThread) const |
virtual void | GetValueAndDerivativeThreadPreProcess (ThreadIdType threadId, bool withinSampleThread) const |
virtual bool | GetValueAndDerivativeThreadProcessSample (ThreadIdType threadId, SizeValueType fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue, const ImageDerivativesType &movingImageGradientValue) const |
ImageToImageMetric () | |
virtual void | PreComputeTransformValues () |
virtual void | SampleFixedImageIndexes (FixedImageSampleContainer &samples) const |
virtual void | SampleFixedImageRegion (FixedImageSampleContainer &samples) const |
virtual void | SampleFullFixedImageRegion (FixedImageSampleContainer &samples) const |
virtual void | SynchronizeTransforms () const |
virtual void | TransformPoint (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleOk, double &movingImageValue, ThreadIdType threadId) const |
virtual void | TransformPointWithDerivatives (unsigned int sampleNumber, MovingImagePointType &mappedPoint, bool &sampleOk, double &movingImageValue, ImageDerivativesType &movingImageGradient, ThreadIdType threadId) const |
~ImageToImageMetric () override=default | |
void | GetValueMultiThreadedInitiate () const |
void | GetValueMultiThreadedPostProcessInitiate () const |
virtual void | GetValueThread (ThreadIdType threadId) const |
virtual void | GetValueThreadPreProcess (ThreadIdType threadId, bool withinSampleThread) const |
virtual bool | GetValueThreadProcessSample (ThreadIdType threadId, SizeValueType fixedImageSample, const MovingImagePointType &mappedPoint, double movingImageValue) const |
virtual void | GetValueThreadPostProcess (ThreadIdType threadId, bool withinSampleThread) const |
![]() | |
SingleValuedCostFunction ()=default | |
~SingleValuedCostFunction () override | |
![]() | |
CostFunctionTemplate ()=default | |
CostFunctionTemplate ()=default | |
~CostFunctionTemplate () override=default | |
~CostFunctionTemplate () override=default | |
![]() | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
~Object () override | |
![]() | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
bool | m_SubtractMean {} |
using itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 55 of file itkNormalizedCorrelationImageToImageMetric.h.
using itk::SingleValuedCostFunction::DerivativeType |
DerivativeType type alias. It defines a type used to return the cost function derivative.
Definition at line 133 of file itkSingleValuedCostFunction.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Definition at line 79 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Type of the fixed Image.
Definition at line 77 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType |
Definition at line 109 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::InputPointType |
Definition at line 90 of file itkImageToImageMetric.h.
using itk::SingleValuedCostFunction::MeasureType |
MeasureType type alias. It defines a type used to return the cost function value.
Definition at line 130 of file itkSingleValuedCostFunction.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer |
Definition at line 74 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType |
Type of the moving Image.
Definition at line 72 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType |
Definition at line 91 of file itkImageToImageMetric.h.
using itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 54 of file itkNormalizedCorrelationImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 108 of file itkImageToImageMetric.h.
using itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >::Self = NormalizedCorrelationImageToImageMetric |
Standard class type aliases.
Definition at line 52 of file itkNormalizedCorrelationImageToImageMetric.h.
using itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 53 of file itkNormalizedCorrelationImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType |
Definition at line 93 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType |
Definition at line 92 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer |
Definition at line 89 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformType |
Type of the Transform Base class
Definition at line 87 of file itkImageToImageMetric.h.
|
protected |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
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::LightObject.
|
override |
Get the derivatives of the match measure.
|
overridevirtual |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
References NormalizedCorrelationImageToImageMetric().
|
virtual |
Set/Get SubtractMean boolean. If true, the sample mean is subtracted from the sample values in the cross-correlation formula and typically results in narrower valleys in the cost function. Default value is false.
|
override |
Get the value for single valued optimizers.
|
override |
Get value and derivatives for multiple valued optimizers.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
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::ImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Set/Get SubtractMean boolean. If true, the sample mean is subtracted from the sample values in the cross-correlation formula and typically results in narrower valleys in the cost function. Default value is false.
|
virtual |
Set/Get SubtractMean boolean. If true, the sample mean is subtracted from the sample values in the cross-correlation formula and typically results in narrower valleys in the cost function. Default value is false.
|
virtual |
Set/Get SubtractMean boolean. If true, the sample mean is subtracted from the sample values in the cross-correlation formula and typically results in narrower valleys in the cost function. Default value is false.
|
private |
Definition at line 110 of file itkNormalizedCorrelationImageToImageMetric.h.