ITK
6.0.0
Insight Toolkit
|
#include <itkHistogramImageToImageMetric.h>
Computes similarity between two objects to be registered.
This class is templated over the type of the fixed and moving images to be compared.
The metric computes the similarity measure between pixels in the moving image and pixels in the fixed image using a histogram.
Definition at line 39 of file itkHistogramImageToImageMetric.h.
Protected Member Functions | |
void | ComputeHistogram (const TransformParametersType ¶meters, HistogramType &histogram) const |
void | ComputeHistogram (const TransformParametersType ¶meters, unsigned int parameter, double step, HistogramType &histogram) const |
void | CopyHistogram (HistogramType &target, HistogramType &source) const |
virtual MeasureType | EvaluateMeasure (HistogramType &histogram) const =0 |
void | PrintSelf (std::ostream &os, Indent indent) const override |
HistogramImageToImageMetric () | |
~HistogramImageToImageMetric () override=default | |
Protected Member Functions inherited from itk::ImageToImageMetric< TFixedImage, TMovingImage > | |
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, bool) const |
virtual void | GetValueAndDerivativeThreadPreProcess (ThreadIdType, bool) const |
virtual bool | GetValueAndDerivativeThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double, const ImageDerivativesType &) const |
ImageToImageMetric () | |
virtual void | PreComputeTransformValues () |
void | PrintSelf (std::ostream &os, Indent indent) const override |
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, bool) const |
virtual bool | GetValueThreadProcessSample (ThreadIdType, SizeValueType, const MovingImagePointType &, double) const |
virtual void | GetValueThreadPostProcess (ThreadIdType, bool) const |
Protected Member Functions inherited from itk::SingleValuedCostFunction | |
SingleValuedCostFunction ()=default | |
~SingleValuedCostFunction () override | |
Protected Member Functions inherited from itk::CostFunctionTemplate< double > | |
CostFunctionTemplate ()=default | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~CostFunctionTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
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 | |
Protected Member Functions inherited from itk::LightObject | |
virtual LightObject::Pointer | InternalClone () const |
LightObject () | |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Private Attributes | |
double | m_DerivativeStepLength {} |
ScalesType | m_DerivativeStepLengthScales {} |
HistogramPointer | m_Histogram {} |
FixedImagePixelType | m_PaddingValue {} |
bool | m_UsePaddingValue {} |
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 48 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointerType = typename Superclass::FixedImageConstPointer |
Definition at line 68 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename Superclass::FixedImageType::PixelType |
Definition at line 65 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramPointer = typename HistogramType::Pointer |
Definition at line 78 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramSizeType = typename HistogramType::SizeType |
Definition at line 77 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::HistogramType = Statistics::Histogram<double> |
Typedefs for histogram. This should have been defined as Histogram<RealType,2> but a bug in VC++7 produced an internal compiler error with such declaration.
Definition at line 74 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MeasurementVectorType = typename HistogramType::MeasurementVectorType |
Definition at line 76 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointerType = typename Superclass::MovingImageConstPointer |
Definition at line 69 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType = typename Superclass::MovingImageType::PixelType |
Definition at line 67 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 47 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::ScalesType = Array<double> |
The scales type.
Definition at line 127 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Self = HistogramImageToImageMetric |
Standard class type aliases.
Definition at line 45 of file itkHistogramImageToImageMetric.h.
using itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 46 of file itkHistogramImageToImageMetric.h.
|
protected |
Constructor is protected to ensure that New()
function is used to create instances.
|
overrideprotecteddefault |
Constructor is protected to ensure that New()
function is used to create instances.
|
protected |
Computes the joint histogram from the transformation parameters passed to the function.
|
protected |
Computes the joint histogram from the transformation parameters passed to the function.
|
protected |
Copies a histogram.
|
protectedpure virtual |
Evaluates the similarity measure using the given histogram. All subclasses must reimplement this method.
Implemented in itk::CorrelationCoefficientHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
override |
Get the derivatives of the match measure.
|
virtual |
Returns the step length used to calculate the derivative.
|
virtual |
Returns the derivate step length scales.
|
virtual |
Return the joint histogram. This is updated during every call to the GetValue() method. The histogram can for instance be used by itk::HistogramToImageFilter to plot the joint histogram.
|
virtual |
Gets the histogram size.
const MeasurementVectorType & itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetLowerBound | ( | ) | const |
Returns the current state of m_LowerBound.
|
overridevirtual |
Reimplemented from itk::SingleValuedCostFunction.
Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Returns the padding value.
const MeasurementVectorType & itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::GetUpperBound | ( | ) | const |
Returns the current state of m_UpperBound.
|
virtual |
Factor to increase the upper bound for the samples in the histogram. Default value is 0.001
|
virtual |
Set whether the padding value should be used to determine which pixels should be ignored when calculating the similarity measure. Those pixels in the fixed image which have the padding value will be ignored.
|
override |
Get the value for single valued optimizers.
|
override |
Get value and derivatives for multiple valued optimizers.
|
overridevirtual |
Initializes the metric.
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
overrideprotectedvirtual |
PrintSelf function
Reimplemented from itk::Object.
Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Sets the step length used to calculate the derivative.
|
virtual |
Sets the derivative step length scales.
|
virtual |
Sets the histogram size. Note this function must be called before Initialize()
.
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetLowerBound | ( | const MeasurementVectorType & | bounds | ) |
Set the lower bounds of the intensities to be considered for computing the histogram. This option allows to focus the computation of the Metric in a particular range of intensities that correspond to features of interest.
|
virtual |
The padding value.
|
overridevirtual |
Define the transform and thereby the parameter space of the metric and the space of its derivatives
Reimplemented from itk::ImageToImageMetric< TFixedImage, TMovingImage >.
void itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >::SetUpperBound | ( | const MeasurementVectorType & | bounds | ) |
Set the upper bounds of the intensities to be considered for computing the histogram. This option allows to focus the computation of the Metric in a particular range of intensities that correspond to features of interest.
|
virtual |
Factor to increase the upper bound for the samples in the histogram. Default value is 0.001
|
virtual |
Set whether the padding value should be used to determine which pixels should be ignored when calculating the similarity measure. Those pixels in the fixed image which have the padding value will be ignored.
|
private |
The step length used to calculate the derivative.
Definition at line 232 of file itkHistogramImageToImageMetric.h.
|
private |
The derivative step length scales.
Definition at line 235 of file itkHistogramImageToImageMetric.h.
|
private |
Pointer to the joint histogram. This is updated during every call to GetValue()
Definition at line 239 of file itkHistogramImageToImageMetric.h.
|
protected |
The histogram size.
Definition at line 177 of file itkHistogramImageToImageMetric.h.
|
mutableprotected |
The lower bound for samples in the histogram.
Definition at line 180 of file itkHistogramImageToImageMetric.h.
|
protected |
Boolean flag to indicate whether the user supplied lower bounds or whether they should be computed from the min of image intensities
Definition at line 190 of file itkHistogramImageToImageMetric.h.
|
private |
The padding value.
Definition at line 224 of file itkHistogramImageToImageMetric.h.
|
mutableprotected |
The upper bound for samples in the histogram.
Definition at line 183 of file itkHistogramImageToImageMetric.h.
|
protected |
The increase in the upper bound.
Definition at line 186 of file itkHistogramImageToImageMetric.h.
|
protected |
Boolean flag to indicate whether the user supplied upper bounds or whether they should be computed from the max of image intensities
Definition at line 194 of file itkHistogramImageToImageMetric.h.
|
private |
True if those pixels in the fixed image with the same value as the padding value should be ignored when calculating the similarity measure.
Definition at line 229 of file itkHistogramImageToImageMetric.h.