|
|
Home | Main Page | Topics | 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:
Definition at line 84 of file itkAdvancedImageToImageMetric.h.
Classes | |
| 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 () 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 |
| Statistics::MersenneTwisterRandomVariateGenerator & | GetMutableRandomVariateGenerator () const |
| Statistics::MersenneTwisterRandomVariateGenerator & | GetRandomVariateGenerator () |
| 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 |
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 159 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 355 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 353 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 352 of file itkAdvancedImageToImageMetric.h.
|
protected |
Typedefs used for computing image derivatives.
Definition at line 350 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformPointer = typename BSplineOrder1TransformType::Pointer |
Definition at line 167 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 1> |
Definition at line 164 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformPointer = typename BSplineOrder2TransformType::Pointer |
Definition at line 168 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 2> |
Definition at line 165 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformPointer = typename BSplineOrder3TransformType::Pointer |
Definition at line 169 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformType = AdvancedBSplineDeformableTransform<ScalarType, FixedImageDimension, 3> |
Definition at line 166 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CombinationTransformType = AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
Typedef's for the B-spline transform.
Definition at line 163 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 93 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType = typename DerivativeType::ValueType |
Definition at line 135 of file itkAdvancedImageToImageMetric.h.
|
protected |
Protected Typedefs Typedefs for indices and points.
Definition at line 342 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 343 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType = typename FixedImageLimiterType::OutputType |
Definition at line 152 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterPointer = typename FixedImageLimiterType::Pointer |
Definition at line 151 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType = LimiterFunctionBase<RealType, FixedImageDimension> |
Typedefs for Limiter support.
Definition at line 150 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskConstPointer = SmartPointer<const FixedImageMaskType> |
Definition at line 128 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer = SmartPointer<FixedImageMaskType> |
Definition at line 127 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension> |
Definition at line 126 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType = typename FixedImageType::PixelType |
Some useful extra typedefs.
Definition at line 139 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointer = typename FixedImageType::Pointer |
Definition at line 109 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 345 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer = typename ImageSamplerType::OutputVectorContainerPointer |
Definition at line 147 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType = typename ImageSamplerType::OutputVectorContainerType |
Definition at line 146 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer = typename ImageSamplerType::Pointer |
Definition at line 145 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType = ImageSamplerBase<FixedImageType> |
Typedefs for the ImageSampler.
Definition at line 144 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 360 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 359 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 347 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType = FixedArray<double, Self::MovingImageDimension> |
Definition at line 141 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 361 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 344 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType = typename MovingImageLimiterType::OutputType |
Definition at line 155 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterPointer = typename MovingImageLimiterType::Pointer |
Definition at line 154 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType = LimiterFunctionBase<RealType, MovingImageDimension> |
Definition at line 153 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskConstPointer = SmartPointer<const MovingImageMaskType> |
Definition at line 131 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer = SmartPointer<MovingImageMaskType> |
Definition at line 130 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType = ImageMaskSpatialObject<Self::MovingImageDimension> |
Definition at line 129 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointer = typename MovingImageType::Pointer |
Definition at line 106 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 346 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType = typename MovingImageType::RegionType |
Definition at line 140 of file itkAdvancedImageToImageMetric.h.
|
protected |
Typedefs for support of sparse Jacobians and compact support of transformations.
Definition at line 364 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NumberOfParametersType = typename AdvancedTransformType::NumberOfParametersType |
Definition at line 160 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Pointer = SmartPointer<Self> |
Definition at line 92 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 358 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 356 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ScalarType = typename TransformType::ScalarType |
Advanced transform.
Definition at line 158 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Self = AdvancedImageToImageMetric |
Standard class typedefs.
Definition at line 90 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Superclass = ImageToImageMetric<TFixedImage, TMovingImage> |
Definition at line 91 of file itkAdvancedImageToImageMetric.h.
| using itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType = MultiThreaderBase::WorkUnitInfo |
Typedef for multi-threading.
Definition at line 172 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::AdvancedMeanSquaresImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >.
Definition at line 398 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::AdvancedKappaStatisticImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, and itk::TransformBendingEnergyPenaltyTerm< typename MetricBase< TElastix >::FixedImageType, double >.
Definition at line 416 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.
|
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 >, itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >, and itk::MultiInputImageToImageMetricBase< TFixedImage, MetricBase< TElastix >::MovingImageType >.
Definition at line 512 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::PCAMetric2< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumOfPairwiseCorrelationCoefficientsMetric< TFixedImage, TMovingImage >, itk::SumOfPairwiseCorrelationCoefficientsMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumOfPairwiseCorrelationCoefficientsMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::VarianceOverLastDimensionImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >.
|
inlineprotected |
Definition at line 522 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
inlineoverride |
Definition at line 191 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
inline |
Definition at line 237 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
virtual |
|
inlineoverride |
Definition at line 199 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
inlineprotected |
Definition at line 617 of file itkAdvancedImageToImageMetric.h.
|
inlineprotected |
Definition at line 610 of file itkAdvancedImageToImageMetric.h.
|
virtual |
|
virtual |
|
inlineoverride |
Get the advanced transform. Const overload.
Definition at line 228 of file itkAdvancedImageToImageMetric.h.
|
inlineoverride |
Get the advanced transform.
Definition at line 221 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 >, itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >, and itk::MultiInputImageToImageMetricBase< TFixedImage, 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::AdvancedKappaStatisticImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::CombinationImageToImageMetric< FixedImageType, MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PCAMetric< TFixedImage, TMovingImage >, itk::PCAMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::PCAMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >.
|
protectedvirtual |
Convenience method: check if point is inside the moving mask.
Reimplemented in itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >, and itk::MultiInputImageToImageMetricBase< TFixedImage, MetricBase< TElastix >::MovingImageType >.
| itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ITK_DISALLOW_COPY_AND_MOVE | ( | AdvancedImageToImageMetric< TFixedImage, TMovingImage > | ) |
|
protected |
| itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkOverrideGetNameOfClassMacro | ( | AdvancedImageToImageMetric< TFixedImage, TMovingImage > | ) |
Run-time type information (and related methods).
|
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::CombinationImageToImageMetric< FixedImageType, MovingImageType >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >.
Definition at line 177 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 592 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 586 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::CombinationImageToImageMetric< FixedImageType, MovingImageType >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, and itk::MultiInputImageToImageMetricBase< FixedImageType, MovingImageType >.
Definition at line 184 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 604 of file itkAdvancedImageToImageMetric.h.
|
inlinefinalprotected |
Definition at line 598 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.
|
inline |
Definition at line 323 of file itkAdvancedImageToImageMetric.h.
|
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 >, and itk::CombinationImageToImageMetric< FixedImageType, MovingImageType >.
Definition at line 208 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::AdvancedMeanSquaresImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, and itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >.
Definition at line 393 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::AdvancedKappaStatisticImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedMeanSquaresImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedNormalizedCorrelationImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< TFixedImage, TMovingImage >, itk::ImpactImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ImpactImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::SumSquaredTissueVolumeDifferenceImageToImageMetric< typename MetricBase< TElastix >::FixedImageType, typename MetricBase< TElastix >::MovingImageType >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, and itk::TransformBendingEnergyPenaltyTerm< typename MetricBase< TElastix >::FixedImageType, double >.
Definition at line 411 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 374 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 637 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 638 of file itkAdvancedImageToImageMetric.h.
|
mutableprivate |
Definition at line 651 of file itkAdvancedImageToImageMetric.h.
|
private |
Private member variables for limiters and for image derivative computation.
Definition at line 634 of file itkAdvancedImageToImageMetric.h.
|
staticconstexprprivate |
Definition at line 661 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 385 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 384 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 381 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for the Limiters.
Definition at line 380 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 581 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 470 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 473 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 371 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 636 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 649 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 635 of file itkAdvancedImageToImageMetric.h.
|
staticconstexprprivate |
Definition at line 662 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 387 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 386 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 383 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 382 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 582 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 652 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 639 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 645 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 647 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Definition at line 446 of file itkAdvancedImageToImageMetric.h.
|
mutableprotected |
Member variable for TransformPenaltyTerm::CheckForBSplineTransform2
Definition at line 377 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 643 of file itkAdvancedImageToImageMetric.h.
|
private |
Other private member variables.
Definition at line 642 of file itkAdvancedImageToImageMetric.h.
|
protected |
Variables for multi-threading.
Definition at line 432 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 646 of file itkAdvancedImageToImageMetric.h.
|
private |
Definition at line 644 of file itkAdvancedImageToImageMetric.h.
|
protected |
Definition at line 433 of file itkAdvancedImageToImageMetric.h.
Generated on 1774142652 for elastix by 1.15.0 |