ITK
6.0.0
Insight Toolkit
|
#include <itkImageToImageMetric.h>
Computes similarity between regions of two images.
This Class is templated over the type of the two input images. It expects a Transform and an Interpolator to be plugged in. This particular class is the base class for a hierarchy of similarity metrics.
This class computes a value that measures the similarity between the Fixed image and the transformed Moving image. The Interpolator is used to compute intensity values on non-grid positions resulting from mapping points through the Transform.
Definition at line 54 of file itkImageToImageMetric.h.
Classes | |
class | ConstantPointerWrapper |
class | FixedImageSamplePoint |
class | MultiThreaderWorkUnitInfoImageToImageMetricWrapper |
Static Public Attributes | |
static constexpr unsigned int | FixedImageDimension = TFixedImage::ImageDimension |
static constexpr unsigned int | MovingImageDimension = TMovingImage::ImageDimension |
Protected Member Functions | |
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 | |
Protected Member Functions inherited from itk::SingleValuedCostFunction | |
SingleValuedCostFunction ()=default | |
~SingleValuedCostFunction () override | |
Protected Member Functions inherited from itk::CostFunctionTemplate< TInternalComputationValueType > | |
CostFunctionTemplate ()=default | |
~CostFunctionTemplate () override=default | |
Protected Member Functions inherited from itk::Object | |
Object () | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
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 | PrintTrailer (std::ostream &os, Indent indent) const |
virtual | ~LightObject () |
Static Protected Member Functions | |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeMultiThreaded (void *workunitInfoAsVoid) |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeMultiThreadedPostProcess (void *workunitInfoAsVoid) |
Static Protected Attributes | |
static constexpr unsigned int | DeformationSplineOrder = 3 |
Private Attributes | |
FixedImageRegionType | m_FixedImageRegion {} |
MultiThreaderType::Pointer | m_Threader {} |
std::unique_ptr< ConstantPointerWrapper > | m_ConstSelfWrapper |
std::unique_ptr< unsigned int[]> | m_ThreaderNumberOfMovingImageSamples |
bool | m_WithinThreadPreProcess { false } |
bool | m_WithinThreadPostProcess { false } |
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 |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueMultiThreaded (void *workunitInfoAsVoid) |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueMultiThreadedPostProcess (void *workunitInfoAsVoid) |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
|
protected |
Definition at line 498 of file itkImageToImageMetric.h.
|
protected |
If a BSplineInterpolationFunction is used, this class obtain image derivatives from the BSpline interpolator. Otherwise, image derivatives are computed using central differencing.
Definition at line 505 of file itkImageToImageMetric.h.
|
protected |
Definition at line 499 of file itkImageToImageMetric.h.
|
protected |
Definition at line 493 of file itkImageToImageMetric.h.
|
protected |
Definition at line 495 of file itkImageToImageMetric.h.
|
protected |
Definition at line 487 of file itkImageToImageMetric.h.
|
protected |
Definition at line 491 of file itkImageToImageMetric.h.
|
protected |
Definition at line 489 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 63 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType = typename Superclass::ParametersValueType |
Type used for representing point components
Definition at line 66 of file itkImageToImageMetric.h.
|
protected |
Typedefs for using central difference calculator.
Definition at line 508 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer = typename FixedImageType::ConstPointer |
Definition at line 79 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexContainer = std::vector<FixedImageIndexType> |
Definition at line 102 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType = typename FixedImageType::IndexType |
Index and Point type alias support
Definition at line 96 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType |
Definition at line 97 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer |
Definition at line 121 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer = typename FixedImageMaskType::Pointer |
Definition at line 120 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType = SpatialObject<Self::FixedImageDimension> |
Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the metric
Definition at line 119 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename TFixedImage::PixelType |
Definition at line 78 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType = typename TransformType::InputPointType |
Definition at line 99 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType = typename FixedImageType::RegionType |
Definition at line 80 of file itkImageToImageMetric.h.
|
protected |
FixedImageSamplePoint type alias support
Definition at line 409 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType = TFixedImage |
Type of the fixed Image.
Definition at line 77 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer = typename GradientImageFilterType::Pointer |
Definition at line 113 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType = GradientRecursiveGaussianImageFilter<MovingImageType, GradientImageType> |
Definition at line 112 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer = SmartPointer<GradientImageType> |
Definition at line 111 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType = Image<GradientPixelType, Self::MovingImageDimension> |
Definition at line 110 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType = CovariantVector<RealType, Self::MovingImageDimension> |
Definition at line 109 of file itkImageToImageMetric.h.
|
protected |
Definition at line 509 of file itkImageToImageMetric.h.
|
protected |
Definition at line 494 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::InputPointType = typename TransformType::InputPointType |
Definition at line 90 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer = typename InterpolatorType::Pointer |
Definition at line 115 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType = InterpolateImageFunction<MovingImageType, CoordinateRepresentationType> |
Type of the Interpolator Base class
Definition at line 105 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer = typename MovingImageType::ConstPointer |
Definition at line 74 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType = typename MovingImageType::IndexType |
Definition at line 98 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer = typename MovingImageMaskType::ConstPointer |
Definition at line 127 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer = typename MovingImageMaskType::Pointer |
Definition at line 126 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType = SpatialObject<Self::MovingImageDimension> |
Type for the mask of the moving image. Only pixels that are "inside" this mask will be considered for the computation of the metric
Definition at line 125 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType = typename TMovingImage::PixelType |
Definition at line 73 of file itkImageToImageMetric.h.
|
protected |
Definition at line 497 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType = typename TransformType::OutputPointType |
Definition at line 100 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType = TMovingImage |
Type of the moving Image.
Definition at line 72 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::MultiThreaderType = MultiThreaderBase |
Definition at line 352 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType = typename TransformType::OutputPointType |
Definition at line 91 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 62 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType = typename NumericTraits<MovingImagePixelType>::RealType |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 108 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::Self = ImageToImageMetric |
Standard class type aliases.
Definition at line 60 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::Superclass = SingleValuedCostFunction |
Definition at line 61 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType = typename TransformType::JacobianType |
Definition at line 93 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType = typename TransformType::ParametersType |
Definition at line 92 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer = typename TransformType::Pointer |
Definition at line 89 of file itkImageToImageMetric.h.
using itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformType = Transform<CoordinateRepresentationType, Self::MovingImageDimension, Self::FixedImageDimension> |
Type of the Transform Base class
Definition at line 87 of file itkImageToImageMetric.h.
|
protected |
Definition at line 490 of file itkImageToImageMetric.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Computes the gradient image and assigns it to m_GradientImage
Reimplemented in itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Set/Get gradient computation.
|
protectedvirtual |
Compute image derivatives at a point using a central difference function if we are not using a BSplineInterpolator, which includes derivatives.
|
virtual |
Set/Get gradient computation.
|
virtual |
Get/Set the Fixed Image.
|
virtual |
Set/Get the fixed image mask.
|
virtual |
Get the region over which the metric will be computed
|
virtual |
|
virtual |
Get Gradient Image.
|
virtual |
Get a pointer to the Interpolator.
|
virtual |
Get the Threader.
|
virtual |
Get a pointer to the Transform.
|
virtual |
Get/Set the Moving Image.
|
virtual |
Set/Get the moving image mask.
|
overridevirtual |
Reimplemented from itk::SingleValuedCostFunction.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >, itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::MutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Number of spatial samples to compute the metric.
Sets the number of samples.
|
inline |
Get the number of pixels considered in the computation.
Definition at line 162 of file itkImageToImageMetric.h.
|
inlineoverridevirtual |
Return the number of parameters required by the Transform
Implements itk::CostFunctionTemplate< TInternalComputationValueType >.
Reimplemented in itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 239 of file itkImageToImageMetric.h.
|
virtual |
|
inline |
Definition at line 270 of file itkImageToImageMetric.h.
|
virtual |
Set/Get number of work units to use for computations.
|
inline |
Get the Threader.
Definition at line 356 of file itkImageToImageMetric.h.
|
virtual |
|
virtual |
This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. In particular it will cache the values of the BSpline weights for that points, and the indexes indicating what BSpline-grid nodes are relevant for that specific point. This caching is made optional due to the fact that the memory arrays used for the caching can reach large sizes even for moderate image size problems. For example, for a 3D image of 256^3, using 20% of pixels, these arrays will take about 1 Gigabyte of RAM for storage. The ratio of computing time between using the cache or not using the cache can reach 1:5, meaning that using the caching can provide a five times speed up. It is therefore, interesting to enable the caching, if enough memory is available for it. The caching is enabled by default, in order to preserve backward compatibility with previous versions of ITK.
|
virtual |
|
virtual |
|
virtual |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 704 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 692 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 695 of file itkImageToImageMetric.h.
|
staticprotected |
Get the match Measure.
|
protected |
Get the match Measure.
|
staticprotected |
Get the match Measure.
|
protected |
Get the match Measure.
|
inlineprotectedvirtual |
Get the match Measure.
|
inlineprotectedvirtual |
Get the match Measure.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 672 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Get the match Measure.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 661 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Get the match Measure.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 664 of file itkImageToImageMetric.h.
|
virtual |
Initialize the Metric by making sure that all the components are present and plugged together correctly.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, and itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Initialize the components related to supporting multiple threads
|
protectedvirtual |
Cache pre-transformed points, weights and indices.
|
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::CostFunctionTemplate< TInternalComputationValueType >.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >, itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >, and itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ReinitializeSeed | ( | ) |
Reinitialize the seed of the random number generator that selects the sample of pixels used for estimating the image histograms and the joint histogram. By nature, this metric is not deterministic, since at each run it may select a different set of pixels. By initializing the random number generator seed to the same value you can restore determinism. On the other hand, calling the method ReinitializeSeed() without arguments will use the clock from your machine in order to have a very random initialization of the seed. This will indeed increase the non-deterministic behavior of the metric.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::ReinitializeSeed | ( | int | seed | ) |
Reinitialize the seed of the random number generator that selects the sample of pixels used for estimating the image histograms and the joint histogram. By nature, this metric is not deterministic, since at each run it may select a different set of pixels. By initializing the random number generator seed to the same value you can restore determinism. On the other hand, calling the method ReinitializeSeed() without arguments will use the clock from your machine in order to have a very random initialization of the seed. This will indeed increase the non-deterministic behavior of the metric.
|
protectedvirtual |
Use the indexes that have been passed to the metric.
|
protectedvirtual |
Uniformly select a sample set from the fixed image domain.
Samples the fixed image using a random walk.
|
protectedvirtual |
Sample the fixed image domain using all pixels in the Fixed image region.
Gathers all the pixels from the fixed image domain.
|
virtual |
Set/Get gradient computation.
|
virtual |
Get/Set the Fixed Image.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageIndexes | ( | const FixedImageIndexContainer & | indexes | ) |
Set the fixed image indexes to be used as the samples when computing the match metric
|
virtual |
Set/Get the fixed image mask.
|
virtual |
Set the region over which the metric will be computed
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageSamplesIntensityThreshold | ( | const FixedImagePixelType & | thresh | ) |
Minimum fixed-image intensity needed for a sample to be used in the metric computation
|
virtual |
Connect the Interpolator.
|
virtual |
Get/Set the Moving Image.
|
virtual |
Set/Get the moving image mask.
|
virtual |
Number of spatial samples to compute the metric.
Sets the number of samples.
|
inline |
Number of spatial samples to used to compute metric This sets the number of samples.
Definition at line 264 of file itkImageToImageMetric.h.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfWorkUnits | ( | ThreadIdType | numberOfWorkUnits | ) |
Set/Get number of work units to use for computations.
|
virtual |
Connect the Transform.
Reimplemented in itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetTransformParameters | ( | const ParametersType & | parameters | ) | const |
Set the parameters defining the Transform.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseAllPixels | ( | bool | useAllPixels | ) |
Select whether the metric will be computed using all the pixels on the fixed image region, or only using a set of randomly selected pixels. This value override IntensityThreshold, Masks, and SequentialSampling.
|
virtual |
This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. In particular it will cache the values of the BSpline weights for that points, and the indexes indicating what BSpline-grid nodes are relevant for that specific point. This caching is made optional due to the fact that the memory arrays used for the caching can reach large sizes even for moderate image size problems. For example, for a 3D image of 256^3, using 20% of pixels, these arrays will take about 1 Gigabyte of RAM for storage. The ratio of computing time between using the cache or not using the cache can reach 1:5, meaning that using the caching can provide a five times speed up. It is therefore, interesting to enable the caching, if enough memory is available for it. The caching is enabled by default, in order to preserve backward compatibility with previous versions of ITK.
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageIndexes | ( | bool | useIndexes | ) |
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageSamplesIntensityThreshold | ( | bool | useThresh | ) |
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseSequentialSampling | ( | bool | useSequential | ) |
If set to true, then every pixel in the fixed image will be scanned to determine if it should be used in registration metric computation. A pixel will be chosen if it meets any mask or threshold limits set. If set to false, then UseAllPixels will be set to false.
|
protectedvirtual |
Synchronizes the threader transforms with the transform member variable.
This method can be const because we are not altering the m_ThreaderTransform pointer. We are altering the object that m_ThreaderTransform[idx] points at.* This is allowed under C++ const rules.
|
protectedvirtual |
Transform a point from FixedImage domain to MovingImage domain.
This function also checks if mapped point is within support region.
|
protectedvirtual |
Transform a point from FixedImage domain to MovingImage domain.
This function also checks if mapped point is within support region.
|
inline |
Definition at line 300 of file itkImageToImageMetric.h.
|
inline |
Definition at line 294 of file itkImageToImageMetric.h.
|
virtual |
This boolean flag is only relevant when this metric is used along with a BSplineBaseTransform. The flag enables/disables the caching of values computed when a physical point is mapped through the BSplineBaseTransform. In particular it will cache the values of the BSpline weights for that points, and the indexes indicating what BSpline-grid nodes are relevant for that specific point. This caching is made optional due to the fact that the memory arrays used for the caching can reach large sizes even for moderate image size problems. For example, for a 3D image of 256^3, using 20% of pixels, these arrays will take about 1 Gigabyte of RAM for storage. The ratio of computing time between using the cache or not using the cache can reach 1:5, meaning that using the caching can provide a five times speed up. It is therefore, interesting to enable the caching, if enough memory is available for it. The caching is enabled by default, in order to preserve backward compatibility with previous versions of ITK.
|
staticconstexprprotected |
Definition at line 484 of file itkImageToImageMetric.h.
|
staticconstexpr |
Definition at line 84 of file itkImageToImageMetric.h.
|
protected |
Pointer to BSplineInterpolator.
Definition at line 564 of file itkImageToImageMetric.h.
|
protected |
Definition at line 518 of file itkImageToImageMetric.h.
|
protected |
Definition at line 515 of file itkImageToImageMetric.h.
|
protected |
Definition at line 511 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 524 of file itkImageToImageMetric.h.
|
protected |
Definition at line 514 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 523 of file itkImageToImageMetric.h.
|
protected |
Definition at line 513 of file itkImageToImageMetric.h.
|
protected |
Definition at line 452 of file itkImageToImageMetric.h.
|
protected |
Get the match Measure.
Definition at line 636 of file itkImageToImageMetric.h.
|
protected |
Pointer to central difference calculator.
Definition at line 567 of file itkImageToImageMetric.h.
|
protected |
Definition at line 440 of file itkImageToImageMetric.h.
|
protected |
Definition at line 403 of file itkImageToImageMetric.h.
|
protected |
Definition at line 455 of file itkImageToImageMetric.h.
|
private |
Definition at line 716 of file itkImageToImageMetric.h.
|
protected |
Container to store a set of points and fixed image values.
Definition at line 430 of file itkImageToImageMetric.h.
|
protected |
Definition at line 406 of file itkImageToImageMetric.h.
|
protected |
Definition at line 453 of file itkImageToImageMetric.h.
|
protected |
Definition at line 450 of file itkImageToImageMetric.h.
|
protected |
Definition at line 441 of file itkImageToImageMetric.h.
|
protected |
Definition at line 456 of file itkImageToImageMetric.h.
|
protected |
Definition at line 434 of file itkImageToImageMetric.h.
|
protected |
Definition at line 432 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 438 of file itkImageToImageMetric.h.
|
protected |
Definition at line 458 of file itkImageToImageMetric.h.
|
protected |
Types and variables related to BSpline deformable transforms. If the transform is of type third order BSplineBaseTransform, then we can speed up the metric derivative calculation by only inspecting the parameters within the support region of a mapped point.
The number of BSpline transform weights is the number of of parameter in the support region (per dimension ).
Definition at line 482 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 465 of file itkImageToImageMetric.h.
|
protected |
Definition at line 463 of file itkImageToImageMetric.h.
|
protected |
Get the match Measure.
Definition at line 635 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 527 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 526 of file itkImageToImageMetric.h.
|
mutableprotected |
Get the match Measure.
Definition at line 637 of file itkImageToImageMetric.h.
|
protected |
Copies of Transform helpers per thread (N-1 of them, since m_Transform will do the work for thread=0.
Definition at line 448 of file itkImageToImageMetric.h.
|
protected |
Main transform to be used in thread = 0
Definition at line 444 of file itkImageToImageMetric.h.
|
protected |
Definition at line 460 of file itkImageToImageMetric.h.
|
protected |
Definition at line 522 of file itkImageToImageMetric.h.
|
protected |
Definition at line 402 of file itkImageToImageMetric.h.
|
protected |
Definition at line 405 of file itkImageToImageMetric.h.
|
protected |
Definition at line 461 of file itkImageToImageMetric.h.
|
protected |
Definition at line 516 of file itkImageToImageMetric.h.
|
protected |
Get the match Measure.
Definition at line 639 of file itkImageToImageMetric.h.
|
protected |
Get the match Measure.
Definition at line 638 of file itkImageToImageMetric.h.
|
staticconstexpr |
Constants for the image dimensions
Definition at line 83 of file itkImageToImageMetric.h.