#include <elxVarianceOverLastDimensionMetric.h>
Compute the sum of variances over the slowest varying dimension in the moving image.
For a description of this metric see the paper:
Nonrigid registration of dynamic medical imaging data using nD+t B-splines and a groupwise optimization approach, C.T. Metz, S. Klein, M. Schaap, T. van Walsum and W.J. Niessen, Medical Image Analysis, in press.
This metric is based on the AdvancedImageToImageMetric. It is templated over the type of the fixed and moving images to be compared.
This metric computes the sum of variances over the slowest varying dimension in the moving image. The spatial positions of the moving image are established through a Transform. Pixel values are taken from the Moving image.
This implementation is based on the AdvancedImageToImageMetric, which means that:
SampleLastDimensionRandomly: randomly sample a number of time points to to compute the variance from. When set to "false", all time points are taken into account. When set to "true", a random number of time points is selected, which can be set with parameter NumSamplesLastDimension.
NumSamplesLastDimension: the number of random samples to take in the time time direction of the data when SampleLastDimensionRandomly is set to true.
UseZeroAverageDisplacementConstraint: uses the zero average displacement constraint, as described in Nonrigid registration of dynamic medical imaging data using nD+t B-splines and a groupwise optimization approach, Metz et al., Medical Image Analysis, 2011. Subtract the over time computed mean parameter value from each parameter. This should be used when registration is performed directly on the moving image, without using a fixed image. Possible values are "true" or "false". Default is "true".
Definition at line 69 of file elxVarianceOverLastDimensionMetric.h.
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage > | |
static Pointer | New () |
Static Public Member Functions inherited from elastix::BaseComponent | |
template<typename TBaseComponent > | |
static auto | AsITKBaseType (TBaseComponent *const baseComponent) -> decltype(baseComponent->GetAsITKBaseType()) |
static void | InitializeElastixExecutable () |
static bool | IsElastixLibrary () |
Protected Member Functions | |
VarianceOverLastDimensionMetric ()=default | |
~VarianceOverLastDimensionMetric () override=default | |
Protected Member Functions inherited from itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage > | |
void | EvaluateTransformJacobianInnerProduct (const TransformJacobianType &jacobian, const MovingImageDerivativeType &movingImageDerivative, DerivativeType &imageJacobian) const override |
void | PrintSelf (std::ostream &os, Indent indent) const override |
VarianceOverLastDimensionImageMetric () | |
~VarianceOverLastDimensionImageMetric () override=default | |
Protected Member Functions inherited from itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage > | |
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 |
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 | |
Protected Member Functions inherited from elastix::MetricBase< TElastix > | |
virtual MeasureType | GetExactValue (const ParametersType ¶meters) |
MetricBase ()=default | |
~MetricBase () override=default | |
Protected Member Functions inherited from elastix::BaseComponentSE< TElastix > | |
BaseComponentSE ()=default | |
~BaseComponentSE () override=default | |
Protected Member Functions inherited from elastix::BaseComponent | |
BaseComponent ()=default | |
virtual | ~BaseComponent ()=default |
Private Attributes | |
elxOverrideGetSelfMacro | |
using elastix::VarianceOverLastDimensionMetric< TElastix >::BSplineTransformBaseType = itk::AdvancedBSplineDeformableTransformBase<ScalarType, FixedImageDimension> |
Typedef's for the B-spline transform.
Definition at line 150 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::CombinationTransformType = itk::AdvancedCombinationTransform<ScalarType, FixedImageDimension> |
Definition at line 151 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 83 of file elxVarianceOverLastDimensionMetric.h.
using itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >::FixedImageSizeType |
Definition at line 65 of file itkVarianceOverLastDimensionImageMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::ITKBaseType = typename Superclass2::ITKBaseType |
Definition at line 147 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::Pointer = itk::SmartPointer<Self> |
Definition at line 82 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::ReducedDimensionBSplineTransformBaseType |
Definition at line 153 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::Self = VarianceOverLastDimensionMetric |
Standard ITK-stuff.
Definition at line 78 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::StackTransformType = itk::StackTransform<ScalarType, FixedImageDimension, MovingImageDimension> |
Definition at line 152 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::Superclass1 |
Definition at line 79 of file elxVarianceOverLastDimensionMetric.h.
using elastix::VarianceOverLastDimensionMetric< TElastix >::Superclass2 = MetricBase<TElastix> |
Definition at line 81 of file elxVarianceOverLastDimensionMetric.h.
|
protecteddefault |
The constructor.
|
overrideprotecteddefault |
The destructor.
|
overridevirtual |
Do some things before each resolution:
Reimplemented from elastix::BaseComponent.
|
overridevirtual |
Do some things before registration:
Reimplemented from elastix::BaseComponent.
elastix::VarianceOverLastDimensionMetric< TElastix >::elxClassNameMacro | ( | "VarianceOverLastDimensionMetric< TElastix >" | ) |
Name of this class. Use this name in the parameter file to select this specific metric.
example: (Metric "VarianceOverLastDimensionMetric")
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >.
|
override |
Sets up a timer to measure the initialization time and calls the Superclass' implementation.
elastix::VarianceOverLastDimensionMetric< TElastix >::ITK_DISALLOW_COPY_AND_MOVE | ( | VarianceOverLastDimensionMetric< TElastix > | ) |
elastix::VarianceOverLastDimensionMetric< TElastix >::itkStaticConstMacro | ( | FixedImageDimension | , |
unsigned int | , | ||
FixedImageType::ImageDimension | ) |
The fixed image dimension.
elastix::VarianceOverLastDimensionMetric< TElastix >::itkStaticConstMacro | ( | MovingImageDimension | , |
unsigned int | , | ||
MovingImageType::ImageDimension | ) |
The moving image dimension.
|
static |
Method for creation through the object factory.
|
private |
Definition at line 184 of file elxVarianceOverLastDimensionMetric.h.
Generated on 2024-07-17 for elastix by 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) |