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::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType > Class Template Reference

Base class for Image Reconstruction Methods. More...

Inheritance diagram for itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >:
Inheritance graph
[legend]
Collaboration diagram for itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >:
Collaboration graph
[legend]

Public Types

typedef
SimultaneousUnconstrainedMatrixReconRegnMethod 
Self
 
typedef ProcessObject Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef
itk::ReconstructionUpdateCommand 
ReconstructionUpdateCommandType
 
typedef
ReconstructionUpdateCommand::Pointer 
ReconstructionUpdateCommandPointer
 
typedef vnl_vector< IntensityType > VectorType
 Type of the vector to store the two input vectors. More...
 
typedef Image< IntensityType, 3 > SimultaneousUnconstrainedReconRegnType
 
typedef
SimultaneousUnconstrainedReconRegnType::Pointer 
SimultaneousUnconstrainedReconRegnPointer
 
typedef
SimultaneousUnconstrainedReconRegnType::RegionType 
SimultaneousUnconstrainedReconRegnRegionType
 
typedef
SimultaneousUnconstrainedReconRegnType::PixelType 
SimultaneousUnconstrainedReconRegnPixelType
 
typedef
SimultaneousUnconstrainedReconRegnType::SizeType 
SimultaneousUnconstrainedReconRegnSizeType
 
typedef
SimultaneousUnconstrainedReconRegnType::SpacingType 
SimultaneousUnconstrainedReconRegnSpacingType
 
typedef
SimultaneousUnconstrainedReconRegnType::PointType 
SimultaneousUnconstrainedReconRegnPointType
 
typedef
SimultaneousUnconstrainedReconRegnType::IndexType 
SimultaneousUnconstrainedReconRegnIndexType
 
typedef
SingleValuedNonLinearOptimizer 
OptimizerType
 Type of the optimizer. More...
 
typedef OptimizerType::Pointer OptimizerPointer
 
typedef
SimultaneousUnconstrainedMatrixReconRegnMetric
< double, float > 
MetricType
 The type of the metric. More...
 
typedef MetricType::Pointer MetricPointer
 
typedef
itk::ProjectionGeometry
< IntensityType > 
ProjectionGeometryType
 The projection geometry type. More...
 
typedef
ProjectionGeometryType::Pointer 
ProjectionGeometryPointer
 
typedef MetricType::ParametersType ParametersType
 
typedef
SimultaneousUnconstrainedReconRegnType 
SimultaneousUnconstrainedReconRegnOutputType
 
typedef
SimultaneousUnconstrainedReconRegnOutputType::Pointer 
SimultaneousUnconstrainedReconRegnOutputPointer
 
typedef
SimultaneousUnconstrainedReconRegnOutputType::ConstPointer 
SimultaneousUnconstrainedReconRegnOutputConstPointer
 

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 SetSimultaneousUnconReconRegnVolumeSize (SimultaneousUnconstrainedReconRegnSizeType &reconRegnSize)
 Set the 3D reconstruction estimate volume. More...
 
void SetSimultaneousUnconReconRegnVolumeSpacing (SimultaneousUnconstrainedReconRegnSpacingType &reconRegnSpacing)
 
void SetSimultaneousUnconReconRegnVolumeOrigin (SimultaneousUnconstrainedReconRegnPointType &reconRegnOrigin)
 
virtual void Initialise () throw (ExceptionObject)
 
SimultaneousUnconstrainedReconRegnOutputTypeGetOutput ()
 
SimultaneousUnconstrainedReconRegnOutputTypeGetReconstructedVolume () const
 
virtual DataObjectPointer MakeOutput (unsigned long int idx)
 
unsigned long GetMTime () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Detailed Description

template<class TScalarType = double, class IntensityType = float>
class itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, 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 TScalarType = double, class IntensityType = float>
typedef SmartPointer<const Self> itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::ConstPointer
template<class TScalarType = double, class IntensityType = float>
typedef MetricType::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::MetricPointer
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedMatrixReconRegnMetric<double, float> itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::MetricType

The type of the metric.

template<class TScalarType = double, class IntensityType = float>
typedef OptimizerType::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::OptimizerPointer
template<class TScalarType = double, class IntensityType = float>
typedef SingleValuedNonLinearOptimizer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::OptimizerType

Type of the optimizer.

template<class TScalarType = double, class IntensityType = float>
typedef MetricType::ParametersType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, 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 TScalarType = double, class IntensityType = float>
typedef SmartPointer<Self> itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::Pointer
template<class TScalarType = double, class IntensityType = float>
typedef ProjectionGeometryType::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::ProjectionGeometryPointer
template<class TScalarType = double, class IntensityType = float>
typedef itk::ProjectionGeometry<IntensityType> itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::ProjectionGeometryType

The projection geometry type.

template<class TScalarType = double, class IntensityType = float>
typedef ReconstructionUpdateCommand::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::ReconstructionUpdateCommandPointer
template<class TScalarType = double, class IntensityType = float>
typedef itk::ReconstructionUpdateCommand itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::ReconstructionUpdateCommandType
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedMatrixReconRegnMethod itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::Self

Standard class typedefs.

template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::IndexType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnIndexType
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnOutputType::ConstPointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnOutputConstPointer
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnOutputType::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnOutputPointer
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnOutputType

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

template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::PixelType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnPixelType
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnPointer
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::PointType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnPointType
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::RegionType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnRegionType
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::SizeType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnSizeType
template<class TScalarType = double, class IntensityType = float>
typedef SimultaneousUnconstrainedReconRegnType::SpacingType itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnSpacingType
template<class TScalarType = double, class IntensityType = float>
typedef Image<IntensityType, 3> itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedReconRegnType

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

template<class TScalarType = double, class IntensityType = float>
typedef ProcessObject itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::Superclass
template<class TScalarType = double, class IntensityType = float>
typedef vnl_vector<IntensityType> itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::VectorType

Type of the vector to store the two input vectors.

Constructor & Destructor Documentation

template<class TScalarType = double, class IntensityType = float>
itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SimultaneousUnconstrainedMatrixReconRegnMethod ( )
protected
template<class TScalarType = double, class IntensityType = float>
virtual itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::~SimultaneousUnconstrainedMatrixReconRegnMethod ( )
inlineprotectedvirtual

Member Function Documentation

template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GenerateData ( )
protected

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

template<class TScalarType = double, class IntensityType = float>
virtual void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GenerateOutputInformation ( )
inlineprotectedvirtual

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

template<class TScalarType = double, class IntensityType = float>
virtual const char* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class TScalarType = double, class IntensityType = float>
virtual MetricType* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetMetric ( )
virtual
template<class TScalarType = double, class IntensityType = float>
unsigned long itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetMTime ( ) const

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

template<class TScalarType = double, class IntensityType = float>
virtual OptimizerType* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetOptimizer ( )
virtual
template<class TScalarType = double, class IntensityType = float>
SimultaneousUnconstrainedReconRegnOutputType* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetOutput ( )

Returns the input image Returns the input image Returns the image resulting from the reconstruction process

template<class TScalarType = double, class IntensityType = float>
virtual ProjectionGeometryType* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetProjectionGeometry ( )
virtual
template<class TScalarType = double, class IntensityType = float>
SimultaneousUnconstrainedReconRegnOutputType* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetReconstructedVolume ( ) const

Returns the image resulting from the reconstruction process

template<class TScalarType = double, class IntensityType = float>
virtual ReconstructionUpdateCommandType* itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::GetReconstructionUpdateCommand ( )
virtual
template<class TScalarType = double, class IntensityType = float>
virtual void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::Initialise ( )
throw (ExceptionObject
)
virtual

Initialise by setting the interconnects between the components.

template<class TScalarType = double, class IntensityType = float>
virtual DataObjectPointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::MakeOutput ( unsigned long int  idx)
virtual

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

template<class TScalarType = double, class IntensityType = float>
static Pointer itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::New ( )
static

Method for creation through the object factory.

template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class TScalarType = double, class IntensityType = float>
virtual void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetMetric ( MetricType _arg)
virtual

Set/Get the Metric.

template<class TScalarType = double, class IntensityType = float>
virtual void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetOptimizer ( OptimizerType _arg)
virtual

Set/Get the Optimizer.

template<class TScalarType = double, class IntensityType = float>
virtual void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetProjectionGeometry ( ProjectionGeometryType _arg)
virtual

Set/Get the Projection Geometry.

template<class TScalarType = double, class IntensityType = float>
virtual void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetReconstructionUpdateCommand ( ReconstructionUpdateCommandType _arg)
virtual
template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetSimultaneousUnconReconRegnVolumeOrigin ( SimultaneousUnconstrainedReconRegnPointType reconRegnOrigin)
inline
template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetSimultaneousUnconReconRegnVolumeSize ( SimultaneousUnconstrainedReconRegnSizeType reconRegnSize)
inline

Set the 3D reconstruction estimate volume.

Update the 3D reconstruction estimate volume Update the 3D reconstruction estimate volume with the average of the existing estimate and the supplied volume. Update the initial optimisation parameters Set the two sets of input projection images (y_1 and y_2) Set the size, resolution and origin of the reconstructed image

template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::SetSimultaneousUnconReconRegnVolumeSpacing ( SimultaneousUnconstrainedReconRegnSpacingType reconRegnSpacing)
inline
template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, 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 StartSimultaneousUnconReconRegn() which is in turn invoked by the Update() method.

template<class TScalarType = double, class IntensityType = float>
void itk::SimultaneousUnconstrainedMatrixReconRegnMethod< TScalarType, IntensityType >::StartSimultaneousUnconReconRegn ( 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()


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