#include <itkMeanReciprocalSquareDifferenceImageToImageMetric.h>
Computes similarity between two objects to be registered.
This Class is templated over the type of the Images to be compared and over the type of transformation and Interpolator to be used.
This metric computes the sum of squared differences between pixels in the moving image and pixels in the fixed image after passing the squared difference through a function of type \( \frac{1}{1+x} \).
Spatial correspondence between both images is established through a Transform. Pixel values are taken from the Moving image. Their positions are mapped to the Fixed image and result in general in non-grid position on it. Values at these non-grid position of the Fixed image are interpolated using a user-selected Interpolator.
Definition at line 46 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.h.
Public Member Functions | |
virtual::itk::LightObject::Pointer | CreateAnother () const |
void | GetDerivative (const TransformParametersType ¶meters, DerivativeType &derivative) const override |
const char * | GetNameOfClass () const override |
MeasureType | GetValue (const TransformParametersType ¶meters) const override |
void | GetValueAndDerivative (const TransformParametersType ¶meters, MeasureType &Value, DerivativeType &Derivative) const override |
virtual double | GetLambda () const |
virtual void | SetLambda (double _arg) |
virtual double | GetDelta () const |
virtual void | SetDelta (double _arg) |
![]() | |
virtual void | ComputeGradient () |
virtual const FixedImageRegionType & | GetFixedImageRegion () const |
virtual const FixedImagePixelType & | GetFixedImageSamplesIntensityThreshold () const |
virtual const GradientImageType * | GetGradientImage () const |
virtual const InterpolatorType * | GetInterpolator () const |
virtual GradientImageType * | GetModifiableGradientImage () |
virtual InterpolatorType * | GetModifiableInterpolator () |
virtual TransformType * | GetModifiableTransform () |
SizeValueType | GetNumberOfMovingImageSamples () |
unsigned int | GetNumberOfParameters () const override |
virtual const SizeValueType & | GetNumberOfPixelsCounted () const |
SizeValueType | GetNumberOfSpatialSamples () |
virtual const TransformType * | GetTransform () const |
virtual const bool & | GetUseAllPixels () const |
virtual const bool & | GetUseFixedImageIndexes () const |
virtual const bool & | GetUseFixedImageSamplesIntensityThreshold () const |
virtual const bool & | GetUseSequentialSampling () const |
virtual void | Initialize () |
virtual void | MultiThreadingInitialize () |
void | SetFixedImageIndexes (const FixedImageIndexContainer &indexes) |
virtual void | SetFixedImageRegion (const FixedImageRegionType reg) |
void | SetFixedImageSamplesIntensityThreshold (const FixedImagePixelType &thresh) |
virtual void | SetInterpolator (InterpolatorType *_arg) |
void | SetNumberOfSpatialSamples (SizeValueType num) |
virtual void | SetTransform (TransformType *_arg) |
void | SetTransformParameters (const ParametersType ¶meters) const |
void | SetUseAllPixels (bool useAllPixels) |
void | SetUseFixedImageIndexes (bool useIndexes) |
void | SetUseFixedImageSamplesIntensityThreshold (bool useThresh) |
void | SetUseSequentialSampling (bool useSequential) |
void | UseAllPixelsOff () |
void | UseAllPixelsOn () |
virtual void | SetFixedImage (const FixedImageType *_arg) |
virtual const FixedImageType * | GetFixedImage () const |
virtual void | SetMovingImage (const MovingImageType *_arg) |
virtual const MovingImageType * | GetMovingImage () const |
virtual void | SetMovingImageMask (const MovingImageMaskType *_arg) |
virtual const MovingImageMaskType * | GetMovingImageMask () const |
virtual void | SetFixedImageMask (const FixedImageMaskType *_arg) |
virtual const FixedImageMaskType * | GetFixedImageMask () const |
void | SetNumberOfWorkUnits (ThreadIdType numberOfWorkUnits) |
virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
virtual void | SetComputeGradient (bool _arg) |
virtual const bool & | GetComputeGradient () const |
virtual void | ComputeGradientOn () |
virtual void | ComputeGradientOff () |
virtual void | SetNumberOfFixedImageSamples (SizeValueType numSamples) |
virtual const SizeValueType & | GetNumberOfFixedImageSamples () const |
void | ReinitializeSeed () |
void | ReinitializeSeed (int seed) |
virtual void | SetUseCachingOfBSplineWeights (bool _arg) |
virtual const bool & | GetUseCachingOfBSplineWeights () const |
virtual void | UseCachingOfBSplineWeightsOn () |
virtual void | UseCachingOfBSplineWeightsOff () |
virtual MultiThreaderType * | GetModifiableThreader () |
virtual const MultiThreaderType * | GetThreader () const |
const TransformPointer * | GetThreaderTransform () |
![]() | |
virtual void | GetDerivative (const ParametersType ¶meters, DerivativeType &derivative) const =0 |
const char * | GetNameOfClass () const override |
virtual MeasureType | GetValue (const ParametersType ¶meters) const =0 |
virtual void | GetValueAndDerivative (const ParametersType ¶meters, MeasureType &value, DerivativeType &derivative) const |
![]() | |
unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
LightObject::Pointer | CreateAnother () const override |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary () |
const MetaDataDictionary & | GetMetaDataDictionary () const |
virtual ModifiedTimeType | GetMTime () const |
virtual const TimeStamp & | GetTimeStamp () const |
bool | HasObserver (const EventObject &event) const |
void | InvokeEvent (const EventObject &) |
void | InvokeEvent (const EventObject &) const |
virtual void | Modified () const |
void | Register () const override |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) const |
void | SetDebug (bool debugFlag) const |
void | SetReferenceCount (int) override |
void | UnRegister () const noexcept override |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
virtual void | SetObjectName (std::string _arg) |
virtual const std::string & | GetObjectName () const |
![]() | |
Pointer | Clone () const |
virtual void | Delete () |
virtual int | GetReferenceCount () const |
void | Print (std::ostream &os, Indent indent=0) const |
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 | |
MeanReciprocalSquareDifferenceImageToImageMetric () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~MeanReciprocalSquareDifferenceImageToImageMetric () 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 | |
double | m_Delta {} |
double | m_Lambda {} |
using itk::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 56 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.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 >::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::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 55 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.h.
using itk::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Self = MeanReciprocalSquareDifferenceImageToImageMetric |
Standard class type aliases.
Definition at line 53 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.h.
using itk::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 54 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.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.
|
virtual |
Set/Get Delta value. This value is used as the differential in the computation of the metric derivative using the finite differences method.
|
override |
Get the derivatives of the match measure.
|
virtual |
Set/Get Lambda value. This factor regulates the capture radius of this metric
|
overridevirtual |
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
References MeanReciprocalSquareDifferenceImageToImageMetric().
|
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 Delta value. This value is used as the differential in the computation of the metric derivative using the finite differences method.
|
virtual |
Set/Get Lambda value. This factor regulates the capture radius of this metric
|
private |
Definition at line 113 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.h.
|
private |
Definition at line 112 of file itkMeanReciprocalSquareDifferenceImageToImageMetric.h.