ITK
4.9.0
Insight Segmentation and Registration 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 51 of file itkImageToImageMetric.h.
Classes | |
class | FixedImageSamplePoint |
struct | MultiThreaderParameterType |
Static Public Attributes | |
static const unsigned int | MovingImageDimension = TMovingImage::ImageDimension |
static const unsigned int | FixedImageDimension = TFixedImage::ImageDimension |
Static Protected Member Functions | |
static ITK_THREAD_RETURN_TYPE | GetValueAndDerivativeMultiThreaded (void *arg) |
static ITK_THREAD_RETURN_TYPE | GetValueAndDerivativeMultiThreadedPostProcess (void *arg) |
static ITK_THREAD_RETURN_TYPE | GetValueAndDerivativeMultiThreadedPreProcess (void *arg) |
static ITK_THREAD_RETURN_TYPE | GetValueMultiThreaded (void *arg) |
static ITK_THREAD_RETURN_TYPE | GetValueMultiThreadedPostProcess (void *arg) |
static ITK_THREAD_RETURN_TYPE | GetValueMultiThreadedPreProcess (void *arg) |
Static Protected Attributes | |
static const unsigned int | DeformationSplineOrder = 3 |
Private Member Functions | |
ImageToImageMetric (const Self &) ITK_DELETE_FUNCTION | |
void | operator= (const Self &) ITK_DELETE_FUNCTION |
Private Attributes | |
FixedImageRegionType | m_FixedImageRegion |
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 flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
|
protected |
Definition at line 442 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 451 of file itkImageToImageMetric.h.
|
protected |
Definition at line 443 of file itkImageToImageMetric.h.
|
protected |
Definition at line 437 of file itkImageToImageMetric.h.
|
protected |
Definition at line 439 of file itkImageToImageMetric.h.
|
protected |
Definition at line 431 of file itkImageToImageMetric.h.
|
protected |
Definition at line 435 of file itkImageToImageMetric.h.
|
protected |
Definition at line 433 of file itkImageToImageMetric.h.
typedef SmartPointer< const Self > itk::ImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer |
Definition at line 59 of file itkImageToImageMetric.h.
typedef Superclass::ParametersValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType |
Type used for representing point components
Definition at line 62 of file itkImageToImageMetric.h.
|
protected |
Typedefs for using central difference calculator.
Definition at line 456 of file itkImageToImageMetric.h.
typedef Superclass::DerivativeType itk::ImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType |
Type of the derivative.
Definition at line 138 of file itkImageToImageMetric.h.
typedef FixedImageType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer |
Definition at line 75 of file itkImageToImageMetric.h.
typedef std::vector< FixedImageIndexType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexContainer |
Definition at line 106 of file itkImageToImageMetric.h.
typedef FixedImageType::IndexType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType |
Index and Point typedef support.
Definition at line 100 of file itkImageToImageMetric.h.
typedef FixedImageIndexType::IndexValueType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType |
Definition at line 101 of file itkImageToImageMetric.h.
typedef FixedImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer |
Definition at line 126 of file itkImageToImageMetric.h.
typedef FixedImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer |
Definition at line 125 of file itkImageToImageMetric.h.
typedef SpatialObject< itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType |
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 124 of file itkImageToImageMetric.h.
typedef TFixedImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType |
Definition at line 74 of file itkImageToImageMetric.h.
typedef TransformType::InputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType |
Definition at line 103 of file itkImageToImageMetric.h.
typedef FixedImageType::RegionType itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType |
Definition at line 76 of file itkImageToImageMetric.h.
|
protected |
FixedImageSamplePoint typedef support.
Definition at line 365 of file itkImageToImageMetric.h.
typedef TFixedImage itk::ImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType |
Type of the fixed Image.
Definition at line 73 of file itkImageToImageMetric.h.
typedef GradientImageFilterType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 117 of file itkImageToImageMetric.h.
typedef GradientRecursiveGaussianImageFilter< MovingImageType, GradientImageType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 116 of file itkImageToImageMetric.h.
typedef SmartPointer< GradientImageType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 115 of file itkImageToImageMetric.h.
typedef Image< GradientPixelType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 114 of file itkImageToImageMetric.h.
typedef CovariantVector< RealType, itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 113 of file itkImageToImageMetric.h.
|
protected |
Definition at line 458 of file itkImageToImageMetric.h.
|
protected |
Definition at line 438 of file itkImageToImageMetric.h.
typedef TransformType::InputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::InputPointType |
Definition at line 94 of file itkImageToImageMetric.h.
typedef InterpolatorType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer |
Definition at line 120 of file itkImageToImageMetric.h.
typedef InterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::ImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType |
Type of the Interpolator Base class
Definition at line 109 of file itkImageToImageMetric.h.
typedef Superclass::MeasureType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MeasureType |
Type of the measure.
Definition at line 135 of file itkImageToImageMetric.h.
typedef MovingImageType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer |
Definition at line 70 of file itkImageToImageMetric.h.
typedef MovingImageType::IndexType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType |
Definition at line 102 of file itkImageToImageMetric.h.
typedef MovingImageMaskType::ConstPointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer |
Definition at line 132 of file itkImageToImageMetric.h.
typedef MovingImageMaskType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer |
Definition at line 131 of file itkImageToImageMetric.h.
typedef SpatialObject< itkGetStaticConstMacro(MovingImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType |
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 130 of file itkImageToImageMetric.h.
typedef TMovingImage::PixelType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType |
Definition at line 69 of file itkImageToImageMetric.h.
|
protected |
Definition at line 441 of file itkImageToImageMetric.h.
typedef TransformType::OutputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType |
Definition at line 104 of file itkImageToImageMetric.h.
typedef TMovingImage itk::ImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType |
Type of the moving Image.
Definition at line 65 of file itkImageToImageMetric.h.
typedef MultiThreader itk::ImageToImageMetric< TFixedImage, TMovingImage >::MultiThreaderType |
Definition at line 317 of file itkImageToImageMetric.h.
typedef TransformType::OutputPointType itk::ImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType |
Definition at line 95 of file itkImageToImageMetric.h.
typedef Superclass::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::ParametersType |
Type of the parameters.
Definition at line 141 of file itkImageToImageMetric.h.
typedef SmartPointer< Self > itk::ImageToImageMetric< TFixedImage, TMovingImage >::Pointer |
Definition at line 58 of file itkImageToImageMetric.h.
typedef NumericTraits< MovingImagePixelType >::RealType itk::ImageToImageMetric< TFixedImage, TMovingImage >::RealType |
Gaussian filter to compute the gradient of the Moving Image
Definition at line 112 of file itkImageToImageMetric.h.
typedef ImageToImageMetric itk::ImageToImageMetric< TFixedImage, TMovingImage >::Self |
Standard class typedefs.
Definition at line 56 of file itkImageToImageMetric.h.
typedef SingleValuedCostFunction itk::ImageToImageMetric< TFixedImage, TMovingImage >::Superclass |
Definition at line 57 of file itkImageToImageMetric.h.
typedef TransformType::JacobianType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType |
Definition at line 97 of file itkImageToImageMetric.h.
typedef TransformType::ParametersType itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType |
Definition at line 96 of file itkImageToImageMetric.h.
typedef TransformType::Pointer itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer |
Definition at line 93 of file itkImageToImageMetric.h.
typedef Transform< CoordinateRepresentationType, itkGetStaticConstMacro(MovingImageDimension), itkGetStaticConstMacro(FixedImageDimension) > itk::ImageToImageMetric< TFixedImage, TMovingImage >::TransformType |
Type of the Transform Base class
Definition at line 91 of file itkImageToImageMetric.h.
|
protected |
Definition at line 434 of file itkImageToImageMetric.h.
|
protected |
|
protectedvirtual |
|
private |
|
virtual |
Computes the gradient image and assigns it to m_GradientImage
Reimplemented in itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Set/Get gradient computation.
|
virtual |
Set/Get gradient computation.
|
protectedvirtual |
Compute image derivatives at a point.
|
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 |
|
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.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::SingleValuedCostFunction.
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MatchCardinalityImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::KappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedMutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanReciprocalSquareDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::CorrelationCoefficientHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::HistogramImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
Number of spatial samples to used to compute metric This sets the number of samples.
Referenced by itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfSpatialSamples().
|
inline |
Get the number of pixels considered in the computation.
Definition at line 166 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfPixelsCounted().
|
inlineoverridevirtual |
Return the number of parameters required by the Transform
Implements itk::CostFunctionTemplate< TInternalComputationValueType >.
Reimplemented in itk::CompareHistogramImageToImageMetric< TFixedImage, TMovingImage >, and itk::KullbackLeiblerCompareHistogramImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 220 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_Transform.
|
virtual |
|
inline |
Definition at line 246 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfFixedImageSamples().
|
virtual |
Set/Get number of threads to use for computations.
|
virtual |
Get the Threader.
|
inline |
Get the Threader.
Definition at line 323 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderTransform.
|
virtual |
|
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 |
|
staticprotected |
|
protected |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 577 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 566 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 570 of file itkImageToImageMetric.h.
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
staticprotected |
|
protected |
|
inlineprotectedvirtual |
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 547 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 537 of file itkImageToImageMetric.h.
|
inlineprotectedvirtual |
Reimplemented in itk::MattesMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, and itk::MeanSquaresImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 541 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
|
private |
|
protectedvirtual |
|
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::HistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::MutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::CompareHistogramImageToImageMetric< 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 |
|
protectedvirtual |
Uniformly select a sample set from the fixed image domain.
|
protectedvirtual |
Gather 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/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 |
Set/Get the moving image mask.
|
virtual |
Number of spatial samples to used to compute metric This sets the number of samples.
Referenced by itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfSpatialSamples().
|
inline |
Number of spatial samples to used to compute metric This sets the number of samples.
Definition at line 241 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfFixedImageSamples().
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfThreads | ( | ThreadIdType | numberOfThreads | ) |
Set/Get number of threads to use for computations.
|
virtual |
Connect the Transform.
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.
Referenced by itk::ImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOff(), and itk::ImageToImageMetric< TFixedImage, TMovingImage >::UseAllPixelsOn().
|
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 | useIndex | ) |
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageSamplesIntensityThreshold | ( | bool | useThresh | ) |
void itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseSequentialSampling | ( | bool | sequentialSampling | ) |
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.
|
protectedvirtual |
Transform a point from FixedImage domain to MovingImage domain. This function also checks if mapped point is within support region.
|
protectedvirtual |
|
inline |
Definition at line 271 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseAllPixels().
|
inline |
Definition at line 266 of file itkImageToImageMetric.h.
References itk::ImageToImageMetric< TFixedImage, TMovingImage >::SetUseAllPixels().
|
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 |
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.
|
staticprotected |
Definition at line 427 of file itkImageToImageMetric.h.
|
static |
Constants for the image dimensions
Definition at line 84 of file itkImageToImageMetric.h.
|
protected |
Pointer to BSplineInterpolator.
Definition at line 499 of file itkImageToImageMetric.h.
|
protected |
Definition at line 467 of file itkImageToImageMetric.h.
|
protected |
Definition at line 464 of file itkImageToImageMetric.h.
|
protected |
Definition at line 460 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 473 of file itkImageToImageMetric.h.
|
protected |
Definition at line 463 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 472 of file itkImageToImageMetric.h.
|
protected |
Definition at line 462 of file itkImageToImageMetric.h.
|
protected |
Definition at line 399 of file itkImageToImageMetric.h.
|
protected |
Pointer to central difference calculator.
Definition at line 502 of file itkImageToImageMetric.h.
|
protected |
Definition at line 387 of file itkImageToImageMetric.h.
|
protected |
Definition at line 359 of file itkImageToImageMetric.h.
|
protected |
Definition at line 402 of file itkImageToImageMetric.h.
|
private |
Definition at line 591 of file itkImageToImageMetric.h.
|
protected |
Container to store a set of points and fixed image values.
Definition at line 377 of file itkImageToImageMetric.h.
|
protected |
Definition at line 362 of file itkImageToImageMetric.h.
|
protected |
Definition at line 400 of file itkImageToImageMetric.h.
|
protected |
Definition at line 397 of file itkImageToImageMetric.h.
|
protected |
Boolean to indicate if the interpolator BSpline.
Definition at line 496 of file itkImageToImageMetric.h.
|
protected |
Definition at line 388 of file itkImageToImageMetric.h.
|
protected |
Definition at line 403 of file itkImageToImageMetric.h.
|
protected |
Definition at line 381 of file itkImageToImageMetric.h.
|
protected |
Definition at line 379 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 385 of file itkImageToImageMetric.h.
|
protected |
Definition at line 405 of file itkImageToImageMetric.h.
|
protected |
The number of BSpline transform weights is the number of of parameter in the support region (per dimension ).
Definition at line 425 of file itkImageToImageMetric.h.
|
protected |
Definition at line 412 of file itkImageToImageMetric.h.
|
protected |
Definition at line 410 of file itkImageToImageMetric.h.
|
protected |
Definition at line 517 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 476 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 475 of file itkImageToImageMetric.h.
|
mutableprotected |
Definition at line 519 of file itkImageToImageMetric.h.
|
protected |
Definition at line 518 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 395 of file itkImageToImageMetric.h.
Referenced by itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetThreaderTransform().
|
protected |
Main transform to be used in thread = 0
Definition at line 391 of file itkImageToImageMetric.h.
Referenced by itk::ImageToImageMetric< TFixedImage, TMovingImage >::GetNumberOfParameters().
|
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. Boolean to indicate if the transform is BSpline deformable.
Definition at line 421 of file itkImageToImageMetric.h.
|
protected |
Definition at line 407 of file itkImageToImageMetric.h.
|
protected |
Definition at line 471 of file itkImageToImageMetric.h.
|
protected |
Definition at line 358 of file itkImageToImageMetric.h.
|
protected |
Definition at line 361 of file itkImageToImageMetric.h.
|
protected |
Definition at line 408 of file itkImageToImageMetric.h.
|
protected |
Definition at line 465 of file itkImageToImageMetric.h.
|
protected |
Definition at line 521 of file itkImageToImageMetric.h.
|
protected |
Definition at line 520 of file itkImageToImageMetric.h.
|
static |
Constants for the image dimensions
Definition at line 81 of file itkImageToImageMetric.h.