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

Base class for Image Reconstruction Methods. More...

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

Public Types

typedef
ImageMatrixFormReconstructionMethod 
Self
 
typedef ProcessObject Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef
itk::ReconstructionUpdateCommand 
ReconstructionUpdateCommandType
 
typedef
ReconstructionUpdateCommand::Pointer 
ReconstructionUpdateCommandPointer
 
typedef Image< IntensityType, 3 > MatrixFormReconstructionType
 
typedef
MatrixFormReconstructionType::Pointer 
MatrixFormReconstructionPointer
 
typedef
MatrixFormReconstructionType::RegionType 
MatrixFormReconstructionRegionType
 
typedef
MatrixFormReconstructionType::PixelType 
MatrixFormReconstructionPixelType
 
typedef
MatrixFormReconstructionType::SizeType 
MatrixFormReconstructionSizeType
 
typedef
MatrixFormReconstructionType::SpacingType 
MatrixFormReconstructionSpacingType
 
typedef
MatrixFormReconstructionType::PointType 
MatrixFormReconstructionPointType
 
typedef
MatrixFormReconstructionType::IndexType 
MatrixFormReconstructionIndexType
 
typedef
SingleValuedNonLinearOptimizer 
OptimizerType
 Type of the optimizer. More...
 
typedef OptimizerType::Pointer OptimizerPointer
 
typedef
ImageMatrixFormReconstructionMetric
< double > 
MetricType
 The type of the metric. More...
 
typedef MetricType::Pointer MetricPointer
 
typedef
itk::ProjectionGeometry
< double > 
ProjectionGeometryType
 The projection geometry type. More...
 
typedef
ProjectionGeometryType::Pointer 
ProjectionGeometryPointer
 
typedef MetricType::ParametersType ParametersType
 
typedef
MatrixFormReconstructionType 
MatrixFormReconstructionOutputType
 
typedef
MatrixFormReconstructionOutputType::Pointer 
MatrixFormReconstructionOutputPointer
 
typedef
MatrixFormReconstructionOutputType::ConstPointer 
MatrixFormReconstructionOutputConstPointer
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void SetOptimizer (OptimizerType *_arg)
 
virtual OptimizerTypeGetOptimizer ()
 
virtual void SetMetric (MetricType *_arg)
 
virtual MetricTypeGetMetric ()
 
virtual void SetProjectionGeometry (ProjectionGeometryType *_arg)
 
virtual ProjectionGeometryTypeGetProjectionGeometry ()
 
virtual void SetReconstructionUpdateCommand (ReconstructionUpdateCommandType *_arg)
 
virtual
ReconstructionUpdateCommandType
GetReconstructionUpdateCommand ()
 
void SetReconEstimate (MatrixFormReconstructionType *im3D)
 Set the 3D reconstruction estimate volume. More...
 
void UpdateReconstructionEstimate (MatrixFormReconstructionType *im3D)
 Update the 3D reconstruction estimate volume. More...
 
void UpdateInitialParameters (void)
 Update the initial optimisation parameters. More...
 
void SetMatrixFormReconstructedVolumeSize (MatrixFormReconstructionSizeType &reconSize)
 Set the size, resolution and origin of the reconstructed image. More...
 
void SetMatrixFormReconstructedVolumeSpacing (MatrixFormReconstructionSpacingType &reconSpacing)
 
void SetMatrixFormReconstructedVolumeOrigin (MatrixFormReconstructionPointType &reconOrigin)
 
virtual void Initialise () throw (ExceptionObject)
 
MatrixFormReconstructionOutputTypeGetOutput ()
 
MatrixFormReconstructionOutputTypeGetReconstructedVolume () const
 
virtual DataObjectPointer MakeOutput (unsigned int idx)
 
unsigned long GetMTime () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ImageMatrixFormReconstructionMethod ()
 
virtual ~ImageMatrixFormReconstructionMethod ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
virtual void GenerateOutputInformation ()
 
void StartMatrixFormReconstruction (void)
 
void StartOptimization (void)
 
void GenerateData ()
 

Detailed Description

template<class IntensityType = double>
class itk::ImageMatrixFormReconstructionMethod< IntensityType >

Base class for Image Reconstruction Methods.

This class defines the generic interface for a reconstruction method.

This class is templated over the type of the images to be reconstructed.

The method uses a generic optimizer that can be selected at run-time. The only restriction for the optimizer is that it should be able to operate in single-valued cost functions given that the metrics used to compare images provide a single value as output.

Member Typedef Documentation

template<class IntensityType = double>
typedef SmartPointer<const Self> itk::ImageMatrixFormReconstructionMethod< IntensityType >::ConstPointer
template<class IntensityType = double>
typedef MatrixFormReconstructionOutputType::ConstPointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionOutputConstPointer
template<class IntensityType = double>
typedef MatrixFormReconstructionOutputType::Pointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionOutputPointer
template<class IntensityType = double>
typedef MatrixFormReconstructionType itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionOutputType

Type for the output: Using Decorator pattern for enabling the reconstructed volume to be passed in the data pipeline

template<class IntensityType = double>
typedef MatrixFormReconstructionType::Pointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionPointer
template<class IntensityType = double>
typedef MatrixFormReconstructionType::PointType itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionPointType
template<class IntensityType = double>
typedef MatrixFormReconstructionType::SpacingType itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionSpacingType
template<class IntensityType = double>
typedef Image<IntensityType, 3> itk::ImageMatrixFormReconstructionMethod< IntensityType >::MatrixFormReconstructionType

Intensity type has to be double because the optimizer expects the parameters (intensities) to be double

template<class IntensityType = double>
typedef MetricType::Pointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::MetricPointer
template<class IntensityType = double>
typedef ImageMatrixFormReconstructionMetric<double> itk::ImageMatrixFormReconstructionMethod< IntensityType >::MetricType

The type of the metric.

template<class IntensityType = double>
typedef OptimizerType::Pointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::OptimizerPointer
template<class IntensityType = double>
typedef SingleValuedNonLinearOptimizer itk::ImageMatrixFormReconstructionMethod< IntensityType >::OptimizerType

Type of the optimizer.

template<class IntensityType = double>
typedef MetricType::ParametersType itk::ImageMatrixFormReconstructionMethod< IntensityType >::ParametersType

Type of the optimisation parameters (reconstructed intensities). This is the same type used to represent the search space of the optimization algorithm

template<class IntensityType = double>
typedef SmartPointer<Self> itk::ImageMatrixFormReconstructionMethod< IntensityType >::Pointer
template<class IntensityType = double>
typedef ProjectionGeometryType::Pointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::ProjectionGeometryPointer
template<class IntensityType = double>
typedef itk::ProjectionGeometry<double> itk::ImageMatrixFormReconstructionMethod< IntensityType >::ProjectionGeometryType

The projection geometry type.

template<class IntensityType = double>
typedef itk::ReconstructionUpdateCommand itk::ImageMatrixFormReconstructionMethod< IntensityType >::ReconstructionUpdateCommandType
template<class IntensityType = double>
typedef ImageMatrixFormReconstructionMethod itk::ImageMatrixFormReconstructionMethod< IntensityType >::Self

Standard class typedefs.

template<class IntensityType = double>
typedef ProcessObject itk::ImageMatrixFormReconstructionMethod< IntensityType >::Superclass

Constructor & Destructor Documentation

template<class IntensityType = double>
itk::ImageMatrixFormReconstructionMethod< IntensityType >::ImageMatrixFormReconstructionMethod ( )
protected
template<class IntensityType = double>
virtual itk::ImageMatrixFormReconstructionMethod< IntensityType >::~ImageMatrixFormReconstructionMethod ( )
inlineprotectedvirtual

Member Function Documentation

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::GenerateData ( )
protected

Method invoked by the pipeline in order to trigger the computation of the reconstruction.

template<class IntensityType = double>
virtual void itk::ImageMatrixFormReconstructionMethod< IntensityType >::GenerateOutputInformation ( )
inlineprotectedvirtual

We avoid propagating the input region to the output by overloading this function

template<class IntensityType = double>
virtual const char* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class IntensityType = double>
virtual MetricType* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetMetric ( )
virtual
template<class IntensityType = double>
unsigned long itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetMTime ( ) const

Method to return the latest modified time of this object or any of its cached ivars

template<class IntensityType = double>
virtual OptimizerType* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetOptimizer ( )
virtual
template<class IntensityType = double>
MatrixFormReconstructionOutputType* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetOutput ( )

Returns the image resulting from the reconstruction process

template<class IntensityType = double>
virtual ProjectionGeometryType* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetProjectionGeometry ( )
virtual
template<class IntensityType = double>
MatrixFormReconstructionOutputType* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetReconstructedVolume ( ) const

Returns the image resulting from the reconstruction process

template<class IntensityType = double>
virtual ReconstructionUpdateCommandType* itk::ImageMatrixFormReconstructionMethod< IntensityType >::GetReconstructionUpdateCommand ( )
virtual
template<class IntensityType = double>
virtual void itk::ImageMatrixFormReconstructionMethod< IntensityType >::Initialise ( )
throw (ExceptionObject
)
virtual

Initialise by setting the interconnects between the components.

template<class IntensityType = double>
virtual DataObjectPointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::MakeOutput ( unsigned int  idx)
virtual

Make a DataObject of the correct type to be used as the specified output.

template<class IntensityType = double>
static Pointer itk::ImageMatrixFormReconstructionMethod< IntensityType >::New ( )
static

Method for creation through the object factory.

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetMatrixFormReconstructedVolumeOrigin ( MatrixFormReconstructionPointType reconOrigin)
inline
template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetMatrixFormReconstructedVolumeSize ( MatrixFormReconstructionSizeType reconSize)
inline

Set the size, resolution and origin of the reconstructed image.

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetMatrixFormReconstructedVolumeSpacing ( MatrixFormReconstructionSpacingType reconSpacing)
inline
template<class IntensityType = double>
virtual void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetMetric ( MetricType _arg)
virtual

Set/Get the Metric.

template<class IntensityType = double>
virtual void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetOptimizer ( OptimizerType _arg)
virtual

Set/Get the Optimizer.

template<class IntensityType = double>
virtual void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetProjectionGeometry ( ProjectionGeometryType _arg)
virtual

Set/Get the Projection Geometry.

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetReconEstimate ( MatrixFormReconstructionType im3D)

Set the 3D reconstruction estimate volume.

template<class IntensityType = double>
virtual void itk::ImageMatrixFormReconstructionMethod< IntensityType >::SetReconstructionUpdateCommand ( ReconstructionUpdateCommandType _arg)
virtual
template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::StartMatrixFormReconstruction ( void  )
protected

Method that initiates the reconstruction. This will Initialise and ensure that all inputs the registration needs are in place, via a call to Initialise() will then start the optimization process via a call to StartOptimization()

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::StartOptimization ( void  )
protected

Method that initiates the optimization process. This method should not be called directly by the users. Instead, this method is intended to be invoked internally by the StartReconstruction() which is in turn invoked by the Update() method.

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::UpdateInitialParameters ( void  )

Update the initial optimisation parameters.

Update the 3D reconstruction estimate volume with the average of the existing estimate and the supplied volume.

template<class IntensityType = double>
void itk::ImageMatrixFormReconstructionMethod< IntensityType >::UpdateReconstructionEstimate ( MatrixFormReconstructionType im3D)

Update the 3D reconstruction estimate volume.


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