NifTK  16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
itk::SimultaneousReconstructionRegistrationMetric< IntensityType > Class Template Reference

Class to compute the difference between a reconstruction estimate and the target set of 2D projection images. More...

Inheritance diagram for itk::SimultaneousReconstructionRegistrationMetric< IntensityType >:
Inheritance graph
[legend]
Collaboration diagram for itk::SimultaneousReconstructionRegistrationMetric< IntensityType >:
Collaboration graph
[legend]

Public Types

typedef
SimultaneousReconstructionRegistrationMetric 
Self
 
typedef SingleValuedCostFunction Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef
itk::ForwardProjectionWithAffineTransformDifferenceFilter
< IntensityType > 
ForwardProjectionWithAffineTransformDifferenceFilterType
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::Pointer 
ForwardProjectionWithAffineTransformDifferenceFilterPointerType
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::InputVolumeType 
InputVolumeType
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::InputVolumePointer 
InputVolumePointer
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::InputProjectionVolumeType 
InputProjectionVolumeType
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::InputProjectionVolumePointer 
InputProjectionVolumePointer
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::ProjectionGeometryType 
ProjectionGeometryType
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::ProjectionGeometryPointer 
ProjectionGeometryPointer
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::OutputBackProjectedDifferencesType 
OutputBackProjectedDifferencesType
 
typedef
ForwardProjectionWithAffineTransformDifferenceFilterType::OutputBackProjectedDifferencesPointer 
OutputBackProjectedDifferencesPointer
 
typedef
SingleValuedCostFunction::ParametersType 
ParametersType
 
typedef
SingleValuedCostFunction::MeasureType 
MeasureType
 
typedef
SingleValuedCostFunction::DerivativeType 
DerivativeType
 

Public Member Functions

virtual const char * GetClassName () const
 
void SetInputVolume (InputVolumeType *im3D)
 Set the 3D reconstruction estimate volume input. More...
 
void SetInputProjectionVolumeOne (InputProjectionVolumeType *im2DNumberOne)
 Set the input 3D volume of projection image (Two sets of projection images, e.g., y_1 and y_2) More...
 
void SetInputProjectionVolumeTwo (InputProjectionVolumeType *im2DNumberTwo)
 
void SetProjectionGeometry (ProjectionGeometryType *projGeometry)
 Set the projection geometry. More...
 
unsigned int GetNumberOfParameters (void) const
 
const InputVolumeTypeGetReconstructedVolume (void)
 Get the 3D reconstructed volume. More...
 
void SetParametersAddress (const ParametersType &parameters) const
 
void SetDerivativesAddress (const DerivativeType &derivatives) const
 
void SetParameters (const ParametersType &parameters) const
 
void Initialise (void)
 
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const
 
virtual MeasureType GetValue (const ParametersType &parameters) const
 
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 SimultaneousReconstructionRegistrationMetric ()
 
virtual ~SimultaneousReconstructionRegistrationMetric ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 

Protected Attributes

ForwardProjectionWithAffineTransformDifferenceFilterPointerType m_FwdAndBackProjDiffFilter
 Create and store the Euler affine transform matrix. More...
 

Detailed Description

template<class IntensityType = float>
class itk::SimultaneousReconstructionRegistrationMetric< IntensityType >

Class to compute the difference between a reconstruction estimate and the target set of 2D projection images.

This is essentially the ForwardProjectionWithAffineTransformDifferenceFilter repackaged as an ITK cost function.

Member Typedef Documentation

template<class IntensityType = float>
typedef SmartPointer<const Self> itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::ConstPointer
template<class IntensityType = float>
typedef SingleValuedCostFunction::DerivativeType itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::DerivativeType

Some convenient typedefs. The ImageToImageFilter to perform the forward and back-projection

template<class IntensityType = float>
typedef SingleValuedCostFunction::MeasureType itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::MeasureType
template<class IntensityType = float>
typedef SingleValuedCostFunction::ParametersType itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::ParametersType

Type of the parameters.

template<class IntensityType = float>
typedef SmartPointer<Self> itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::Pointer
template<class IntensityType = float>
typedef SimultaneousReconstructionRegistrationMetric itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::Self

Standard class typedefs.

template<class IntensityType = float>
typedef SingleValuedCostFunction itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::Superclass

Constructor & Destructor Documentation

template<class IntensityType = float>
itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SimultaneousReconstructionRegistrationMetric ( )
protected
template<class IntensityType = float>
virtual itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::~SimultaneousReconstructionRegistrationMetric ( )
inlineprotectedvirtual

Member Function Documentation

template<class IntensityType = float>
virtual const char* itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class IntensityType = float>
virtual void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::GetDerivative ( const ParametersType parameters,
DerivativeType derivative 
) const
virtual

This method returns the derivative of the cost function corresponding to the specified parameters. This method set to protected to test whether the optimizer only ever calls GetValueAndDerivative() which case we can get away without performing the forward and back-projections for both GetValue() and GetDerivative().

template<class IntensityType = float>
unsigned int itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::GetNumberOfParameters ( void  ) const

Return the number of parameters required by the Transform

template<class IntensityType = float>
const InputVolumeType* itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::GetReconstructedVolume ( void  )
inline

Get the 3D reconstructed volume.

template<class IntensityType = float>
virtual MeasureType itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::GetValue ( const ParametersType parameters) const
virtual

This method returns the value of the cost function corresponding to the specified parameters. This method set to protected to test whether the optimizer only ever calls GetValueAndDerivative() which case we can get away without performing the forward and back-projections for both GetValue() and GetDerivative().

template<class IntensityType = float>
virtual void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::GetValueAndDerivative ( const ParametersType parameters,
MeasureType value,
DerivativeType derivative 
) const
virtual

This method returns the value and derivative of the cost function corresponding to the specified parameters

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::Initialise ( void  )
inline

Initialise the metric

template<class IntensityType = float>
static Pointer itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::New ( )
static

Method for creation through the object factory.

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetDerivativesAddress ( const DerivativeType derivatives) const

Assign to 'derivatives' the address of the reconstruction volume estimate voxel intensities.

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetInputProjectionVolumeOne ( InputProjectionVolumeType im2DNumberOne)

Set the input 3D volume of projection image (Two sets of projection images, e.g., y_1 and y_2)

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetInputProjectionVolumeTwo ( InputProjectionVolumeType im2DNumberTwo)
template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetInputVolume ( InputVolumeType im3D)

Set the 3D reconstruction estimate volume input.

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetParameters ( const ParametersType parameters) const

Set the parameters, i.e. intensities of the reconstruction estimate.

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetParametersAddress ( const ParametersType parameters) const

Assign to 'parameters' the address of the reconstruction volume estimate voxel intensities.

template<class IntensityType = float>
void itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::SetProjectionGeometry ( ProjectionGeometryType projGeometry)

Set the projection geometry.

Member Data Documentation

template<class IntensityType = float>
ForwardProjectionWithAffineTransformDifferenceFilterPointerType itk::SimultaneousReconstructionRegistrationMetric< IntensityType >::m_FwdAndBackProjDiffFilter
protected

Create and store the Euler affine transform matrix.


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