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::IterativeReconstructionAndRegistrationMethod< IntensityType > Class Template Reference

Base class for iterative image reconstruction and registration methods. More...

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

Public Types

typedef
IterativeReconstructionAndRegistrationMethod 
Self
 
typedef ProcessObject Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef
itk::ReconstructionAndRegistrationUpdateCommand 
ReconstructionAndRegistrationUpdateCommandType
 
typedef
ReconstructionAndRegistrationUpdateCommand::Pointer 
ReconstructionAndRegistrationUpdateCommandPointer
 
typedef
itk::ImageReconstructionMethod
< IntensityType > 
ImageReconstructionMethodType
 Define the reconstruction types. More...
 
typedef
ImageReconstructionMethodType::Pointer 
ImageReconstructionMethodPointer
 
typedef
ImageReconstructionMethodType::InputProjectionVolumeType 
InputProjectionVolumeType
 
typedef
ImageReconstructionMethodType::ReconstructionType 
ReconstructionType
 
typedef
ReconstructionType::RegionType 
ReconstructionRegionType
 
typedef
ReconstructionType::SizeType 
ReconstructionSizeType
 
typedef
ReconstructionType::IndexType 
ReconstructionIndexType
 
typedef
ReconstructionType::SpacingType 
ReconstructionSpacingType
 
typedef
ReconstructionType::PointType 
ReconstructionPointType
 
typedef ReconstructionType::Pointer ReconstructionPointer
 
typedef
ImageReconstructionMethodType::OptimizerType 
ReconstructionOptimizerType
 Type of the optimizer. More...
 
typedef
ReconstructionOptimizerType::Pointer 
ReconstructionOptimizerPointer
 
typedef
ImageReconstructionMethodType::MetricType 
ReconstructionMetricType
 The type of the metric. More...
 
typedef
ReconstructionMetricType::Pointer 
ReconstructionMetricPointer
 
typedef
ImageReconstructionMethodType::ProjectionGeometryType 
ProjectionGeometryType
 The projection geometry type. More...
 
typedef
ProjectionGeometryType::Pointer 
ProjectionGeometryPointer
 
typedef
itk::ImageRegistrationFilter
< ReconstructionType,
ReconstructionType, 3, double,
float > 
RegistrationFilterType
 Define the registration filter type. More...
 
typedef
RegistrationFilterType::Pointer 
ImageRegistrationFilterPointer
 
typedef
RegistrationFilterType::TransformType 
TransformType
 
typedef ReconstructionType ReconstructionAndRegistrationOutputType
 
typedef
ReconstructionAndRegistrationOutputType::Pointer 
ReconstructionAndRegistrationOutputPointer
 
typedef
ReconstructionAndRegistrationOutputType::ConstPointer 
ReconstructionAndRegistrationOutputConstPointer
 
typedef DataObjectDecorator
< TransformType
TransformOutputType
 
typedef
TransformOutputType::Pointer 
TransformOutputPointer
 
typedef
TransformOutputType::ConstPointer 
TransformOutputConstPointer
 

Public Member Functions

virtual const char * GetClassName () const
 
virtual void SetRegistrationFilter (RegistrationFilterType *_arg)
 
virtual RegistrationFilterTypeGetRegistrationFilter ()
 
void SetFlagUpdateReconEstimateWithAverage (bool flag)
 
bool GetFlagUpdateReconEstimateWithAverage (void)
 
virtual void SetReconstructionAndRegistrationUpdateCommand (ReconstructionAndRegistrationUpdateCommandType *_arg)
 
virtual
ReconstructionAndRegistrationUpdateCommandType
GetReconstructionAndRegistrationUpdateCommand ()
 
void SetInputFixedImageProjections (InputProjectionVolumeType *imFixedProjections)
 Set the fixed image volume of projection images. More...
 
void SetInputMovingImageProjections (InputProjectionVolumeType *imMovingProjections)
 Set the moving image volume of projection images. More...
 
void SetFixedReconEstimate (ReconstructionType *im3D)
 Set the fixed image 3D reconstruction estimate volume. More...
 
void SetMovingReconEstimate (ReconstructionType *im3D)
 Set the moving image 3D reconstruction estimate volume. More...
 
void SetReconstructedVolumeSize (ReconstructionSizeType &reconSize)
 Set the size, resolution and origin of the reconstructed image. More...
 
void SetReconstructedVolumeSpacing (ReconstructionSpacingType &reconSpacing)
 
void SetReconstructedVolumeOrigin (ReconstructionPointType &reconOrigin)
 
void SetProjectionGeometry (ProjectionGeometryType *geometry)
 Set the Projection Geometry. More...
 
void SetFixedReconstructionMetric (ReconstructionMetricType *metric)
 Set the fixed image reconstruction metric. More...
 
void SetMovingReconstructionMetric (ReconstructionMetricType *metric)
 Set the moving image reconstruction metric. More...
 
void SetFixedReconstructionOptimizer (ReconstructionOptimizerType *optimizer)
 Set the fixed image reconstruction optimizer. More...
 
void SetMovingReconstructionOptimizer (ReconstructionOptimizerType *optimizer)
 Set the moving image reconstruction optimizer. More...
 
void SetNumberOfReconRegnIterations (unsigned int n)
 Set the number of combined registration-reconstruction iterations to perform. More...
 
void GetNumberOfReconRegnIterations (void)
 Get the number of combined registration-reconstruction iterations to perform. More...
 
virtual void Initialise () throw (ExceptionObject)
 
const ReconstructionTypeGetReconOutput (unsigned int output) const
 
const ReconstructionTypeGetFixedReconOutput (void) const
 
const ReconstructionTypeGetMovingReconOutput (void) const
 
const TransformTypeGetTransformationOutput (void) const
 
const
ReconstructionAndRegistrationOutputType
GetReconstructedVolume () const
 
void GraftNthOutput (unsigned int idx, const itk::DataObject *graft)
 Graft an object onto the output of this class. More...
 
unsigned long GetMTime () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Detailed Description

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

Base class for iterative image reconstruction and registration methods.

This class defines the generic interface for an iterative image reconstruction and registration method.

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

Member Typedef Documentation

template<class IntensityType = double>
typedef SmartPointer<const Self> itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ConstPointer
template<class IntensityType = double>
typedef itk::ImageReconstructionMethod<IntensityType> itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ImageReconstructionMethodType

Define the reconstruction types.

template<class IntensityType = double>
typedef SmartPointer<Self> itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::Pointer

The projection geometry type.

template<class IntensityType = double>
typedef ReconstructionAndRegistrationOutputType::ConstPointer itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionAndRegistrationOutputConstPointer
template<class IntensityType = double>
typedef ReconstructionAndRegistrationOutputType::Pointer itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionAndRegistrationOutputPointer

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

template<class IntensityType = double>
typedef ReconstructionType::IndexType itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionIndexType

The type of the metric.

template<class IntensityType = double>
typedef ReconstructionOptimizerType::Pointer itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionOptimizerPointer

Type of the optimizer.

template<class IntensityType = double>
typedef ReconstructionType::Pointer itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionPointer
template<class IntensityType = double>
typedef ReconstructionType::PointType itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionPointType
template<class IntensityType = double>
typedef ReconstructionType::RegionType itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionRegionType
template<class IntensityType = double>
typedef ReconstructionType::SizeType itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionSizeType
template<class IntensityType = double>
typedef ReconstructionType::SpacingType itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::ReconstructionSpacingType
template<class IntensityType = double>
typedef itk::ImageRegistrationFilter<ReconstructionType, ReconstructionType, 3, double, float> itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::RegistrationFilterType

Define the registration filter type.

template<class IntensityType = double>
typedef IterativeReconstructionAndRegistrationMethod itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::Self

Standard class typedefs.

template<class IntensityType = double>
typedef ProcessObject itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::Superclass
template<class IntensityType = double>
typedef TransformOutputType::ConstPointer itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::TransformOutputConstPointer
template<class IntensityType = double>
typedef TransformOutputType::Pointer itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::TransformOutputPointer
template<class IntensityType = double>
typedef DataObjectDecorator< TransformType > itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::TransformOutputType

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

template<class IntensityType = double>
typedef RegistrationFilterType::TransformType itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::TransformType

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

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

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

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

Run-time type information (and related methods).

template<class IntensityType = double>
const ReconstructionType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetFixedReconOutput ( void  ) const
inline

Returns the result of the fixed image reconstruction

template<class IntensityType = double>
bool itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetFlagUpdateReconEstimateWithAverage ( void  )
inline
template<class IntensityType = double>
const ReconstructionType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetMovingReconOutput ( void  ) const
inline

Returns the result of the moving image reconstruction

template<class IntensityType = double>
unsigned long itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetMTime ( ) const

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

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetNumberOfReconRegnIterations ( void  )
inline

Get the number of combined registration-reconstruction iterations to perform.

template<class IntensityType = double>
const ReconstructionType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetReconOutput ( unsigned int  output) const

Returns the result of the image reconstruction

template<class IntensityType = double>
const ReconstructionAndRegistrationOutputType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetReconstructedVolume ( ) const

Returns the image resulting from the reconstruction process

template<class IntensityType = double>
virtual ReconstructionAndRegistrationUpdateCommandType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetReconstructionAndRegistrationUpdateCommand ( )
virtual
template<class IntensityType = double>
virtual RegistrationFilterType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetRegistrationFilter ( )
virtual
template<class IntensityType = double>
const TransformType* itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GetTransformationOutput ( void  ) const

Returns the transformation

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::GraftNthOutput ( unsigned int  idx,
const itk::DataObject *  graft 
)

Graft an object onto the output of this class.

template<class IntensityType = double>
virtual void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::Initialise ( )
throw (ExceptionObject
)
virtual

Initialise by setting the interconnects between the components.

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

Method for creation through the object factory.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetFixedReconEstimate ( ReconstructionType im3D)

Set the fixed image 3D reconstruction estimate volume.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetFixedReconstructionMetric ( ReconstructionMetricType metric)
inline

Set the fixed image reconstruction metric.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetFixedReconstructionOptimizer ( ReconstructionOptimizerType optimizer)
inline

Set the fixed image reconstruction optimizer.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetFlagUpdateReconEstimateWithAverage ( bool  flag)
inline

Set/Get the 'update 3D reconstruction estimate volume with average' flag

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetInputFixedImageProjections ( InputProjectionVolumeType imFixedProjections)

Set the fixed image volume of projection images.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetInputMovingImageProjections ( InputProjectionVolumeType imMovingProjections)

Set the moving image volume of projection images.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetMovingReconEstimate ( ReconstructionType im3D)

Set the moving image 3D reconstruction estimate volume.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetMovingReconstructionMetric ( ReconstructionMetricType metric)
inline

Set the moving image reconstruction metric.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetMovingReconstructionOptimizer ( ReconstructionOptimizerType optimizer)
inline

Set the moving image reconstruction optimizer.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetNumberOfReconRegnIterations ( unsigned int  n)
inline

Set the number of combined registration-reconstruction iterations to perform.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetProjectionGeometry ( ProjectionGeometryType geometry)
inline

Set the Projection Geometry.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetReconstructedVolumeOrigin ( ReconstructionPointType reconOrigin)
template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetReconstructedVolumeSize ( ReconstructionSizeType reconSize)

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

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetReconstructedVolumeSpacing ( ReconstructionSpacingType reconSpacing)
template<class IntensityType = double>
virtual void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetReconstructionAndRegistrationUpdateCommand ( ReconstructionAndRegistrationUpdateCommandType _arg)
virtual
template<class IntensityType = double>
virtual void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::SetRegistrationFilter ( RegistrationFilterType _arg)
virtual
template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< 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 StartReconstructionAndRegistration() which is in turn invoked by the Update() method.

template<class IntensityType = double>
void itk::IterativeReconstructionAndRegistrationMethod< IntensityType >::StartReconstructionAndRegistration ( void  )
protected

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


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