ITK  4.2.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Protected Member Functions | Protected Attributes | Static Protected Attributes | Private Member Functions | Private Attributes
itk::RegistrationParameterScalesEstimator< TMetric > Class Template Reference

#include <itkRegistrationParameterScalesEstimator.h>

+ Inheritance diagram for itk::RegistrationParameterScalesEstimator< TMetric >:
+ Collaboration diagram for itk::RegistrationParameterScalesEstimator< TMetric >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef
FixedTransformType::ConstPointer 
FixedTransformConstPointer
typedef
MetricType::FixedTransformType 
FixedTransformType
typedef Superclass::FloatType FloatType
typedef TMetric::JacobianType JacobianType
typedef MetricType::ConstPointer MetricConstPointer
typedef MetricType::Pointer MetricPointer
typedef TMetric MetricType
typedef
MovingTransformType::ConstPointer 
MovingTransformConstPointer
typedef
MetricType::MovingTransformType 
MovingTransformType
typedef Superclass::ParametersType ParametersType
typedef SmartPointer< SelfPointer
typedef std::vector
< VirtualPointType
SamplePointContainerType
enum  SamplingStrategyType {
  FullDomainSampling = 0,
  CornerSampling,
  RandomSampling,
  CentralRegionSampling,
  VirtualDomainPointSetSampling
}
typedef Superclass::ScalesType ScalesType
typedef
RegistrationParameterScalesEstimator 
Self
typedef
OptimizerParameterScalesEstimator 
Superclass
typedef
TMetric::VirtualImageConstPointer 
VirtualImageConstPointer
typedef
TMetric::VirtualImagePointer 
VirtualImagePointer
typedef TMetric::VirtualImageType VirtualImageType
typedef TMetric::VirtualIndexType VirtualIndexType
typedef
TMetric::VirtualPointSetPointer 
VirtualPointSetPointer
typedef
TMetric::VirtualPointSetType 
VirtualPointSetType
typedef TMetric::VirtualPointType VirtualPointType
typedef TMetric::VirtualRegionType VirtualRegionType
typedef TMetric::VirtualSizeType VirtualSizeType
typedef TMetric::VirtualSpacingType VirtualSpacingType
- Public Types inherited from itk::OptimizerParameterScalesEstimator
- Public Types inherited from itk::Object
- Public Types inherited from itk::LightObject

Public Member Functions

virtual void EstimateLocalStepScales (const ParametersType &step, ScalesType &localStepScales)=0
virtual FloatType EstimateMaximumStepSize ()
virtual void EstimateScales (ScalesType &scales)=0
virtual FloatType EstimateStepScale (const ParametersType &step)=0
virtual const char * GetNameOfClass () const
virtual void SetCentralRegionRadius (IndexValueType _arg)
virtual void SetMetric (MetricType *_arg)
virtual void SetScalesSamplingStrategy ()
virtual void SetStepScaleSamplingStrategy ()
virtual void SetTransformForward (bool _arg)
virtual bool GetTransformForward () const
virtual void SetVirtualDomainPointSet (VirtualPointSetType *_arg)
virtual void SetVirtualDomainPointSet (const VirtualPointSetType *_arg)
virtual const VirtualPointSetTypeGetVirtualDomainPointSet ()

Static Public Attributes

static const SizeValueType FixedDimension = TMetric::FixedDimension
static const SizeValueType MovingDimension = TMetric::MovingDimension
static const SizeValueType VirtualDimension = TMetric::VirtualDimension

Protected Member Functions

bool CheckAndSetInputs ()
bool CheckGeneralAffineTransform ()
template<class TTransform >
bool CheckGeneralAffineTransformTemplated ()
void ComputeSquaredJacobianNorms (const VirtualPointType &p, ParametersType &squareNorms)
SizeValueType GetDimension ()
SizeValueType GetNumberOfLocalParameters ()
virtual SamplingStrategyType GetSamplingStrategy ()
const TransformBaseGetTransform ()
VirtualIndexType GetVirtualDomainCentralIndex ()
VirtualRegionType GetVirtualDomainCentralRegion ()
bool HasLocalSupport ()
virtual void PrintSelf (std::ostream &os, Indent indent) const
 RegistrationParameterScalesEstimator ()
virtual void SampleVirtualDomain ()
void SampleVirtualDomainFully ()
void SampleVirtualDomainRandomly ()
void SampleVirtualDomainWithCentralRegion ()
void SampleVirtualDomainWithCorners ()
void SampleVirtualDomainWithPointSet ()
void SampleVirtualDomainWithRegion (VirtualRegionType region)
virtual void SetNumberOfRandomSamples (SizeValueType _arg)
virtual void SetSamplingStrategy (SamplingStrategyType _arg)
template<class TTargetPointType >
void TransformPoint (const VirtualPointType &point, TTargetPointType &mappedPoint)
template<class TContinuousIndexType >
void TransformPointToContinuousIndex (const VirtualPointType &point, TContinuousIndexType &mappedIndex)
void UpdateTransformParameters (const ParametersType &deltaParameters)
 ~RegistrationParameterScalesEstimator ()
- Protected Member Functions inherited from itk::OptimizerParameterScalesEstimator
 OptimizerParameterScalesEstimator ()
 ~OptimizerParameterScalesEstimator ()
- Protected Member Functions inherited from itk::Object
 Object ()
bool PrintObservers (std::ostream &os, Indent indent) const
virtual void SetTimeStamp (const TimeStamp &time)
virtual ~Object ()
- Protected Member Functions inherited from itk::LightObject
virtual LightObject::Pointer InternalClone () const
 LightObject ()
virtual void PrintHeader (std::ostream &os, Indent indent) const
virtual void PrintTrailer (std::ostream &os, Indent indent) const
virtual ~LightObject ()

Protected Attributes

IndexValueType m_CentralRegionRadius
MetricPointer m_Metric
SizeValueType m_NumberOfRandomSamples
SamplePointContainerType m_SamplePoints
TimeStamp m_SamplingTime
VirtualPointSetType::ConstPointer m_VirtualDomainPointSet

Static Protected Attributes

static const SizeValueType SizeOfSmallDomain = 1000

Private Member Functions

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

Private Attributes

SamplingStrategyType m_SamplingStrategy
bool m_TransformForward

Detailed Description

template<class TMetric>
class itk::RegistrationParameterScalesEstimator< TMetric >

Implements a registration helper class for estimating scales of transform parameters and step sizes.

Its input is a metric, from which the fixed/moving images and transform objects are obtained.

This class implements some common methods as building blocks called by subclasses with various estimation strategies. One of these methods is SampleVirtualDomain, which provides various choices of sampling the image domain.

Note:
When used with a PointSetToPointSet type metric, a VirtualDomainPointSet must be defined, for use in shift estimation. See SetVirtualDomainPointSet(). The virtual domain point set can be retrieved from a metric using the GetVirtualTransformedPointSet() method within the metric.

Definition at line 54 of file itkRegistrationParameterScalesEstimator.h.


Member Typedef Documentation

template<class TMetric >
typedef SmartPointer<const Self> itk::RegistrationParameterScalesEstimator< TMetric >::ConstPointer
template<class TMetric >
typedef FixedTransformType::ConstPointer itk::RegistrationParameterScalesEstimator< TMetric >::FixedTransformConstPointer

Definition at line 81 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef MetricType::FixedTransformType itk::RegistrationParameterScalesEstimator< TMetric >::FixedTransformType
template<class TMetric >
typedef Superclass::FloatType itk::RegistrationParameterScalesEstimator< TMetric >::FloatType
template<class TMetric >
typedef TMetric::JacobianType itk::RegistrationParameterScalesEstimator< TMetric >::JacobianType
template<class TMetric >
typedef MetricType::ConstPointer itk::RegistrationParameterScalesEstimator< TMetric >::MetricConstPointer

Definition at line 77 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef MetricType::Pointer itk::RegistrationParameterScalesEstimator< TMetric >::MetricPointer

Definition at line 76 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric itk::RegistrationParameterScalesEstimator< TMetric >::MetricType

Definition at line 75 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef MovingTransformType::ConstPointer itk::RegistrationParameterScalesEstimator< TMetric >::MovingTransformConstPointer

Definition at line 84 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef MetricType::MovingTransformType itk::RegistrationParameterScalesEstimator< TMetric >::MovingTransformType
template<class TMetric >
typedef Superclass::ParametersType itk::RegistrationParameterScalesEstimator< TMetric >::ParametersType
template<class TMetric >
typedef SmartPointer<Self> itk::RegistrationParameterScalesEstimator< TMetric >::Pointer
template<class TMetric >
typedef std::vector<VirtualPointType> itk::RegistrationParameterScalesEstimator< TMetric >::SamplePointContainerType

Definition at line 111 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef Superclass::ScalesType itk::RegistrationParameterScalesEstimator< TMetric >::ScalesType
template<class TMetric >
typedef TMetric::VirtualImageConstPointer itk::RegistrationParameterScalesEstimator< TMetric >::VirtualImageConstPointer
template<class TMetric >
typedef TMetric::VirtualImagePointer itk::RegistrationParameterScalesEstimator< TMetric >::VirtualImagePointer

Definition at line 94 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric::VirtualImageType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualImageType

Definition at line 92 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric::VirtualIndexType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualIndexType
template<class TMetric >
typedef TMetric::VirtualPointSetPointer itk::RegistrationParameterScalesEstimator< TMetric >::VirtualPointSetPointer

Definition at line 102 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric::VirtualPointSetType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualPointSetType

Definition at line 101 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric::VirtualPointType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualPointType
template<class TMetric >
typedef TMetric::VirtualRegionType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualRegionType

Definition at line 96 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric::VirtualSizeType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualSizeType

Definition at line 97 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
typedef TMetric::VirtualSpacingType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualSpacingType

Definition at line 95 of file itkRegistrationParameterScalesEstimator.h.


Member Enumeration Documentation

The strategies to sample physical points in the virtual domain.

Enumerator:
FullDomainSampling 
CornerSampling 
RandomSampling 
CentralRegionSampling 
VirtualDomainPointSetSampling 

Definition at line 105 of file itkRegistrationParameterScalesEstimator.h.


Constructor & Destructor Documentation

template<class TMetric >
itk::RegistrationParameterScalesEstimator< TMetric >::RegistrationParameterScalesEstimator ( )
protected
template<class TMetric >
itk::RegistrationParameterScalesEstimator< TMetric >::~RegistrationParameterScalesEstimator ( )
inlineprotected

Definition at line 159 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
itk::RegistrationParameterScalesEstimator< TMetric >::RegistrationParameterScalesEstimator ( const Self )
private

Member Function Documentation

template<class TMetric >
bool itk::RegistrationParameterScalesEstimator< TMetric >::CheckAndSetInputs ( )
protected

Check the metric and the transforms.

template<class TMetric >
bool itk::RegistrationParameterScalesEstimator< TMetric >::CheckGeneralAffineTransform ( )
protected

Check if the transform is a general affine transform that maps a line segment to a line segment.

template<class TMetric >
template<class TTransform >
bool itk::RegistrationParameterScalesEstimator< TMetric >::CheckGeneralAffineTransformTemplated ( )
protected

The templated version of CheckGeneralAffineTransform to check if the transform is a general affine transform that maps a line segment to a line segment.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::ComputeSquaredJacobianNorms ( const VirtualPointType p,
ParametersType squareNorms 
)
protected

Compute the transform Jacobian at a physical point.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::EstimateLocalStepScales ( const ParametersType step,
ScalesType localStepScales 
)
pure virtual
template<class TMetric >
virtual FloatType itk::RegistrationParameterScalesEstimator< TMetric >::EstimateMaximumStepSize ( )
virtual

Estimate the trusted scale for steps. It returns the voxel spacing.

Implements itk::OptimizerParameterScalesEstimator.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::EstimateScales ( ScalesType scales)
pure virtual
template<class TMetric >
virtual FloatType itk::RegistrationParameterScalesEstimator< TMetric >::EstimateStepScale ( const ParametersType step)
pure virtual
template<class TMetric >
SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::GetDimension ( )
protected

Get the dimension of the target transformed to.

template<class TMetric >
virtual const char* itk::RegistrationParameterScalesEstimator< TMetric >::GetNameOfClass ( ) const
virtual
template<class TMetric >
SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::GetNumberOfLocalParameters ( )
protected

Get the number of local parameters.

template<class TMetric >
virtual SamplingStrategyType itk::RegistrationParameterScalesEstimator< TMetric >::GetSamplingStrategy ( )
protectedvirtual

Get the current sampling strategy. Note that this is changed internally as the class is used for scale or step estimation.

template<class TMetric >
const TransformBase* itk::RegistrationParameterScalesEstimator< TMetric >::GetTransform ( )
protected

Get the transform in use.

template<class TMetric >
virtual bool itk::RegistrationParameterScalesEstimator< TMetric >::GetTransformForward ( ) const
virtual

m_TransformForward specifies which transform scales to be estimated. m_TransformForward = true (default) for the moving transform parameters. m_TransformForward = false for the fixed transform parameters.

template<class TMetric >
VirtualIndexType itk::RegistrationParameterScalesEstimator< TMetric >::GetVirtualDomainCentralIndex ( )
protected

Get the central index of the virtual domain.

template<class TMetric >
VirtualRegionType itk::RegistrationParameterScalesEstimator< TMetric >::GetVirtualDomainCentralRegion ( )
protected

Get the central region of the virtual domain.

template<class TMetric >
virtual const VirtualPointSetType* itk::RegistrationParameterScalesEstimator< TMetric >::GetVirtualDomainPointSet ( )
virtual

Get/Set a point set for virtual domain sampling.

template<class TMetric >
bool itk::RegistrationParameterScalesEstimator< TMetric >::HasLocalSupport ( )
protected

Check if the transform being optimized has local support.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::operator= ( const Self )
private
template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protectedvirtual

Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.

Reimplemented from itk::OptimizerParameterScalesEstimator.

Reimplemented in itk::RegistrationParameterScalesFromJacobian< TMetric >, itk::RegistrationParameterScalesFromIndexShift< TMetric >, itk::RegistrationParameterScalesFromShiftBase< TMetric >, and itk::RegistrationParameterScalesFromPhysicalShift< TMetric >.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomain ( )
protectedvirtual

Sample the virtual domain and store the physical points in m_SamplePoints.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomainFully ( )
protected

Sample the virtual domain with all pixels.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomainRandomly ( )
protected

Sample the virtual domain randomly in a uniform distribution.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomainWithCentralRegion ( )
protected

Sample the virtual domain with voxel in the central region.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomainWithCorners ( )
protected

Sample the virtual domain with corners.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomainWithPointSet ( )
protected

Sample the virtual domain with a point set

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::SampleVirtualDomainWithRegion ( VirtualRegionType  region)
protected

Sample the virtual domain with all voxels inside a region.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetCentralRegionRadius ( IndexValueType  _arg)
virtual

the radius of the central region for sampling.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetMetric ( MetricType _arg)
virtual

SetMetric sets the metric used in the estimation process. The transforms from the metric will be used for estimation, along with the images when appropriate.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetNumberOfRandomSamples ( SizeValueType  _arg)
protectedvirtual

Set and get the number of samples.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetSamplingStrategy ( SamplingStrategyType  _arg)
protectedvirtual

Set the sampling strategy. This is called from SetScalesSamplingStrategy() and SetStepScaleSamplingStrategy().

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetScalesSamplingStrategy ( )
virtual

Set the sampling strategy automatically for scales estimation.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetStepScaleSamplingStrategy ( )
virtual

Set the sampling strategy automatically for step scale estimation.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetTransformForward ( bool  _arg)
virtual

m_TransformForward specifies which transform scales to be estimated. m_TransformForward = true (default) for the moving transform parameters. m_TransformForward = false for the fixed transform parameters.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetVirtualDomainPointSet ( VirtualPointSetType _arg)
virtual

Get/Set a point set for virtual domain sampling.

template<class TMetric >
virtual void itk::RegistrationParameterScalesEstimator< TMetric >::SetVirtualDomainPointSet ( const VirtualPointSetType _arg)
virtual

Get/Set a point set for virtual domain sampling.

template<class TMetric >
template<class TTargetPointType >
void itk::RegistrationParameterScalesEstimator< TMetric >::TransformPoint ( const VirtualPointType point,
TTargetPointType &  mappedPoint 
)
protected

Transform a physical point to a new physical point.

template<class TMetric >
template<class TContinuousIndexType >
void itk::RegistrationParameterScalesEstimator< TMetric >::TransformPointToContinuousIndex ( const VirtualPointType point,
TContinuousIndexType &  mappedIndex 
)
protected

Transform a point to its continuous index.

Reimplemented in itk::RegistrationParameterScalesFromIndexShift< TMetric >.

template<class TMetric >
void itk::RegistrationParameterScalesEstimator< TMetric >::UpdateTransformParameters ( const ParametersType deltaParameters)
protected

Update the transform with a change in parameters.


Member Data Documentation

template<class TMetric >
const SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::FixedDimension = TMetric::FixedDimension
static

dimension accessors

Definition at line 87 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
IndexValueType itk::RegistrationParameterScalesEstimator< TMetric >::m_CentralRegionRadius
protected

the radius of the central region for sampling

Definition at line 254 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
MetricPointer itk::RegistrationParameterScalesEstimator< TMetric >::m_Metric
protected

the metric object

Definition at line 242 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::m_NumberOfRandomSamples
protected

the number of samples in the virtual domain

Definition at line 251 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
SamplePointContainerType itk::RegistrationParameterScalesEstimator< TMetric >::m_SamplePoints
protected

the samples in the virtual domain

Definition at line 245 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
SamplingStrategyType itk::RegistrationParameterScalesEstimator< TMetric >::m_SamplingStrategy
private

Definition at line 272 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
TimeStamp itk::RegistrationParameterScalesEstimator< TMetric >::m_SamplingTime
mutableprotected

Keep track of the last sampling time.

Definition at line 248 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
bool itk::RegistrationParameterScalesEstimator< TMetric >::m_TransformForward
private

m_TransformForward specifies which transform scales to be estimated. m_TransformForward = true (default) for the moving transform parameters. m_TransformForward = false for the fixed transform parameters.

Definition at line 269 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
VirtualPointSetType::ConstPointer itk::RegistrationParameterScalesEstimator< TMetric >::m_VirtualDomainPointSet
protected

Definition at line 256 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
const SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::MovingDimension = TMetric::MovingDimension
static

dimension accessors

Definition at line 88 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
const SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::SizeOfSmallDomain = 1000
staticprotected

Definition at line 259 of file itkRegistrationParameterScalesEstimator.h.

template<class TMetric >
const SizeValueType itk::RegistrationParameterScalesEstimator< TMetric >::VirtualDimension = TMetric::VirtualDimension
static

dimension accessors

Definition at line 89 of file itkRegistrationParameterScalesEstimator.h.


The documentation for this class was generated from the following file: