#include <itkAdvancedImageToImageMetric.h>
An extension of the ITK ImageToImageMetric. It is the intended base class for all elastix metrics.
This class inherits from the itk::ImageToImageMetric. The additional features of this class that makes it an AdvancedImageToImageMetric are:
The parameters used in this class are:
(MovingImageDerivativeScales 1 1 0)
Definition at line 82 of file itkAdvancedImageToImageMetric.h.
Data Structures | |
struct | DummyMask |
struct | GetValueAndDerivativePerThreadStruct |
struct | MultiThreaderParameterType |
Protected Types | |
using | BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer |
using | BSplineInterpolatorFloatType |
using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer |
using | BSplineInterpolatorType |
using | FixedImageIndexType = typename FixedImageType::IndexType |
using | FixedImageIndexValueType = typename FixedImageIndexType::IndexValueType |
using | FixedImagePointType = typename TransformType::InputPointType |
using | LinearInterpolatorPointer = typename LinearInterpolatorType::Pointer |
using | LinearInterpolatorType = AdvancedLinearInterpolateImageFunction<MovingImageType, CoordinateRepresentationType> |
using | MovingImageContinuousIndexType = typename InterpolatorType::ContinuousIndexType |
using | MovingImageDerivativeType = typename BSplineInterpolatorType::CovariantVectorType |
using | MovingImageIndexType = typename MovingImageType::IndexType |
using | MovingImagePointType = typename TransformType::OutputPointType |
using | NonZeroJacobianIndicesType = typename AdvancedTransformType::NonZeroJacobianIndicesType |
using | ReducedBSplineInterpolatorPointer = typename ReducedBSplineInterpolatorType::Pointer |
using | ReducedBSplineInterpolatorType |
Protected Member Functions | |
AdvancedImageToImageMetric () | |
virtual void | AfterThreadedGetValue (MeasureType &) const |
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &, DerivativeType &) const |
void | CheckForAdvancedTransform () |
void | CheckForBSplineInterpolator () |
void | CheckForBSplineTransform () const |
void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
bool | EvaluateTransformJacobian (const FixedImagePointType &fixedImagePoint, TransformJacobianType &jacobian, NonZeroJacobianIndicesType &nzji) const |
virtual void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const |
bool | FastEvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const ThreadIdType threadId) const |
virtual void | InitializeImageSampler () |
void | InitializeLimiters () |
virtual void | InitializeThreadingParameters () const |
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) | |
itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) | |
void | LaunchGetValueAndDerivativeThreaderCallback () const |
void | LaunchGetValueThreaderCallback () const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
void | SetFixedImageMask (const typename Superclass::FixedImageMaskType *) final |
void | SetFixedImageMask (typename Superclass::FixedImageMaskType *) final |
void | SetMovingImageMask (const typename Superclass::MovingImageMaskType *) final |
void | SetMovingImageMask (typename Superclass::MovingImageMaskType *) final |
virtual void | SetUseFixedImageLimiter (bool _arg) |
virtual void | SetUseImageSampler (bool _arg) |
virtual void | SetUseMovingImageLimiter (bool _arg) |
virtual void | ThreadedGetValue (ThreadIdType) const |
virtual void | ThreadedGetValueAndDerivative (ThreadIdType) const |
MovingImagePointType | TransformPoint (const FixedImagePointType &fixedImagePoint) const |
~AdvancedImageToImageMetric () override=default | |
Static Protected Member Functions | |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | AccumulateDerivativesThreaderCallback (void *arg) |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueAndDerivativeThreaderCallback (void *arg) |
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | GetValueThreaderCallback (void *arg) |
Protected Attributes | |
AdvancedTransformType::Pointer | m_AdvancedTransform { nullptr } |
FixedImageLimiterOutputType | m_FixedImageMaxLimit { 1 } |
FixedImageLimiterOutputType | m_FixedImageMinLimit { 0 } |
FixedImagePixelType | m_FixedImageTrueMax { 1 } |
FixedImagePixelType | m_FixedImageTrueMin { 0 } |
double | m_FixedLimitRangeRatio { 0.01 } |
std::unique_ptr< AlignedGetValueAndDerivativePerThreadStruct[]> | m_GetValueAndDerivativePerThreadVariables |
ThreadIdType | m_GetValueAndDerivativePerThreadVariablesSize { 0 } |
ImageSamplerPointer | m_ImageSampler { nullptr } |
MovingImageLimiterOutputType | m_MovingImageMaxLimit { 1 } |
MovingImageLimiterOutputType | m_MovingImageMinLimit { 0 } |
MovingImagePixelType | m_MovingImageTrueMax { 1 } |
MovingImagePixelType | m_MovingImageTrueMin { 0 } |
double | m_MovingLimitRangeRatio { 0.01 } |
MultiThreaderParameterType | m_ThreaderMetricParameters {} |
bool | m_TransformIsBSpline { false } |
bool | m_UseMetricSingleThreaded { true } |
bool | m_UseMultiThread { false } |
Private Member Functions | |
template<typename... TOptionalThreadId> | |
bool | EvaluateMovingImageValueAndDerivativeWithOptionalThreadId (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const TOptionalThreadId... optionalThreadId) const |
Private Attributes | |
BSplineInterpolatorPointer | m_BSplineInterpolator { nullptr } |
BSplineInterpolatorFloatPointer | m_BSplineInterpolatorFloat { nullptr } |
FixedImageLimiterPointer | m_FixedImageLimiter { nullptr } |
LinearInterpolatorPointer | m_LinearInterpolator { nullptr } |
MovingImageDerivativeScalesType | m_MovingImageDerivativeScales { MovingImageDerivativeScalesType::Filled(1.0) } |
MovingImageLimiterPointer | m_MovingImageLimiter { nullptr } |
ReducedBSplineInterpolatorPointer | m_ReducedBSplineInterpolator { nullptr } |
double | m_RequiredRatioOfValidSamples { 0.25 } |
bool | m_ScaleGradientWithRespectToMovingImageOrientation { false } |
bool | m_UseFixedImageLimiter { false } |
bool | m_UseImageSampler { false } |
bool | m_UseMovingImageDerivativeScales { false } |
bool | m_UseMovingImageLimiter { false } |
Static Private Attributes | |
static constexpr DummyMask | m_FixedImageMask {} |
static constexpr DummyMask | m_MovingImageMask {} |
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension> |
Definition at line 157 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 347 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 345 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 344 of file itkAdvancedImageToImageMetric.h.
|
protected |
Typedefs used for computing image derivatives.
Definition at line 342 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
Definition at line 165 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1> |
Definition at line 162 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
Definition at line 166 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2> |
Definition at line 163 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
Definition at line 167 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3> |
Definition at line 164 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
Typedef's for the B-spline transform.
Definition at line 161 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 91 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType = typename DerivativeType::ValueType |
Definition at line 133 of file itkAdvancedImageToImageMetric.h.
|
protected |
Protected Typedefs Typedefs for indices and points.
Definition at line 334 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 335 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
Definition at line 150 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
Definition at line 149 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension> |
Typedefs for Limiter support.
Definition at line 148 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType> |
Definition at line 126 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer = SmartPointer<FixedImageMaskType> |
Definition at line 125 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension> |
Definition at line 124 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename FixedImageType::PixelType |
Some useful extra typedefs.
Definition at line 137 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointer = typename FixedImageType::Pointer |
Definition at line 107 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 337 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
Definition at line 145 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
Definition at line 144 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer = typename ImageSamplerType::Pointer |
Definition at line 143 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType = ImageSamplerBase<FixedImageType> |
Typedefs for the ImageSampler.
Definition at line 142 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 352 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 351 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 339 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension> |
Definition at line 139 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 353 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 336 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
Definition at line 153 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
Definition at line 152 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension> |
Definition at line 151 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType> |
Definition at line 129 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer = SmartPointer<MovingImageMaskType> |
Definition at line 128 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension> |
Definition at line 127 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointer = typename MovingImageType::Pointer |
Definition at line 104 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 338 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType = typename MovingImageType::RegionType |
Definition at line 138 of file itkAdvancedImageToImageMetric.h.
|
protected |
Typedefs for support of sparse Jacobians and compact support of transformations.
Definition at line 356 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
Definition at line 158 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 90 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 350 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 348 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ScalarType = typename TransformType::ScalarType |
Advanced transform.
Definition at line 156 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Self = AdvancedImageToImageMetric |
Standard class typedefs.
Definition at line 88 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 89 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
Typedef for multi-threading.
Definition at line 170 of file itkAdvancedImageToImageMetric.h.
|
protected |
Constructor.
|
overrideprotecteddefault |
Destructor.
|
staticprotected |
AccumulateDerivatives threader callback function.
|
inlineprotectedvirtual |
Finalize multi-threaded metric computation.
Reimplemented in itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, and itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 388 of file itkAdvancedImageToImageMetric.h.
|
inlineprotectedvirtual |
Finalize multi-threaded metric computation.
Reimplemented in itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, and itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >.
Definition at line 404 of file itkAdvancedImageToImageMetric.h.
|
virtual |
Contains calls from GetValueAndDerivative that are thread-unsafe, together with preparation for multi-threading. Note that the only reason why this function is not protected, is because the ComboMetric needs to call it.
Reimplemented in itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >, and itk::TransformRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >.
|
protected |
Methods to support transforms with sparse Jacobians, like the BSplineTransform Check if the transform is an AdvancedTransform. Called by Initialize. If so, we can speed up derivative calculations by only inspecting the parameters in the support region of a point.
|
protected |
Methods for image derivative evaluation support Initialize variables for image derivative computation; this method is called by Initialize.
|
protected |
Check if the transform is a B-spline. Called by Initialize.
|
protected |
Check if enough samples have been found to compute a reliable estimate of the value/derivative; throws an exception if not.
|
inlineprotectedvirtual |
Compute the image value (and possibly derivative) at a transformed point. Checks if the point lies within the moving image buffer (bool return). If no gradient is wanted, set the gradient argument to 0. If a BSplineInterpolationFunction or AdvacnedLinearInterpolationFunction is used, this class obtains image derivatives from the B-spline or linear interpolator. Otherwise, image derivatives are computed using nearest neighbor interpolation of a precomputed (central difference) gradient image.
Reimplemented in itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 500 of file itkAdvancedImageToImageMetric.h.
|
private |
|
protected |
This function returns a reference to the transform Jacobians. This is either a reference to the full TransformJacobian or a reference to a sparse Jacobians. The m_NonZeroJacobianIndices contains the indices that are nonzero. The length of NonZeroJacobianIndices is set in the CheckForAdvancedTransform function.
|
protectedvirtual |
Computes the inner product of transform Jacobian with moving image gradient. The results are stored in imageJacobian, which is supposed to have the right size (same length as Jacobian's number of columns).
Reimplemented in itk::PCAMetric2< TFixedImage, TMovingImage >, itk::PCAMetric2< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumOfPairwiseCorrelationCoefficientsMetric< TFixedImage, TMovingImage >, itk::SumOfPairwiseCorrelationCoefficientsMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, and itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
|
inlineprotected |
Definition at line 510 of file itkAdvancedImageToImageMetric.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented in elastix::AdvancedKappaStatisticMetric< TElastix >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, elastix::AdvancedMeanSquaresMetric< TElastix >, elastix::AdvancedNormalizedCorrelationMetric< TElastix >, elastix::DisplacementMagnitudePenalty< TElastix >, elastix::DistancePreservingRigidityPenalty< TElastix >, elastix::GradientDifferenceMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, elastix::NormalizedGradientCorrelationMetric< TElastix >, elastix::NormalizedMutualInformationMetric< TElastix >, elastix::PatternIntensityMetric< TElastix >, elastix::PCAMetric2< TElastix >, elastix::PCAMetric< TElastix >, elastix::SumOfPairwiseCorrelationCoefficientsMetric< TElastix >, elastix::SumSquaredTissueVolumeDifferenceMetric< TElastix >, elastix::TransformBendingEnergyPenalty< TElastix >, elastix::TransformRigidityPenalty< TElastix >, elastix::VarianceOverLastDimensionMetric< TElastix >, itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::DisplacementMagnitudePenaltyTerm< TFixedImage, TScalarType >, itk::DisplacementMagnitudePenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::DistancePreservingRigidityPenaltyTerm< TFixedImage, TScalarType >, itk::DistancePreservingRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImageToImageMetricWithFeatures< TFixedImage, TMovingImage, TFixedFeatureImage, TMovingFeatureImage >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::NormalizedGradientCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedGradientCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PatternIntensityImageToImageMetric< TFixedImage, TMovingImage >, itk::PatternIntensityImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric2< TFixedImage, TMovingImage >, itk::PCAMetric2< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumOfPairwiseCorrelationCoefficientsMetric< TFixedImage, TMovingImage >, itk::SumOfPairwiseCorrelationCoefficientsMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::TransformPenaltyTerm< TFixedImage, TScalarType >, itk::TransformPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::TransformPenaltyTerm< TFixedImage, TScalarType >, itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >, itk::TransformRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, and itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
|
virtual |
|
inlineoverride |
Definition at line 189 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
inline |
Definition at line 235 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
virtual |
|
inlineoverride |
Definition at line 197 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
virtual |
|
virtual |
|
inlineoverride |
Get the advanced transform. Const overload.
Definition at line 226 of file itkAdvancedImageToImageMetric.h.
|
inlineoverride |
Get the advanced transform.
Definition at line 219 of file itkAdvancedImageToImageMetric.h.
|
virtual |
Inheriting classes can specify whether they use the image limiter functionality. This method allows the user to inspect this setting.
|
virtual |
Inheriting classes can specify whether they use the image sampler functionality; This method allows the user to inspect this setting.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
staticprotected |
GetValueAndDerivative threader callback function.
|
staticprotected |
GetValue threader callback function.
|
override |
Initialize the Metric by making sure that all the components are present and plugged together correctly.
|
protectedvirtual |
Protected methods ************** Methods for image sampler support Initialize variables related to the image sampler; called by Initialize.
Reimplemented in itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
|
protected |
Initialize the {Fixed,Moving}[True]{Max,Min}[Limit] and the {Fixed,Moving}ImageLimiter Only does something when Use{Fixed,Moving}Limiter is set to true;
|
protectedvirtual |
Initialize some multi-threading related parameters.
Reimplemented in itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, and itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
|
protectedvirtual |
Convenience method: check if point is inside the moving mask.
Reimplemented in itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedImageToImageMetric< TFixedImage, TMovingImage > | ) |
|
protected |
|
protected |
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
TFixedImage::ImageDimension | ) |
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
TMovingImage::ImageDimension | ) |
Constants for the image dimensions.
|
protected |
Launch MultiThread GetValueAndDerivative.
|
protected |
Launch MultiThread GetValue.
|
overrideprotected |
PrintSelf.
|
virtual |
|
inlinevirtual |
Public methods
Reimplemented in itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 175 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 580 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 574 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
virtual |
Set/Get the image sampler.
|
virtual |
|
virtual |
Set/Get the Moving/Fixed limiter. Its thresholds and bounds are set by the metric. Setting a limiter is only mandatory if GetUse{Fixed,Moving}Limiter() returns true.
|
inlinevirtual |
Reimplemented in itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 182 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 592 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 586 of file itkAdvancedImageToImageMetric.h.
|
virtual |
A percentage that defines how much the gray value range is extended maxlimit = max + LimitRangeRatio * (max - min) minlimit = min - LimitRangeRatio * (max - min) Default: 0.01; If you use a nearest neighbor or linear interpolator, set it to zero and use a hard limiter.
|
virtual |
Set/Get the required ratio of valid samples; default 0.25. When less than this ratio*numberOfSamplesTried samples map inside the moving image buffer, an exception will be thrown.
|
virtual |
|
inlinevirtual |
Set the transform, of advanced type.
Reimplemented in itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 206 of file itkAdvancedImageToImageMetric.h.
|
protectedvirtual |
Inheriting classes can specify whether they use the image limiter functionality Make sure to set it before calling Initialize; default: false.
|
protectedvirtual |
Inheriting classes can specify whether they use the image sampler functionality Make sure to set it before calling Initialize; default: false.
|
virtual |
Switch the function BeforeThreadedGetValueAndDerivative on or off.
|
virtual |
You may specify a scaling vector for the moving image derivatives. If the UseMovingImageDerivativeScales is true, the moving image derivatives are multiplied by the moving image derivative scales (element-wise) You may use this to avoid deformations in the z-dimension, for example, by setting the moving image derivative scales to (1,1,0). This is a rather experimental feature. In most cases you do not need it.
|
protectedvirtual |
|
virtual |
Select the use of multi-threading
|
inlineprotectedvirtual |
Multi-threaded metric computation. Multi-threaded version of GetValue().
Reimplemented in itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, and itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 384 of file itkAdvancedImageToImageMetric.h.
|
inlineprotectedvirtual |
Multi-threaded version of GetValueAndDerivative().
Reimplemented in itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, and itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >.
Definition at line 400 of file itkAdvancedImageToImageMetric.h.
|
protected |
Transform a point from FixedImage domain to MovingImage domain.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protected |
Variables to store the AdvancedTransform.
Definition at line 366 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 612 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 613 of file itkAdvancedImageToImageMetric.h.
|
private |
Private member variables for limiters and for image derivative computation.
Definition at line 609 of file itkAdvancedImageToImageMetric.h.
|
staticconstexprprivate |
Definition at line 633 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 377 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 376 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 373 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for the Limiters.
Definition at line 372 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 569 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 458 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 461 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Protected Variables Variables for ImageSampler support. m_ImageSampler is mutable, because it is changed in the GetValue(), etc, which are const functions.
Definition at line 363 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 611 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 624 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 610 of file itkAdvancedImageToImageMetric.h.
|
staticconstexprprivate |
Definition at line 634 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 379 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 378 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 375 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 374 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 570 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 614 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 620 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 622 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 434 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Member variable for TransformPenaltyTerm::CheckForBSplineTransform2
Definition at line 369 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 618 of file itkAdvancedImageToImageMetric.h.
|
private |
Other private member variables.
Definition at line 617 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for multi-threading.
Definition at line 420 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 621 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 619 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 421 of file itkAdvancedImageToImageMetric.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |