![]() |
Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages |
#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 83 of file itkAdvancedImageToImageMetric.h.
Data Structures | |
struct | GetValueAndDerivativePerThreadStruct |
struct | GetValuePerThreadStruct |
struct | MultiThreaderParameterType |
Public Types | |
using | AdvancedTransformType = AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > |
using | BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
using | BSplineOrder1TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > |
using | BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
using | BSplineOrder2TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > |
using | BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
using | BSplineOrder3TransformType = AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > |
using | CombinationTransformType = AdvancedCombinationTransform< ScalarType, FixedImageDimension > |
using | ConstPointer = SmartPointer< const Self > |
using | DerivativeValueType = typename DerivativeType::ValueType |
using | FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
using | FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
using | FixedImageLimiterType = LimiterFunctionBase< RealType, FixedImageDimension > |
using | FixedImageMaskSpatialObject2Type = ImageMaskSpatialObject< Self::FixedImageDimension > |
using | FixedImagePixelType = typename FixedImageType::PixelType |
using | FixedImagePointer = typename FixedImageType::Pointer |
using | HessianType = vnl_sparse_matrix< HessianValueType > |
using | HessianValueType = typename DerivativeType::ValueType |
using | ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
using | ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
using | ImageSamplerPointer = typename ImageSamplerType::Pointer |
using | ImageSamplerType = ImageSamplerBase< FixedImageType > |
using | MovingImageDerivativeScalesType = FixedArray< double, Self::MovingImageDimension > |
using | MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
using | MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
using | MovingImageLimiterType = LimiterFunctionBase< RealType, MovingImageDimension > |
using | MovingImageMaskSpatialObject2Type = ImageMaskSpatialObject< Self::MovingImageDimension > |
using | MovingImagePointer = typename MovingImageType::Pointer |
using | MovingImageRegionType = typename MovingImageType::RegionType |
using | NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
using | Pointer = SmartPointer< Self > |
using | ScalarType = typename TransformType::ScalarType |
using | Self = AdvancedImageToImageMetric |
using | Superclass = ImageToImageMetric< TFixedImage, TMovingImage > |
using | ThreaderType = itk::PlatformMultiThreader |
using | ThreadInfoType = typename ThreaderType::WorkUnitInfo |
Protected Types | |
using | BSplineInterpolatorFloatPointer = typename BSplineInterpolatorFloatType::Pointer |
using | BSplineInterpolatorFloatType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, float > |
using | BSplineInterpolatorPointer = typename BSplineInterpolatorType::Pointer |
using | BSplineInterpolatorType = BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > |
using | CentralDifferenceGradientFilterPointer = typename CentralDifferenceGradientFilterType::Pointer |
using | CentralDifferenceGradientFilterType = GradientImageFilter< MovingImageType, RealType, RealType > |
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 = ReducedDimensionBSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > |
Protected Member Functions | |
AdvancedImageToImageMetric () | |
virtual void | AfterThreadedGetValue (MeasureType &value) const |
virtual void | AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const |
virtual void | CheckForAdvancedTransform () |
virtual void | CheckForBSplineInterpolator () |
virtual void | CheckForBSplineTransform () const |
virtual void | CheckNumberOfSamples (unsigned long wanted, unsigned long found) const |
virtual bool | EvaluateMovingImageValueAndDerivative (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient) const |
virtual 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 () |
virtual void | InitializeLimiters () |
virtual void | InitializeThreadingParameters () const |
virtual bool | IsInsideMovingMask (const MovingImagePointType &point) const |
itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct) | |
itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValuePerThreadStruct, AlignedGetValuePerThreadStruct) | |
itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct) | |
itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValuePerThreadStruct, PaddedGetValuePerThreadStruct) | |
void | LaunchGetValueAndDerivativeThreaderCallback () const |
void | LaunchGetValueThreaderCallback () const |
void | PrintSelf (std::ostream &os, Indent indent) const override |
virtual void | SetUseFixedImageLimiter (bool _arg) |
virtual void | SetUseImageSampler (bool _arg) |
virtual void | SetUseMovingImageLimiter (bool _arg) |
virtual void | ThreadedGetValue (ThreadIdType threadID) |
virtual void | ThreadedGetValueAndDerivative (ThreadIdType threadID) |
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) |
Private Member Functions | |
template<typename... TOptionalThreadId> | |
bool | EvaluateMovingImageValueAndDerivativeWithOptionalThreadId (const MovingImagePointType &mappedPoint, RealType &movingImageValue, MovingImageDerivativeType *gradient, const TOptionalThreadId... optionalThreadId) const |
Private Attributes | |
MovingImageDerivativeScalesType | m_MovingImageDerivativeScales { MovingImageDerivativeScalesType::Filled(1.0) } |
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 } |
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedTransformType = AdvancedTransform<ScalarType, FixedImageDimension, MovingImageDimension> |
Definition at line 158 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 326 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 324 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 323 of file itkAdvancedImageToImageMetric.h.
|
protected |
Typedefs used for computing image derivatives.
Definition at line 321 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
Definition at line 166 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1> |
Definition at line 163 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
Definition at line 167 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2> |
Definition at line 164 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
Definition at line 168 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3> |
Definition at line 165 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 334 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 333 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
Typedef's for the B-spline transform.
Definition at line 162 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 92 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType = typename DerivativeType::ValueType |
Definition at line 131 of file itkAdvancedImageToImageMetric.h.
|
protected |
Protected Typedefs Typedefs for indices and points.
Definition at line 313 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 314 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
Definition at line 151 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
Definition at line 150 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension> |
Typedefs for Limiter support.
Definition at line 149 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskSpatialObject2Type = ImageMaskSpatialObject<Self::FixedImageDimension> |
Definition at line 134 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename FixedImageType::PixelType |
Some useful extra typedefs.
Definition at line 138 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointer = typename FixedImageType::Pointer |
Definition at line 108 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 316 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::HessianType = vnl_sparse_matrix<HessianValueType> |
Definition at line 172 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::HessianValueType = typename DerivativeType::ValueType |
Hessian type; for SelfHessian (experimental feature)
Definition at line 171 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
Definition at line 146 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
Definition at line 145 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer = typename ImageSamplerType::Pointer |
Definition at line 144 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType = ImageSamplerBase<FixedImageType> |
Typedefs for the ImageSampler.
Definition at line 143 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 331 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 330 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 318 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension> |
Definition at line 140 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 332 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 315 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
Definition at line 154 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
Definition at line 153 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension> |
Definition at line 152 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskSpatialObject2Type = ImageMaskSpatialObject<Self::MovingImageDimension> |
Definition at line 135 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointer = typename MovingImageType::Pointer |
Definition at line 105 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 317 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType = typename MovingImageType::RegionType |
Definition at line 139 of file itkAdvancedImageToImageMetric.h.
|
protected |
Typedefs for support of sparse Jacobians and compact support of transformations.
Definition at line 337 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
Definition at line 159 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 91 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 329 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 327 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ScalarType = typename TransformType::ScalarType |
Advanced transform.
Definition at line 157 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Self = AdvancedImageToImageMetric |
Standard class typedefs.
Definition at line 89 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 90 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreaderType = itk::PlatformMultiThreader |
Typedefs for multi-threading.
Definition at line 175 of file itkAdvancedImageToImageMetric.h.
using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType = typename ThreaderType::WorkUnitInfo |
Definition at line 176 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 384 of file itkAdvancedImageToImageMetric.h.
|
inlineprotectedvirtual |
Finalize multi-threaded metric computation.
Reimplemented in itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, 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::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, and itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >.
Definition at line 402 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 >.
|
protectedvirtual |
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.
|
protectedvirtual |
Methods for image derivative evaluation support Initialize variables for image derivative computation; this method is called by Initialize.
|
protectedvirtual |
Check if the transform is a B-spline. Called by Initialize.
|
protectedvirtual |
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 510 of file itkAdvancedImageToImageMetric.h.
|
private |
|
protectedvirtual |
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::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric2< TFixedImage, TMovingImage >, itk::PCAMetric2< 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 520 of file itkAdvancedImageToImageMetric.h.
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::ImageToImageMetricWithFeatures< TFixedImage, TMovingImage, TFixedFeatureImage, TMovingFeatureImage >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformPenaltyTerm< TFixedImage, TScalarType >, itk::TransformPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::TransformPenaltyTerm< TFixedImage, TScalarType >, elastix::AdvancedKappaStatisticMetric< TElastix >, itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedMeanSquaresMetric< TElastix >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedNormalizedCorrelationMetric< TElastix >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::TransformBendingEnergyPenalty< TElastix >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, elastix::DisplacementMagnitudePenalty< TElastix >, itk::DisplacementMagnitudePenaltyTerm< TFixedImage, TScalarType >, itk::DisplacementMagnitudePenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, elastix::DistancePreservingRigidityPenalty< TElastix >, itk::DistancePreservingRigidityPenaltyTerm< TFixedImage, TScalarType >, itk::DistancePreservingRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, elastix::GradientDifferenceMetric< TElastix >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::NormalizedGradientCorrelationMetric< TElastix >, itk::NormalizedGradientCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedGradientCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::NormalizedMutualInformationMetric< TElastix >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::PatternIntensityMetric< TElastix >, itk::PatternIntensityImageToImageMetric< TFixedImage, TMovingImage >, itk::PatternIntensityImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::PCAMetric< TElastix >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::PCAMetric2< TElastix >, itk::PCAMetric2< TFixedImage, TMovingImage >, itk::PCAMetric2< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::TransformRigidityPenalty< TElastix >, itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >, itk::TransformRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, elastix::SumOfPairwiseCorrelationCoefficientsMetric< TElastix >, itk::SumOfPairwiseCorrelationCoefficientsMetric< TFixedImage, TMovingImage >, itk::SumOfPairwiseCorrelationCoefficientsMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::SumSquaredTissueVolumeDifferenceMetric< TElastix >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::VarianceOverLastDimensionMetric< TElastix >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >.
|
virtual |
|
virtual |
|
inlinevirtual |
Definition at line 204 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Experimental feature: compute SelfHessian. This base class just returns an identity matrix of the right size.
Reimplemented in itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, and itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >.
|
inlineoverride |
Get the advanced transform.
Definition at line 195 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 >.
|
protectedvirtual |
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::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, 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::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >.
|
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 |
|
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 |
|
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.
|
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 number of threads to use for computations.
|
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 |
Public methods Set the transform, of advanced type.
Reimplemented in itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >.
Definition at line 182 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 379 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::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, and itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.
Definition at line 397 of file itkAdvancedImageToImageMetric.h.
|
protected |
Transform a point from FixedImage domain to MovingImage domain.
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
protected |
Definition at line 360 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 352 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 353 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 356 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for the Limiters.
Definition at line 364 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 371 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 370 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 367 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 366 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 579 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 468 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 471 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 452 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 453 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 344 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 348 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 349 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for image derivative computation.
Definition at line 347 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 350 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 351 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 598 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 365 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 373 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 372 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 369 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 368 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 580 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 354 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 594 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 596 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 433 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables to store the AdvancedTransform.
Definition at line 359 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 361 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 592 of file itkAdvancedImageToImageMetric.h.
|
private |
Private member variables.
Definition at line 591 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for multi-threading.
Definition at line 418 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 595 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 593 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 419 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 420 of file itkAdvancedImageToImageMetric.h.
Generated on 2023-01-13
for elastix by ![]() |
![]() |