go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itk::ComputeJacobianTerms< TFixedImage, TTransform > Class Template Reference

#include <itkComputeJacobianTerms.h>

Detailed Description

template<class TFixedImage, class TTransform>
class itk::ComputeJacobianTerms< TFixedImage, TTransform >

This is a helper class for the automatic parameter estimation of the ASGD optimizer.

More specifically this class computes the Jacobian terms related to the automatic parameter estimation for the adaptive stochastic gradient descent optimizer. Details can be found in the paper.

Definition at line 37 of file itkComputeJacobianTerms.h.

Inheritance diagram for itk::ComputeJacobianTerms< TFixedImage, TTransform >:

Public Types

using ConstPointer = SmartPointer<const Self>
 
using FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer
 
using FixedImageMaskPointer = typename FixedImageMaskType::Pointer
 
using FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>
 
using FixedImageRegionType = typename FixedImageType::RegionType
 
using FixedImageType = TFixedImage
 
using NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType
 
using Pointer = SmartPointer<Self>
 
using ScaledCostFunctionPointer = typename ScaledSingleValuedNonLinearOptimizerType ::ScaledCostFunctionPointer
 
using ScaledSingleValuedNonLinearOptimizerType = ScaledSingleValuedNonLinearOptimizer
 
using ScalesType = typename ScaledSingleValuedNonLinearOptimizerType::ScalesType
 
using Self = ComputeJacobianTerms
 
using Superclass = Object
 
using TransformPointer = typename TransformType::Pointer
 
using TransformType = TTransform
 

Public Member Functions

virtual void Compute (double &TrC, double &TrCC, double &maxJJ, double &maxJCJ)
 
virtual const char * GetClassName () const
 
virtual const FixedImageMaskTypeGetFixedImageMask ()
 
virtual const FixedImageRegionTypeGetFixedImageRegion ()
 
 ITK_DISALLOW_COPY_AND_MOVE (ComputeJacobianTerms)
 
 itkStaticConstMacro (FixedImageDimension, unsigned int, TFixedImage::ImageDimension)
 
virtual void SetFixedImage (const FixedImageType *_arg)
 
virtual void SetFixedImageMask (const FixedImageMaskType *_arg)
 
virtual void SetFixedImageMask (FixedImageMaskType *_arg)
 
void SetFixedImageRegion (const FixedImageRegionType &region)
 
virtual void SetMaxBandCovSize (unsigned int _arg)
 
virtual void SetNumberOfBandStructureSamples (unsigned int _arg)
 
virtual void SetNumberOfJacobianMeasurements (SizeValueType _arg)
 
virtual void SetScales (ScalesType _arg)
 
virtual void SetTransform (TransformType *_arg)
 
virtual void SetUseScales (bool _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Types

using CoordinateRepresentationType = typename TransformType::ScalarType
 
using FixedImageIndexType = typename FixedImageType::IndexType
 
using FixedImagePointType = typename FixedImageType::PointType
 
using ImageGridSamplerPointer = typename ImageGridSamplerType::Pointer
 
using ImageGridSamplerType = ImageGridSampler<FixedImageType>
 
using ImageRandomSamplerBasePointer = typename ImageRandomSamplerBaseType::Pointer
 
using ImageRandomSamplerBaseType = ImageRandomSamplerBase<FixedImageType>
 
using ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer
 
using ImageSampleContainerType = typename ImageGridSamplerType ::ImageSampleContainerType
 
using ImageSamplerBasePointer = typename ImageSamplerBaseType::Pointer
 
using ImageSamplerBaseType = ImageSamplerBase<FixedImageType>
 
using JacobianType = typename TransformType::JacobianType
 
using JacobianValueType = typename JacobianType::ValueType
 
using NumberOfParametersType = typename TransformType::NumberOfParametersType
 
using TransformJacobianType = JacobianType
 

Protected Member Functions

 ComputeJacobianTerms ()=default
 
virtual void SampleFixedImageForJacobianTerms (ImageSampleContainerPointer &sampleContainer)
 
 ~ComputeJacobianTerms () override=default
 

Protected Attributes

FixedImageType::ConstPointer m_FixedImage { nullptr }
 
FixedImageMaskConstPointer m_FixedImageMask { nullptr }
 
FixedImageRegionType m_FixedImageRegion {}
 
unsigned int m_MaxBandCovSize { 0 }
 
unsigned int m_NumberOfBandStructureSamples { 0 }
 
SizeValueType m_NumberOfJacobianMeasurements { 0 }
 
ScalesType m_Scales {}
 
TransformPointer m_Transform { nullptr }
 
bool m_UseScales { false }
 

Member Typedef Documentation

◆ ConstPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ConstPointer = SmartPointer<const Self>

Definition at line 46 of file itkComputeJacobianTerms.h.

◆ CoordinateRepresentationType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::CoordinateRepresentationType = typename TransformType::ScalarType
protected

Definition at line 142 of file itkComputeJacobianTerms.h.

◆ FixedImageIndexType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImageIndexType = typename FixedImageType::IndexType
protected

Definition at line 124 of file itkComputeJacobianTerms.h.

◆ FixedImageMaskConstPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImageMaskConstPointer = typename FixedImageMaskType::ConstPointer

Definition at line 66 of file itkComputeJacobianTerms.h.

◆ FixedImageMaskPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImageMaskPointer = typename FixedImageMaskType::Pointer

Definition at line 65 of file itkComputeJacobianTerms.h.

◆ FixedImageMaskType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImageMaskType = ImageMaskSpatialObject<Self::FixedImageDimension>

Definition at line 64 of file itkComputeJacobianTerms.h.

◆ FixedImagePointType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImagePointType = typename FixedImageType::PointType
protected

Definition at line 125 of file itkComputeJacobianTerms.h.

◆ FixedImageRegionType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImageRegionType = typename FixedImageType::RegionType

Definition at line 58 of file itkComputeJacobianTerms.h.

◆ FixedImageType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::FixedImageType = TFixedImage

typedef

Definition at line 55 of file itkComputeJacobianTerms.h.

◆ ImageGridSamplerPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageGridSamplerPointer = typename ImageGridSamplerType::Pointer
protected

Definition at line 136 of file itkComputeJacobianTerms.h.

◆ ImageGridSamplerType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageGridSamplerType = ImageGridSampler<FixedImageType>
protected

Definition at line 135 of file itkComputeJacobianTerms.h.

◆ ImageRandomSamplerBasePointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageRandomSamplerBasePointer = typename ImageRandomSamplerBaseType::Pointer
protected

Definition at line 133 of file itkComputeJacobianTerms.h.

◆ ImageRandomSamplerBaseType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageRandomSamplerBaseType = ImageRandomSamplerBase<FixedImageType>
protected

Definition at line 132 of file itkComputeJacobianTerms.h.

◆ ImageSampleContainerPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageSampleContainerPointer = typename ImageSampleContainerType::Pointer
protected

Definition at line 138 of file itkComputeJacobianTerms.h.

◆ ImageSampleContainerType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageSampleContainerType = typename ImageGridSamplerType ::ImageSampleContainerType
protected

Definition at line 137 of file itkComputeJacobianTerms.h.

◆ ImageSamplerBasePointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageSamplerBasePointer = typename ImageSamplerBaseType::Pointer
protected

Definition at line 131 of file itkComputeJacobianTerms.h.

◆ ImageSamplerBaseType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ImageSamplerBaseType = ImageSamplerBase<FixedImageType>
protected

Samplers.

Definition at line 130 of file itkComputeJacobianTerms.h.

◆ JacobianType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::JacobianType = typename TransformType::JacobianType
protected

Definition at line 126 of file itkComputeJacobianTerms.h.

◆ JacobianValueType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::JacobianValueType = typename JacobianType::ValueType
protected

Definition at line 127 of file itkComputeJacobianTerms.h.

◆ NonZeroJacobianIndicesType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::NonZeroJacobianIndicesType = typename TransformType::NonZeroJacobianIndicesType

Definition at line 71 of file itkComputeJacobianTerms.h.

◆ NumberOfParametersType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::NumberOfParametersType = typename TransformType::NumberOfParametersType
protected

Definition at line 143 of file itkComputeJacobianTerms.h.

◆ Pointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::Pointer = SmartPointer<Self>

Definition at line 45 of file itkComputeJacobianTerms.h.

◆ ScaledCostFunctionPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ScaledCostFunctionPointer = typename ScaledSingleValuedNonLinearOptimizerType ::ScaledCostFunctionPointer

Definition at line 69 of file itkComputeJacobianTerms.h.

◆ ScaledSingleValuedNonLinearOptimizerType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ScaledSingleValuedNonLinearOptimizerType = ScaledSingleValuedNonLinearOptimizer

Definition at line 68 of file itkComputeJacobianTerms.h.

◆ ScalesType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::ScalesType = typename ScaledSingleValuedNonLinearOptimizerType::ScalesType

Definition at line 70 of file itkComputeJacobianTerms.h.

◆ Self

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::Self = ComputeJacobianTerms

Standard ITK.

Definition at line 43 of file itkComputeJacobianTerms.h.

◆ Superclass

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::Superclass = Object

Definition at line 44 of file itkComputeJacobianTerms.h.

◆ TransformJacobianType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::TransformJacobianType = JacobianType
protected

Typedefs for support of sparse Jacobians and AdvancedTransforms.

Definition at line 141 of file itkComputeJacobianTerms.h.

◆ TransformPointer

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::TransformPointer = typename TransformType::Pointer

Definition at line 57 of file itkComputeJacobianTerms.h.

◆ TransformType

template<class TFixedImage , class TTransform >
using itk::ComputeJacobianTerms< TFixedImage, TTransform >::TransformType = TTransform

Definition at line 56 of file itkComputeJacobianTerms.h.

Constructor & Destructor Documentation

◆ ComputeJacobianTerms()

template<class TFixedImage , class TTransform >
itk::ComputeJacobianTerms< TFixedImage, TTransform >::ComputeJacobianTerms ( )
protecteddefault

◆ ~ComputeJacobianTerms()

template<class TFixedImage , class TTransform >
itk::ComputeJacobianTerms< TFixedImage, TTransform >::~ComputeJacobianTerms ( )
overrideprotecteddefault

Member Function Documentation

◆ Compute()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::Compute ( double & TrC,
double & TrCC,
double & maxJJ,
double & maxJCJ )
virtual

The main functions that performs the computation.

◆ GetClassName()

template<class TFixedImage , class TTransform >
virtual const char * itk::ComputeJacobianTerms< TFixedImage, TTransform >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

◆ GetFixedImageMask()

template<class TFixedImage , class TTransform >
virtual const FixedImageMaskType * itk::ComputeJacobianTerms< TFixedImage, TTransform >::GetFixedImageMask ( )
virtual

◆ GetFixedImageRegion()

template<class TFixedImage , class TTransform >
virtual const FixedImageRegionType & itk::ComputeJacobianTerms< TFixedImage, TTransform >::GetFixedImageRegion ( )
virtual

Get the region over which the metric will be computed.

◆ ITK_DISALLOW_COPY_AND_MOVE()

template<class TFixedImage , class TTransform >
itk::ComputeJacobianTerms< TFixedImage, TTransform >::ITK_DISALLOW_COPY_AND_MOVE ( ComputeJacobianTerms< TFixedImage, TTransform > )

◆ itkStaticConstMacro()

template<class TFixedImage , class TTransform >
itk::ComputeJacobianTerms< TFixedImage, TTransform >::itkStaticConstMacro ( FixedImageDimension ,
unsigned int ,
TFixedImage::ImageDimension  )

Type for the mask of the fixed image. Only pixels that are "inside" this mask will be considered for the computation of the Jacobian terms.

◆ New()

template<class TFixedImage , class TTransform >
static Pointer itk::ComputeJacobianTerms< TFixedImage, TTransform >::New ( )
static

Method for creation through the object factory.

◆ SampleFixedImageForJacobianTerms()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SampleFixedImageForJacobianTerms ( ImageSampleContainerPointer & sampleContainer)
protectedvirtual

Sample the fixed image to compute the Jacobian terms.

◆ SetFixedImage()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetFixedImage ( const FixedImageType * _arg)
virtual

Set the fixed image.

◆ SetFixedImageMask() [1/2]

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetFixedImageMask ( const FixedImageMaskType * _arg)
virtual

◆ SetFixedImageMask() [2/2]

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetFixedImageMask ( FixedImageMaskType * _arg)
virtual

Set/Get the fixed image mask.

◆ SetFixedImageRegion()

template<class TFixedImage , class TTransform >
void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetFixedImageRegion ( const FixedImageRegionType & region)
inline

Set the region over which the metric will be computed.

Definition at line 93 of file itkComputeJacobianTerms.h.

◆ SetMaxBandCovSize()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetMaxBandCovSize ( unsigned int _arg)
virtual

◆ SetNumberOfBandStructureSamples()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetNumberOfBandStructureSamples ( unsigned int _arg)
virtual

◆ SetNumberOfJacobianMeasurements()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetNumberOfJacobianMeasurements ( SizeValueType _arg)
virtual

◆ SetScales()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetScales ( ScalesType _arg)
virtual

Set some parameters.

◆ SetTransform()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetTransform ( TransformType * _arg)
virtual

Set the transform.

◆ SetUseScales()

template<class TFixedImage , class TTransform >
virtual void itk::ComputeJacobianTerms< TFixedImage, TTransform >::SetUseScales ( bool _arg)
virtual

Field Documentation

◆ m_FixedImage

template<class TFixedImage , class TTransform >
FixedImageType::ConstPointer itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_FixedImage { nullptr }
protected

Definition at line 113 of file itkComputeJacobianTerms.h.

◆ m_FixedImageMask

template<class TFixedImage , class TTransform >
FixedImageMaskConstPointer itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_FixedImageMask { nullptr }
protected

Definition at line 115 of file itkComputeJacobianTerms.h.

◆ m_FixedImageRegion

template<class TFixedImage , class TTransform >
FixedImageRegionType itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_FixedImageRegion {}
protected

Definition at line 114 of file itkComputeJacobianTerms.h.

◆ m_MaxBandCovSize

template<class TFixedImage , class TTransform >
unsigned int itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_MaxBandCovSize { 0 }
protected

Definition at line 120 of file itkComputeJacobianTerms.h.

◆ m_NumberOfBandStructureSamples

template<class TFixedImage , class TTransform >
unsigned int itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_NumberOfBandStructureSamples { 0 }
protected

Definition at line 121 of file itkComputeJacobianTerms.h.

◆ m_NumberOfJacobianMeasurements

template<class TFixedImage , class TTransform >
SizeValueType itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_NumberOfJacobianMeasurements { 0 }
protected

Definition at line 122 of file itkComputeJacobianTerms.h.

◆ m_Scales

template<class TFixedImage , class TTransform >
ScalesType itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_Scales {}
protected

Definition at line 117 of file itkComputeJacobianTerms.h.

◆ m_Transform

template<class TFixedImage , class TTransform >
TransformPointer itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_Transform { nullptr }
protected

Definition at line 116 of file itkComputeJacobianTerms.h.

◆ m_UseScales

template<class TFixedImage , class TTransform >
bool itk::ComputeJacobianTerms< TFixedImage, TTransform >::m_UseScales { false }
protected

Definition at line 118 of file itkComputeJacobianTerms.h.



Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo