go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
Data Structures | Public Types | Public Member Functions | Protected Types | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage > Class Template Reference

#include <itkAdvancedImageToImageMetric.h>

Inheritance diagram for itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >:
Inheritance graph
[legend]
Collaboration diagram for itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >:
Collaboration graph
[legend]

Data Structures

struct  GetValueAndDerivativePerThreadStruct
 
struct  MultiThreaderParameterType
 

Public Types

typedef AdvancedTransform
< ScalarType,
FixedImageDimension,
MovingImageDimension > 
AdvancedTransformType
 
typedef
AdvancedBSplineDeformableTransform
< ScalarType,
FixedImageDimension, 1 > 
BSplineOrder1TransformType
 
typedef
AdvancedBSplineDeformableTransform
< ScalarType,
FixedImageDimension, 2 > 
BSplineOrder2TransformType
 
typedef
AdvancedBSplineDeformableTransform
< ScalarType,
FixedImageDimension, 3 > 
BSplineOrder3TransformType
 
typedef
AdvancedCombinationTransform
< ScalarType,
FixedImageDimension > 
CombinationTransformType
 
typedef SmartPointer< const SelfConstPointer
 
typedef
Superclass::CoordinateRepresentationType 
CoordinateRepresentationType
 
typedef Superclass::DerivativeType DerivativeType
 
typedef DerivativeType::ValueType DerivativeValueType
 
typedef
Superclass::FixedImageConstPointer 
FixedImageConstPointer
 
typedef
FixedImageLimiterType::OutputType 
FixedImageLimiterOutputType
 
typedef
FixedImageLimiterType::Pointer 
FixedImageLimiterPointer
 
typedef LimiterFunctionBase
< RealType,
FixedImageDimension > 
FixedImageLimiterType
 
typedef
Superclass::FixedImageMaskPointer 
FixedImageMaskPointer
 
typedef
Superclass::FixedImageMaskType 
FixedImageMaskType
 
typedef FixedImageType::PixelType FixedImagePixelType
 
typedef FixedImageType::Pointer FixedImagePointer
 
typedef
Superclass::FixedImageRegionType 
FixedImageRegionType
 
typedef Superclass::FixedImageType FixedImageType
 
typedef
Superclass::GradientImageFilterPointer 
GradientImageFilterPointer
 
typedef
Superclass::GradientImageFilterType 
GradientImageFilterType
 
typedef
Superclass::GradientImagePointer 
GradientImagePointer
 
typedef
Superclass::GradientImageType 
GradientImageType
 
typedef
Superclass::GradientPixelType 
GradientPixelType
 
typedef vnl_sparse_matrix
< HessianValueType
HessianType
 
typedef DerivativeType::ValueType HessianValueType
 
typedef
ImageSamplerType::OutputVectorContainerPointer 
ImageSampleContainerPointer
 
typedef
ImageSamplerType::OutputVectorContainerType 
ImageSampleContainerType
 
typedef ImageSamplerType::Pointer ImageSamplerPointer
 
typedef ImageSamplerBase
< FixedImageType
ImageSamplerType
 
typedef Superclass::InputPointType InputPointType
 
typedef
Superclass::InterpolatorPointer 
InterpolatorPointer
 
typedef
Superclass::InterpolatorType 
InterpolatorType
 
typedef Superclass::MeasureType MeasureType
 
typedef
Superclass::MovingImageConstPointer 
MovingImageConstPointer
 
typedef FixedArray< double,
Self::MovingImageDimension > 
MovingImageDerivativeScalesType
 
typedef
MovingImageLimiterType::OutputType 
MovingImageLimiterOutputType
 
typedef
MovingImageLimiterType::Pointer 
MovingImageLimiterPointer
 
typedef LimiterFunctionBase
< RealType,
MovingImageDimension > 
MovingImageLimiterType
 
typedef
Superclass::MovingImageMaskPointer 
MovingImageMaskPointer
 
typedef
Superclass::MovingImageMaskType 
MovingImageMaskType
 
typedef
Superclass::MovingImagePixelType 
MovingImagePixelType
 
typedef MovingImageType::Pointer MovingImagePointer
 
typedef MovingImageType::RegionType MovingImageRegionType
 
typedef Superclass::MovingImageType MovingImageType
 
typedef
AdvancedTransformType::NumberOfParametersType 
NumberOfParametersType
 
typedef Superclass::OutputPointType OutputPointType
 
typedef Superclass::ParametersType ParametersType
 
typedef SmartPointer< SelfPointer
 
typedef Superclass::RealType RealType
 
typedef TransformType::ScalarType ScalarType
 
typedef AdvancedImageToImageMetric Self
 
typedef ImageToImageMetric
< TFixedImage, TMovingImage > 
Superclass
 
typedef itk::MultiThreader ThreaderType
 
typedef
ThreaderType::ThreadInfoStruct 
ThreadInfoType
 
typedef
Superclass::TransformJacobianType 
TransformJacobianType
 
typedef
Superclass::TransformParametersType 
TransformParametersType
 
typedef
Superclass::TransformPointer 
TransformPointer
 
typedef Superclass::TransformType TransformType
 

Public Member Functions

virtual void BeforeThreadedGetValueAndDerivative (const TransformParametersType &parameters) const
 
virtual const char * GetClassName () const
 
virtual const
FixedImageLimiterType
GetFixedImageLimiter ()
 
virtual double GetFixedLimitRangeRatio () const
 
virtual ImageSamplerTypeGetImageSampler (void) const
 
virtual const
MovingImageDerivativeScalesType
GetMovingImageDerivativeScales ()
 
virtual const
MovingImageLimiterType
GetMovingImageLimiter ()
 
virtual double GetMovingLimitRangeRatio () const
 
virtual double GetRequiredRatioOfValidSamples () const
 
virtual void GetSelfHessian (const TransformParametersType &parameters, HessianType &H) const
 
const AdvancedTransformTypeGetTransform (void) const
 
virtual bool GetUseFixedImageLimiter () const
 
virtual bool GetUseImageSampler () const
 
virtual const boolGetUseMetricSingleThreaded ()
 
virtual bool GetUseMovingImageDerivativeScales () const
 
virtual bool GetUseMovingImageLimiter () const
 
virtual const boolGetUseMultiThread ()
 
virtual void Initialize (void) throw ( ExceptionObject )
 
 itkStaticConstMacro (MovingImageDimension, unsigned int, TMovingImage::ImageDimension)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
 
virtual void SetFixedImageLimiter (FixedImageLimiterType *_arg)
 
virtual void SetFixedLimitRangeRatio (double _arg)
 
virtual void SetImageSampler (ImageSamplerType *_arg)
 
virtual void SetMovingImageDerivativeScales (MovingImageDerivativeScalesType _arg)
 
virtual void SetMovingImageLimiter (MovingImageLimiterType *_arg)
 
virtual void SetMovingLimitRangeRatio (double _arg)
 
virtual void SetNumberOfThreads (ThreadIdType numberOfThreads)
 
virtual void SetRequiredRatioOfValidSamples (double _arg)
 
virtual void SetTransform (AdvancedTransformType *arg)
 
virtual void SetUseMetricSingleThreaded (bool _arg)
 
virtual void SetUseMovingImageDerivativeScales (bool _arg)
 
virtual void SetUseMultiThread (bool _arg)
 
virtual void UseMetricSingleThreadedOff ()
 
virtual void UseMetricSingleThreadedOn ()
 
virtual void UseMultiThreadOff ()
 
virtual void UseMultiThreadOn ()
 

Protected Types

typedef
BSplineInterpolatorFloatType::Pointer 
BSplineInterpolatorFloatPointer
 
typedef
BSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType,
float
BSplineInterpolatorFloatType
 
typedef
BSplineInterpolatorType::Pointer 
BSplineInterpolatorPointer
 
typedef
BSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType,
double
BSplineInterpolatorType
 
typedef
CentralDifferenceGradientFilterType::Pointer 
CentralDifferenceGradientFilterPointer
 
typedef GradientImageFilter
< MovingImageType, RealType,
RealType
CentralDifferenceGradientFilterType
 
typedef FixedImageType::IndexType FixedImageIndexType
 
typedef
FixedImageIndexType::IndexValueType 
FixedImageIndexValueType
 
typedef
TransformType::InputPointType 
FixedImagePointType
 
typedef
LinearInterpolatorType::Pointer 
LinearInterpolatorPointer
 
typedef
AdvancedLinearInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType
LinearInterpolatorType
 
typedef
InterpolatorType::ContinuousIndexType 
MovingImageContinuousIndexType
 
typedef
BSplineInterpolatorType::CovariantVectorType 
MovingImageDerivativeType
 
typedef MovingImageType::IndexType MovingImageIndexType
 
typedef
TransformType::OutputPointType 
MovingImagePointType
 
typedef
AdvancedTransformType::NonZeroJacobianIndicesType 
NonZeroJacobianIndicesType
 
typedef
ReducedBSplineInterpolatorType::Pointer 
ReducedBSplineInterpolatorPointer
 
typedef
ReducedDimensionBSplineInterpolateImageFunction
< MovingImageType,
CoordinateRepresentationType,
double
ReducedBSplineInterpolatorType
 

Protected Member Functions

 AdvancedImageToImageMetric ()
 
virtual void AfterThreadedGetValueAndDerivative (MeasureType &value, DerivativeType &derivative) const
 
virtual void CheckForAdvancedTransform (void)
 
virtual void CheckForBSplineInterpolator (void)
 
virtual void CheckForBSplineTransform (void)
 
virtual void CheckNumberOfSamples (unsigned long wanted, unsigned long found) const
 
virtual void ComputeFixedImageExtrema (const FixedImageType *image, const FixedImageRegionType &region)
 
virtual void ComputeMovingImageExtrema (const MovingImageType *image, const MovingImageRegionType &region)
 
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
 
virtual void InitializeImageSampler (void) throw ( ExceptionObject )
 
virtual void InitializeLimiters (void)
 
virtual void InitializeThreadingParameters (void) const
 
virtual bool IsInsideMovingMask (const MovingImagePointType &point) const
 
 itkAlignedTypedef (ITK_CACHE_LINE_ALIGNMENT, PaddedGetValueAndDerivativePerThreadStruct, AlignedGetValueAndDerivativePerThreadStruct)
 
 itkPadStruct (ITK_CACHE_LINE_ALIGNMENT, GetValueAndDerivativePerThreadStruct, PaddedGetValueAndDerivativePerThreadStruct)
 
void LaunchGetValueAndDerivativeThreaderCallback (void) const
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void SetUseFixedImageLimiter (bool _arg)
 
virtual void SetUseImageSampler (bool _arg)
 
virtual void SetUseMovingImageLimiter (bool _arg)
 
virtual void ThreadedGetValueAndDerivative (ThreadIdType threadID)
 
virtual bool TransformPoint (const FixedImagePointType &fixedImagePoint, MovingImagePointType &mappedPoint) const
 
virtual ~AdvancedImageToImageMetric ()
 

Static Protected Member Functions

static ITK_THREAD_RETURN_TYPE AccumulateDerivativesThreaderCallback (void *arg)
 
static ITK_THREAD_RETURN_TYPE GetValueAndDerivativeThreaderCallback (void *arg)
 

Protected Attributes

AdvancedTransformType::Pointer m_AdvancedTransform
 
BSplineInterpolatorPointer m_BSplineInterpolator
 
BSplineInterpolatorFloatPointer m_BSplineInterpolatorFloat
 
CentralDifferenceGradientFilterPointer m_CentralDifferenceGradientFilter
 
FixedImageLimiterPointer m_FixedImageLimiter
 
FixedImageLimiterOutputType m_FixedImageMaxLimit
 
FixedImageLimiterOutputType m_FixedImageMinLimit
 
FixedImagePixelType m_FixedImageTrueMax
 
FixedImagePixelType m_FixedImageTrueMin
 
AlignedGetValueAndDerivativePerThreadStruct * m_GetValueAndDerivativePerThreadVariables
 
ThreadIdType m_GetValueAndDerivativePerThreadVariablesSize
 
ImageSamplerPointer m_ImageSampler
 
bool m_InterpolatorIsBSpline
 
bool m_InterpolatorIsBSplineFloat
 
bool m_InterpolatorIsLinear
 
bool m_InterpolatorIsReducedBSpline
 
LinearInterpolatorPointer m_LinearInterpolator
 
MovingImageLimiterPointer m_MovingImageLimiter
 
MovingImageLimiterOutputType m_MovingImageMaxLimit
 
MovingImageLimiterOutputType m_MovingImageMinLimit
 
MovingImagePixelType m_MovingImageTrueMax
 
MovingImagePixelType m_MovingImageTrueMin
 
ReducedBSplineInterpolatorPointer m_ReducedBSplineInterpolator
 
MultiThreaderParameterType m_ThreaderMetricParameters
 
bool m_TransformIsAdvanced
 
bool m_TransformIsBSpline
 
bool m_UseMetricSingleThreaded
 
bool m_UseMultiThread
 
bool m_UseOpenMP
 

Private Member Functions

 AdvancedImageToImageMetric (const Self &)
 
void operator= (const Self &)
 

Private Attributes

double m_FixedLimitRangeRatio
 
MovingImageDerivativeScalesType m_MovingImageDerivativeScales
 
double m_MovingLimitRangeRatio
 
double m_RequiredRatioOfValidSamples
 
bool m_UseFixedImageLimiter
 
bool m_UseImageSampler
 
bool m_UseMovingImageDerivativeScales
 
bool m_UseMovingImageLimiter
 

Detailed Description

template<class TFixedImage, class TMovingImage>
class itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >

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:

Parameters:
MovingImageDerivativeScales: scale the moving image derivatives. Use
(MovingImageDerivativeScales 1 1 0)
to penalize deformations in the z-direction. The default value is that this feature is not used.

Definition at line 75 of file itkAdvancedImageToImageMetric.h.

Member Typedef Documentation

template<class TFixedImage, class TMovingImage>
typedef AdvancedTransform< ScalarType, FixedImageDimension, MovingImageDimension > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedTransformType

Definition at line 150 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolatorFloatType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorFloatPointer
protected

Definition at line 305 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, float > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorFloatType
protected

Definition at line 304 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolatorType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorPointer
protected

Definition at line 302 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineInterpolatorType
protected

Typedefs used for computing image derivatives.

Definition at line 301 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 1 > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder1TransformType

Definition at line 155 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 2 > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder2TransformType

Definition at line 156 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedBSplineDeformableTransform< ScalarType, FixedImageDimension, 3 > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BSplineOrder3TransformType

Definition at line 157 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef CentralDifferenceGradientFilterType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CentralDifferenceGradientFilterPointer
protected

Definition at line 315 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef GradientImageFilter< MovingImageType, RealType, RealType > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CentralDifferenceGradientFilterType
protected

Definition at line 314 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedCombinationTransform< ScalarType, FixedImageDimension > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CombinationTransformType

Typedef's for the B-spline transform.

Definition at line 154 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef SmartPointer< const Self > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ConstPointer

Definition at line 84 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::CoordinateRepresentationType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CoordinateRepresentationType

Typedefs from the superclass.

Definition at line 96 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::DerivativeType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeType

Definition at line 124 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef DerivativeType::ValueType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::DerivativeValueType

Definition at line 125 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageConstPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageConstPointer

Definition at line 103 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageType::IndexType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexType
protected

Protected Typedefs Typedefs for indices and points.

Definition at line 292 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageIndexType::IndexValueType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageIndexValueType
protected

Definition at line 293 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageLimiterType::OutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterOutputType

Definition at line 142 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageLimiterType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterPointer

Definition at line 141 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef LimiterFunctionBase< RealType, FixedImageDimension > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageLimiterType

Typedefs for Limiter support.

Definition at line 140 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageMaskPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskPointer

Definition at line 120 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageMaskType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageMaskType

Definition at line 119 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageType::PixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePixelType

Some useful extra typedefs.

Definition at line 129 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedImageType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointer

Definition at line 102 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef TransformType::InputPointType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImagePointType
protected

Definition at line 295 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageRegionType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageRegionType

Definition at line 104 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::FixedImageType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::FixedImageType

Definition at line 101 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImageFilterPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterPointer

Definition at line 118 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImageFilterType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GradientImageFilterType

Definition at line 117 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImagePointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GradientImagePointer

Definition at line 116 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientImageType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GradientImageType

Definition at line 115 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::GradientPixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GradientPixelType

Definition at line 114 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef vnl_sparse_matrix< HessianValueType > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::HessianType

Definition at line 161 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef DerivativeType::ValueType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::HessianValueType

Hessian type; for SelfHessian (experimental feature)

Definition at line 160 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageSamplerType::OutputVectorContainerPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerPointer

Definition at line 137 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageSamplerType::OutputVectorContainerType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSampleContainerType

Definition at line 136 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageSamplerType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerPointer

Definition at line 135 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageSamplerBase< FixedImageType > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ImageSamplerType

Typedefs for the ImageSampler.

Definition at line 134 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::InputPointType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InputPointType

Definition at line 107 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::InterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorPointer

Definition at line 112 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::InterpolatorType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InterpolatorType

Definition at line 111 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef LinearInterpolatorType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LinearInterpolatorPointer
protected

Definition at line 311 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedLinearInterpolateImageFunction< MovingImageType, CoordinateRepresentationType > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LinearInterpolatorType
protected

Definition at line 310 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MeasureType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MeasureType

Definition at line 123 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageConstPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageConstPointer

Definition at line 100 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef InterpolatorType::ContinuousIndexType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageContinuousIndexType
protected

Definition at line 297 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef FixedArray< double, Self::MovingImageDimension > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeScalesType

Definition at line 131 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef BSplineInterpolatorType::CovariantVectorType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageDerivativeType
protected

Definition at line 312 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MovingImageType::IndexType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageIndexType
protected

Definition at line 294 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MovingImageLimiterType::OutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterOutputType

Definition at line 145 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MovingImageLimiterType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterPointer

Definition at line 144 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef LimiterFunctionBase< RealType, MovingImageDimension > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageLimiterType

Definition at line 143 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageMaskPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskPointer

Definition at line 122 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageMaskType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageMaskType

Definition at line 121 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePixelType

Definition at line 98 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MovingImageType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointer

Definition at line 99 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef TransformType::OutputPointType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImagePointType
protected

Definition at line 296 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef MovingImageType::RegionType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageRegionType

Definition at line 130 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::MovingImageType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::MovingImageType

Definition at line 97 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedTransformType::NonZeroJacobianIndicesType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NonZeroJacobianIndicesType
protected

Typedefs for support of sparse Jacobians and compact support of transformations.

Definition at line 319 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedTransformType::NumberOfParametersType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::NumberOfParametersType

Definition at line 151 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::OutputPointType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::OutputPointType

Definition at line 108 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::ParametersType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ParametersType

Definition at line 126 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef SmartPointer< Self > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Pointer

Definition at line 83 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::RealType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::RealType

Definition at line 113 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ReducedBSplineInterpolatorType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ReducedBSplineInterpolatorPointer
protected

Definition at line 308 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ReducedDimensionBSplineInterpolateImageFunction< MovingImageType, CoordinateRepresentationType, double > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ReducedBSplineInterpolatorType
protected

Definition at line 307 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef TransformType::ScalarType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ScalarType

Advanced transform.

Definition at line 148 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef AdvancedImageToImageMetric itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Self

Standard class typedefs.

Definition at line 81 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ImageToImageMetric< TFixedImage, TMovingImage > itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Superclass

Definition at line 82 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef itk::MultiThreader itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreaderType

Typedefs for multi-threading.

Definition at line 164 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef ThreaderType::ThreadInfoStruct itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadInfoType

Definition at line 165 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformJacobianType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::TransformJacobianType

Definition at line 110 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformParametersType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::TransformParametersType

Definition at line 109 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::TransformPointer

Definition at line 106 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
typedef Superclass::TransformType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::TransformType

Definition at line 105 of file itkAdvancedImageToImageMetric.h.

Constructor & Destructor Documentation

template<class TFixedImage, class TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedImageToImageMetric ( )
protected

Constructor.

template<class TFixedImage, class TMovingImage>
virtual itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::~AdvancedImageToImageMetric ( )
protectedvirtual

Destructor.

template<class TFixedImage, class TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AdvancedImageToImageMetric ( const Self )
private

Member Function Documentation

template<class TFixedImage, class TMovingImage>
static ITK_THREAD_RETURN_TYPE itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AccumulateDerivativesThreaderCallback ( void *  arg)
staticprotected

AccumulateDerivatives threader callback function.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::AfterThreadedGetValueAndDerivative ( MeasureType value,
DerivativeType derivative 
) const
inlineprotectedvirtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::BeforeThreadedGetValueAndDerivative ( const TransformParametersType parameters) const
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 >.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckForAdvancedTransform ( void  )
protectedvirtual

Methods to support transforms with sparse Jacobians, like the BSplineTransform Check if the transform is an AdvancedTransform. Called by Initialize.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckForBSplineInterpolator ( void  )
protectedvirtual

Methods for image derivative evaluation support Initialize variables for image derivative computation; this method is called by Initialize.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckForBSplineTransform ( void  )
protectedvirtual

Check if the transform is a B-spline. Called by Initialize.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::CheckNumberOfSamples ( unsigned long  wanted,
unsigned long  found 
) const
protectedvirtual

Check if enough samples have been found to compute a reliable estimate of the value/derivative; throws an exception if not.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ComputeFixedImageExtrema ( const FixedImageType image,
const FixedImageRegionType region 
)
protectedvirtual

Methods for the support of gray value limiters. Compute the extrema of fixed image over a region Initializes the m_Fixed[True]{Max,Min}[Limit] This method is called by InitializeLimiters() and uses the FixedLimitRangeRatio

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ComputeMovingImageExtrema ( const MovingImageType image,
const MovingImageRegionType region 
)
protectedvirtual

Compute the extrema of the moving image over a region Initializes the m_Moving[True]{Max,Min}[Limit] This method is called by InitializeLimiters() and uses the MovingLimitRangeRatio;

template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateMovingImageValueAndDerivative ( const MovingImagePointType mappedPoint,
RealType movingImageValue,
MovingImageDerivativeType gradient 
) const
protectedvirtual

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 >.

template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateTransformJacobian ( const FixedImagePointType fixedImagePoint,
TransformJacobianType jacobian,
NonZeroJacobianIndicesType nzji 
) const
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.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::EvaluateTransformJacobianInnerProduct ( const TransformJacobianType jacobian,
const MovingImageDerivativeType movingImageDerivative,
DerivativeType imageJacobian 
) const
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::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, and itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.

template<class TFixedImage, class TMovingImage>
virtual const char* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

Reimplemented in elastix::TransformRigidityPenalty< TElastix >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, itk::AdvancedNormalizedCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedNormalizedCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::NormalizedMutualInformationMetric< TElastix >, itk::ParzenWindowMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, elastix::VarianceOverLastDimensionMetric< TElastix >, itk::GradientDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowNormalizedMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >, itk::TransformRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::AdvancedKappaStatisticImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedKappaStatisticImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedKappaStatisticMetric< TElastix >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, elastix::TransformBendingEnergyPenalty< TElastix >, itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedMeanSquaresMetric< TElastix >, elastix::DisplacementMagnitudePenalty< TElastix >, elastix::AdvancedNormalizedCorrelationMetric< TElastix >, itk::TransformBendingEnergyPenaltyTerm< TFixedImage, TScalarType >, itk::TransformBendingEnergyPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, elastix::NormalizedGradientCorrelationMetric< TElastix >, elastix::PatternIntensityMetric< TElastix >, itk::PatternIntensityImageToImageMetric< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PatternIntensityImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::GradientDifferenceMetric< TElastix >, itk::NormalizedGradientCorrelationImageToImageMetric< TFixedImage, TMovingImage >, itk::NormalizedGradientCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformPenaltyTerm< TFixedImage, TScalarType >, itk::TransformPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, itk::ImageToImageMetricWithFeatures< TFixedImage, TMovingImage, TFixedFeatureImage, TMovingFeatureImage >, itk::DisplacementMagnitudePenaltyTerm< TFixedImage, TScalarType >, and itk::DisplacementMagnitudePenaltyTerm< MetricBase< TElastix >::FixedImageType, double >.

template<class TFixedImage, class TMovingImage>
virtual const FixedImageLimiterType* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetFixedImageLimiter ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetFixedLimitRangeRatio ( ) const
virtual
template<class TFixedImage, class TMovingImage>
virtual ImageSamplerType* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetImageSampler ( void  ) const
inlinevirtual

Definition at line 190 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
virtual const MovingImageDerivativeScalesType& itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageDerivativeScales ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual const MovingImageLimiterType* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingImageLimiter ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetMovingLimitRangeRatio ( ) const
virtual
template<class TFixedImage, class TMovingImage>
virtual double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetRequiredRatioOfValidSamples ( ) const
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetSelfHessian ( const TransformParametersType parameters,
HessianType H 
) const
virtual
template<class TFixedImage, class TMovingImage>
const AdvancedTransformType* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetTransform ( void  ) const
inline

Get the advanced transform.

Definition at line 182 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseFixedImageLimiter ( ) const
virtual

Inheriting classes can specify whether they use the image limiter functionality. This method allows the user to inspect this setting.

template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseImageSampler ( ) const
virtual

Inheriting classes can specify whether they use the image sampler functionality; This method allows the user to inspect this setting.

template<class TFixedImage, class TMovingImage>
virtual const bool& itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMetricSingleThreaded ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMovingImageDerivativeScales ( ) const
virtual
template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMovingImageLimiter ( ) const
virtual
template<class TFixedImage, class TMovingImage>
virtual const bool& itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetUseMultiThread ( )
virtual
template<class TFixedImage, class TMovingImage>
static ITK_THREAD_RETURN_TYPE itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::GetValueAndDerivativeThreaderCallback ( void *  arg)
staticprotected

GetValueAndDerivative threader callback function.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::Initialize ( void  )
throw (ExceptionObject
)
virtual

Initialize the Metric by making sure that all the components are present and plugged together correctly.

  • Call the superclass' implementation
  • Cache the number of transform parameters
  • Initialize the image sampler, if used.
  • Check if a B-spline interpolator has been set
  • Check if an AdvancedTransform has been set

Reimplemented in itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< TFixedImage, TMovingImage >, itk::MultiInputImageToImageMetricBase< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< TFixedImage, TMovingImage >, itk::KNNGraphAlphaMutualInformationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedMattesMutualInformationMetric< TElastix >, elastix::TransformRigidityPenalty< TElastix >, itk::ImageToImageMetricWithFeatures< TFixedImage, TMovingImage, TFixedFeatureImage, TMovingFeatureImage >, elastix::NormalizedMutualInformationMetric< TElastix >, elastix::VarianceOverLastDimensionMetric< TElastix >, elastix::KNNGraphAlphaMutualInformationMetric< TElastix >, itk::AdvancedMeanSquaresImageToImageMetric< TFixedImage, TMovingImage >, itk::AdvancedMeanSquaresImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::PatternIntensityImageToImageMetric< TFixedImage, TMovingImage >, itk::PatternIntensityImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::GradientDifferenceImageToImageMetric< TFixedImage, TMovingImage >, itk::GradientDifferenceImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedNormalizedCorrelationMetric< TElastix >, itk::VarianceOverLastDimensionImageMetric< TFixedImage, TMovingImage >, itk::VarianceOverLastDimensionImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, elastix::AdvancedKappaStatisticMetric< TElastix >, elastix::TransformBendingEnergyPenalty< TElastix >, elastix::AdvancedMeanSquaresMetric< TElastix >, itk::ParzenWindowHistogramImageToImageMetric< TFixedImage, TMovingImage >, elastix::DisplacementMagnitudePenalty< TElastix >, itk::ParzenWindowHistogramImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >, itk::TransformRigidityPenaltyTerm< TFixedImage, TScalarType >, itk::TransformRigidityPenaltyTerm< MetricBase< TElastix >::FixedImageType, double >, elastix::GradientDifferenceMetric< TElastix >, elastix::NormalizedGradientCorrelationMetric< TElastix >, itk::NormalizedGradientCorrelationImageToImageMetric< TFixedImage, TMovingImage >, elastix::PatternIntensityMetric< TElastix >, and itk::NormalizedGradientCorrelationImageToImageMetric< MetricBase< TElastix >::FixedImageType, MetricBase< TElastix >::MovingImageType >.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InitializeImageSampler ( void  )
throw (ExceptionObject
)
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 >.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InitializeLimiters ( void  )
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;

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::InitializeThreadingParameters ( void  ) const
protectedvirtual
template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::IsInsideMovingMask ( const MovingImagePointType point) const
protectedvirtual
template<class TFixedImage, class TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkAlignedTypedef ( ITK_CACHE_LINE_ALIGNMENT  ,
PaddedGetValueAndDerivativePerThreadStruct  ,
AlignedGetValueAndDerivativePerThreadStruct   
)
protected
template<class TFixedImage, class TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkPadStruct ( ITK_CACHE_LINE_ALIGNMENT  ,
GetValueAndDerivativePerThreadStruct  ,
PaddedGetValueAndDerivativePerThreadStruct   
)
protected
template<class TFixedImage, class TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( MovingImageDimension  ,
unsigned  int,
TMovingImage::ImageDimension   
)

Constants for the image dimensions.

template<class TFixedImage, class TMovingImage>
itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::itkStaticConstMacro ( FixedImageDimension  ,
unsigned  int,
TFixedImage::ImageDimension   
)
template<class TFixedImage, class TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::LaunchGetValueAndDerivativeThreaderCallback ( void  ) const
protected

Launch MultiThread GetValueAndDerivative

template<class TFixedImage, class TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::operator= ( const Self )
private
template<class TFixedImage, class TMovingImage>
void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected

PrintSelf.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetFixedImageLimiter ( FixedImageLimiterType _arg)
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetFixedLimitRangeRatio ( double  _arg)
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetImageSampler ( ImageSamplerType _arg)
virtual

Set/Get the image sampler.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageDerivativeScales ( MovingImageDerivativeScalesType  _arg)
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingImageLimiter ( MovingImageLimiterType _arg)
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.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetMovingLimitRangeRatio ( double  _arg)
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.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetNumberOfThreads ( ThreadIdType  numberOfThreads)
virtual

Set number of threads to use for computations.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetRequiredRatioOfValidSamples ( double  _arg)
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.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetTransform ( AdvancedTransformType arg)
inlinevirtual

Public methods Set the transform, of advanced type.

Definition at line 170 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseFixedImageLimiter ( bool  _arg)
protectedvirtual

Inheriting classes can specify whether they use the image limiter functionality Make sure to set it before calling Initialize; default: false.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseImageSampler ( bool  _arg)
protectedvirtual

Inheriting classes can specify whether they use the image sampler functionality Make sure to set it before calling Initialize; default: false.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMetricSingleThreaded ( bool  _arg)
virtual

Switch the function BeforeThreadedGetValueAndDerivative on or off.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMovingImageDerivativeScales ( bool  _arg)
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 (elementwise) 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.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMovingImageLimiter ( bool  _arg)
protectedvirtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::SetUseMultiThread ( bool  _arg)
virtual

Select the use of multi-threading

Reimplemented in itk::CombinationImageToImageMetric< TFixedImage, TMovingImage >.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::ThreadedGetValueAndDerivative ( ThreadIdType  threadID)
inlineprotectedvirtual
template<class TFixedImage, class TMovingImage>
virtual bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::TransformPoint ( const FixedImagePointType fixedImagePoint,
MovingImagePointType mappedPoint 
) const
protectedvirtual

Transform a point from FixedImage domain to MovingImage domain. This function also checks if mapped point is within support region of the transform. It returns true if so, and false otherwise.

template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMetricSingleThreadedOff ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMetricSingleThreadedOn ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMultiThreadOff ( )
virtual
template<class TFixedImage, class TMovingImage>
virtual void itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::UseMultiThreadOn ( )
virtual

Field Documentation

template<class TFixedImage, class TMovingImage>
AdvancedTransformType::Pointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_AdvancedTransform
protected

Definition at line 341 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineInterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineInterpolator
protected

Definition at line 333 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
BSplineInterpolatorFloatPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_BSplineInterpolatorFloat
protected

Definition at line 334 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
CentralDifferenceGradientFilterPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_CentralDifferenceGradientFilter
protected

Definition at line 337 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
FixedImageLimiterPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageLimiter
protected

Variables for the Limiters.

Definition at line 345 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
FixedImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMaxLimit
protected

Definition at line 352 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
FixedImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageMinLimit
protected

Definition at line 351 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
FixedImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageTrueMax
protected

Definition at line 348 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
FixedImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedImageTrueMin
protected

Definition at line 347 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_FixedLimitRangeRatio
private

Definition at line 526 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
AlignedGetValueAndDerivativePerThreadStruct* itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_GetValueAndDerivativePerThreadVariables
mutableprotected

Definition at line 414 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
ThreadIdType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_GetValueAndDerivativePerThreadVariablesSize
mutableprotected

Definition at line 415 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
ImageSamplerPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ImageSampler
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 326 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_InterpolatorIsBSpline
protected

Variables for image derivative computation.

Definition at line 329 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_InterpolatorIsBSplineFloat
protected

Definition at line 330 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_InterpolatorIsLinear
protected

Definition at line 332 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_InterpolatorIsReducedBSpline
protected

Definition at line 331 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
LinearInterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_LinearInterpolator
protected

Definition at line 336 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MovingImageDerivativeScalesType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageDerivativeScales
private

Definition at line 532 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MovingImageLimiterPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageLimiter
protected

Definition at line 346 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MovingImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMaxLimit
protected

Definition at line 354 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MovingImageLimiterOutputType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageMinLimit
protected

Definition at line 353 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MovingImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageTrueMax
protected

Definition at line 350 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MovingImagePixelType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingImageTrueMin
protected

Definition at line 349 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_MovingLimitRangeRatio
private

Definition at line 527 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
ReducedBSplineInterpolatorPointer itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ReducedBSplineInterpolator
protected

Definition at line 335 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
double itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_RequiredRatioOfValidSamples
private

Definition at line 530 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
MultiThreaderParameterType itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_ThreaderMetricParameters
mutableprotected

Definition at line 391 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_TransformIsAdvanced
protected

Variables to store the AdvancedTransform.

Definition at line 340 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_TransformIsBSpline
protected

Definition at line 342 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseFixedImageLimiter
private

Definition at line 528 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseImageSampler
private

Private member variables.

Definition at line 525 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMetricSingleThreaded
protected

Variables for multi-threading.

Definition at line 376 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMovingImageDerivativeScales
private

Definition at line 531 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMovingImageLimiter
private

Definition at line 529 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseMultiThread
protected

Definition at line 377 of file itkAdvancedImageToImageMetric.h.

template<class TFixedImage, class TMovingImage>
bool itk::AdvancedImageToImageMetric< TFixedImage, TMovingImage >::m_UseOpenMP
protected

Definition at line 378 of file itkAdvancedImageToImageMetric.h.



Generated on 27-04-2014 for elastix by doxygen 1.8.6 elastix logo