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::ImageReconstructionMetric< 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::ImageReconstructionMetric< IntensityType >:
Inheritance graph
[legend]
Collaboration diagram for itk::ImageReconstructionMetric< IntensityType >:
Collaboration graph
[legend]

Public Types

typedef ImageReconstructionMetric Self
 
typedef SingleValuedCostFunction Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef
itk::ForwardAndBackProjectionDifferenceFilter
< IntensityType > 
ForwardAndBackProjectionDifferenceFilterType
 
typedef
ForwardAndBackProjectionDifferenceFilterType::Pointer 
ForwardAndBackProjectionDifferenceFilterPointerType
 
typedef
ForwardAndBackProjectionDifferenceFilterType::InputVolumeType 
InputVolumeType
 
typedef
ForwardAndBackProjectionDifferenceFilterType::InputVolumePointer 
InputVolumePointer
 
typedef
ForwardAndBackProjectionDifferenceFilterType::InputProjectionVolumeType 
InputProjectionVolumeType
 
typedef
ForwardAndBackProjectionDifferenceFilterType::InputProjectionVolumePointer 
InputProjectionVolumePointer
 
typedef
ForwardAndBackProjectionDifferenceFilterType::ProjectionGeometryType 
ProjectionGeometryType
 
typedef
ForwardAndBackProjectionDifferenceFilterType::ProjectionGeometryPointer 
ProjectionGeometryPointer
 
typedef
ForwardAndBackProjectionDifferenceFilterType::OutputBackProjectedDifferencesType 
OutputBackProjectedDifferencesType
 
typedef
ForwardAndBackProjectionDifferenceFilterType::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 SetInputProjectionVolume (InputProjectionVolumeType *im2D)
 Set the input 3D volume of projection image. More...
 
void SetProjectionGeometry (ProjectionGeometryType *projGeometry)
 Set the projection geometry. More...
 
unsigned int GetNumberOfParameters (void) const override
 
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 SetIterativeReconEstimateFile (std::string filename)
 
void SetIterativeReconEstimateSuffix (std::string suffix)
 
void Initialise (void)
 
virtual void GetValueAndDerivative (const ParametersType &parameters, MeasureType &value, DerivativeType &derivative) const override
 
virtual MeasureType GetValue (const ParametersType &parameters) const override
 
virtual void GetDerivative (const ParametersType &parameters, DerivativeType &derivative) const override
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Protected Attributes

std::string fileOutputCurrentEstimate
 
std::string suffixOutputCurrentEstimate
 
ForwardAndBackProjectionDifferenceFilterPointerType m_FwdAndBackProjDiffFilter
 The filter to perform the forward and back-projection. More...
 

Detailed Description

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

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

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

Member Typedef Documentation

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

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

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

Type of the parameters.

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

Standard class typedefs.

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

Constructor & Destructor Documentation

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

Member Function Documentation

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

Run-time type information (and related methods).

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

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::ImageReconstructionMetric< IntensityType >::GetNumberOfParameters ( void  ) const
override

Return the number of parameters required by the Transform

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

Get the 3D reconstructed volume.

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

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::ImageReconstructionMetric< IntensityType >::GetValueAndDerivative ( const ParametersType parameters,
MeasureType value,
DerivativeType derivative 
) const
overridevirtual

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

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

Initialise the metric

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

Method for creation through the object factory.

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

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

template<class IntensityType = float>
void itk::ImageReconstructionMetric< IntensityType >::SetInputProjectionVolume ( InputProjectionVolumeType im2D)

Set the input 3D volume of projection image.

template<class IntensityType = float>
void itk::ImageReconstructionMetric< IntensityType >::SetInputVolume ( InputVolumeType im3D)

Set the 3D reconstruction estimate volume input.

template<class IntensityType = float>
void itk::ImageReconstructionMetric< IntensityType >::SetIterativeReconEstimateFile ( std::string  filename)
inline

Specify a filename to save the current reconstruction estimate at each iteration

template<class IntensityType = float>
void itk::ImageReconstructionMetric< IntensityType >::SetIterativeReconEstimateSuffix ( std::string  suffix)
inline

Specify a filename suffix to save the current reconstruction estimate at each iteration

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

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

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

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

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

Set the projection geometry.

Member Data Documentation

template<class IntensityType = float>
std::string itk::ImageReconstructionMetric< IntensityType >::fileOutputCurrentEstimate
protected

Filename to optionally save the current iteration of the reconstruction estimate to

template<class IntensityType = float>
ForwardAndBackProjectionDifferenceFilterPointerType itk::ImageReconstructionMetric< IntensityType >::m_FwdAndBackProjDiffFilter
protected

The filter to perform the forward and back-projection.

template<class IntensityType = float>
std::string itk::ImageReconstructionMetric< IntensityType >::suffixOutputCurrentEstimate
protected

Suffix of filename to optionally save the current iteration of the reconstruction estimate to


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