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

Public Types

typedef
ForwardProjectionWithAffineTransformDifferenceFilter 
Self
 
typedef ImageToImageFilter
< Image< IntensityType, 3 >
, Image< IntensityType, 3 > > 
Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef Image< IntensityType, 3 > InputVolumeType
 
typedef InputVolumeType::Pointer InputVolumePointer
 
typedef
InputVolumeType::ConstPointer 
InputVolumeConstPointer
 
typedef InputVolumeType::RegionType InputVolumeRegionType
 
typedef InputVolumeType::PixelType InputVolumePixelType
 
typedef InputVolumeType::SizeType InputVolumeSizeType
 
typedef
InputVolumeType::SpacingType 
InputVolumeSpacingType
 
typedef InputVolumeType::PointType InputVolumePointType
 
typedef Image< IntensityType, 3 > InputProjectionVolumeType
 
typedef
InputProjectionVolumeType::Pointer 
InputProjectionVolumePointer
 
typedef
InputProjectionVolumeType::RegionType 
InputProjectionVolumeRegionType
 
typedef
InputProjectionVolumeType::PixelType 
InputProjectionVolumePixelType
 
typedef
InputProjectionVolumeType::SizeType 
InputProjectionVolumeSizeType
 
typedef
InputProjectionVolumeType::SpacingType 
InputProjectionVolumeSpacingType
 
typedef
InputProjectionVolumeType::PointType 
InputProjectionVolumePointType
 
typedef Image< IntensityType, 3 > OutputBackProjectedDifferencesType
 
typedef
OutputBackProjectedDifferencesType::Pointer 
OutputBackProjectedDifferencesPointer
 
typedef
OutputBackProjectedDifferencesType::RegionType 
OutputBackProjectedDifferencesRegionType
 
typedef
OutputBackProjectedDifferencesType::PixelType 
OutputBackProjectedDifferencesPixelType
 
typedef
OutputBackProjectedDifferencesType::SizeType 
OutputBackProjectedDifferencesSizeType
 
typedef
OutputBackProjectedDifferencesType::SpacingType 
OutputBackProjectedDifferencesSpacingType
 
typedef
OutputBackProjectedDifferencesType::PointType 
OutputBackProjectedDifferencesPointType
 
typedef
itk::EulerAffineTransform
< double, 3, 3 > 
EulerAffineTransformType
 
typedef
EulerAffineTransformType::Pointer 
EulerAffineTransformPointer
 
typedef
itk::PerspectiveProjectionTransform
< double > 
PerspectiveProjectionTransformType
 
typedef
PerspectiveProjectionTransformType::Pointer 
PerspectiveProjectionTransformPointer
 
typedef
itk::CreateForwardBackwardProjectionMatrix
< IntensityType > 
CreateForwardBackwardProjectionMatrixType
 
typedef
CreateForwardBackwardProjectionMatrixType::Pointer 
CreateForwardBackwardProjectionMatrixPointer
 
typedef
CreateForwardBackwardProjectionMatrixType::OutputImageType 
ForwardProjectorOutputImageType
 
typedef
ForwardProjectorOutputImageType::Pointer 
ForwardProjectorOutputImagePointer
 
typedef
ForwardProjectorOutputImageType::RegionType 
ForwardProjectorOutputImageRegionType
 
typedef
ForwardProjectorOutputImageType::SizeType 
ForwardProjectorOutputImageSizeType
 
typedef
ForwardProjectorOutputImageType::SpacingType 
ForwardProjectorOutputImageSpacingType
 
typedef
ForwardProjectorOutputImageType::PointType 
ForwardProjectorOutputImagePointType
 
typedef
ForwardProjectorOutputImageType::PixelType 
ForwardProjectorOutputImagePixelType
 
typedef
ForwardProjectorOutputImageType::IndexType 
ForwardProjectorOutputImageIndexType
 
typedef
itk::Subtract2DImageFromVolumeSliceFilter
< IntensityType > 
Subtract2DImageFromVolumeSliceFilterType
 
typedef
Subtract2DImageFromVolumeSliceFilterType::Pointer 
Subtract2DImageFromVolumeSliceFilterPointer
 
typedef
itk::BackwardImageProjector2Dto3D
< IntensityType > 
BackwardImageProjector2Dto3DType
 
typedef
BackwardImageProjector2Dto3DType::Pointer 
BackwardImageProjector2Dto3DPointer
 
typedef
itk::ProjectionGeometry
< IntensityType > 
ProjectionGeometryType
 
typedef
ProjectionGeometryType::Pointer 
ProjectionGeometryPointer
 

Public Member Functions

virtual const char * GetClassName () const
 
void SetInputVolume (InputVolumeType *im3D)
 Set the 3D reconstruction estimate volume input. More...
 
void SetInputProjectionVolumeOne (InputProjectionVolumeType *im2D)
 Set the input 3D volume of projection image set one. More...
 
void SetInputProjectionVolumeTwo (InputProjectionVolumeType *im2D)
 Set the input 3D volume of projection image set two. More...
 
virtual void SetProjectionGeometry (ProjectionGeometryType *_arg)
 Get/Set the projection geometry. More...
 
virtual ProjectionGeometryTypeGetProjectionGeometry ()
 
InputVolumePointer GetPointerToInputVolume (void)
 
 itkStaticConstMacro (InputVolumeDimension, unsigned int, InputVolumeType::ImageDimension)
 
 itkStaticConstMacro (OutputBackProjectedDifferencesDimension, unsigned int, OutputBackProjectedDifferencesType::ImageDimension)
 
virtual void GenerateInputRequestedRegion ()
 
virtual void EnlargeOutputRequestedRegion (DataObject *output)
 
void Initialise (void)
 Initialise the image pipeline. More...
 
void ClearVolumePriorToNextBackProjection (void)
 Set the backprojection volume to zero prior to the next back-projection. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ForwardProjectionWithAffineTransformDifferenceFilter ()
 
virtual ~ForwardProjectionWithAffineTransformDifferenceFilter ()
 
void PrintSelf (std::ostream &os, Indent indent) const
 
void GenerateData ()
 The function called when the filter is executed. More...
 

Protected Attributes

bool m_FlagPipelineInitialised
 Flag indicating whether the filter has been initialised. More...
 
unsigned int m_NumberOfProjections
 The number of projection images. More...
 
CreateForwardBackwardProjectionMatrixPointer m_ForwardProjectorOne
 The forward-projector one. More...
 
Subtract2DImageFromVolumeSliceFilterPointer m_SubtractProjectionFromEstimateOne
 A filter to perform the subtraction one. More...
 
BackwardImageProjector2Dto3DPointer m_BackProjectorOne
 The back-projector one. More...
 
CreateForwardBackwardProjectionMatrixPointer m_ForwardProjectorTwo
 The forward-projector two. More...
 
Subtract2DImageFromVolumeSliceFilterPointer m_SubtractProjectionFromEstimateTwo
 A filter to perform the subtraction two. More...
 
BackwardImageProjector2Dto3DPointer m_BackProjectorTwo
 The back-projector two. More...
 
ProjectionGeometryPointer m_ProjectionGeometry
 The specific projection geometry to be used. More...
 

Detailed Description

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

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

This class performs a forward projection of the input volume, calculates the difference between this projection and the corresponding slice of the input volume of 2D projection images and back-projects these differences into the output 3D volume. This process is repeated for each slice of the input volume of 2D projection images and the back-projected differences are summed.

Member Typedef Documentation

template<class IntensityType = float>
typedef itk::BackwardImageProjector2Dto3D<IntensityType> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::BackwardImageProjector2Dto3DType
template<class IntensityType = float>
typedef SmartPointer<const Self> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::ConstPointer
template<class IntensityType = float>
typedef itk::EulerAffineTransform<double, 3, 3> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::EulerAffineTransformType
template<class IntensityType = float>
typedef ForwardProjectorOutputImageType::Pointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::ForwardProjectorOutputImagePointer
template<class IntensityType = float>
typedef ForwardProjectorOutputImageType::PointType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::ForwardProjectorOutputImagePointType
template<class IntensityType = float>
typedef ForwardProjectorOutputImageType::SpacingType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::ForwardProjectorOutputImageSpacingType
template<class IntensityType = float>
typedef InputProjectionVolumeType::Pointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputProjectionVolumePointer
template<class IntensityType = float>
typedef InputProjectionVolumeType::PointType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputProjectionVolumePointType
template<class IntensityType = float>
typedef InputProjectionVolumeType::SpacingType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputProjectionVolumeSpacingType
template<class IntensityType = float>
typedef Image<IntensityType, 3> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputProjectionVolumeType
template<class IntensityType = float>
typedef InputVolumeType::ConstPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputVolumeConstPointer
template<class IntensityType = float>
typedef InputVolumeType::Pointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputVolumePointer
template<class IntensityType = float>
typedef InputVolumeType::PointType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputVolumePointType
template<class IntensityType = float>
typedef InputVolumeType::SizeType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputVolumeSizeType
template<class IntensityType = float>
typedef InputVolumeType::SpacingType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputVolumeSpacingType
template<class IntensityType = float>
typedef Image<IntensityType, 3> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::InputVolumeType

Some convenient typedefs.

template<class IntensityType = float>
typedef OutputBackProjectedDifferencesType::Pointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesPointer
template<class IntensityType = float>
typedef OutputBackProjectedDifferencesType::PointType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesPointType
template<class IntensityType = float>
typedef OutputBackProjectedDifferencesType::SpacingType itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesSpacingType
template<class IntensityType = float>
typedef Image<IntensityType, 3> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesType
template<class IntensityType = float>
typedef SmartPointer<Self> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::Pointer
template<class IntensityType = float>
typedef itk::ProjectionGeometry<IntensityType> itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::ProjectionGeometryType

Standard class typedefs.

template<class IntensityType = float>
typedef ImageToImageFilter<Image< IntensityType, 3>, Image< IntensityType, 3> > itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::Superclass

Constructor & Destructor Documentation

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

Member Function Documentation

template<class IntensityType = float>
void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::ClearVolumePriorToNextBackProjection ( void  )
inline

Set the backprojection volume to zero prior to the next back-projection.

template<class IntensityType = float>
virtual void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::EnlargeOutputRequestedRegion ( DataObject *  output)
virtual
template<class IntensityType = float>
void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::GenerateData ( )
protected

The function called when the filter is executed.

template<class IntensityType = float>
virtual void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::GenerateInputRequestedRegion ( )
virtual

Rather than calculate the input requested region for a particular back-projection (which might take longer than the actual projection), we simply set the input requested region to the entire area of the current 3D volume.

See also
ProcessObject::GenerateInputRequestedRegion()
template<class IntensityType = float>
virtual const char* itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::GetClassName ( ) const
virtual

Run-time type information (and related methods).

template<class IntensityType = float>
InputVolumePointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::GetPointerToInputVolume ( void  )

Return a pointer to the input volume

template<class IntensityType = float>
virtual ProjectionGeometryType* itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::GetProjectionGeometry ( )
virtual
template<class IntensityType = float>
void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::Initialise ( void  )

Initialise the image pipeline.

template<class IntensityType = float>
itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::itkStaticConstMacro ( InputVolumeDimension  ,
unsigned  int,
InputVolumeType::ImageDimension   
)

ImageDimension enumeration

template<class IntensityType = float>
itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::itkStaticConstMacro ( OutputBackProjectedDifferencesDimension  ,
unsigned  int,
OutputBackProjectedDifferencesType::ImageDimension   
)
template<class IntensityType = float>
static Pointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::New ( )
static

Method for creation through the object factory.

template<class IntensityType = float>
void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
protected
template<class IntensityType = float>
void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::SetInputProjectionVolumeOne ( InputProjectionVolumeType im2D)

Set the input 3D volume of projection image set one.

template<class IntensityType = float>
void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::SetInputProjectionVolumeTwo ( InputProjectionVolumeType im2D)

Set the input 3D volume of projection image set two.

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

Set the 3D reconstruction estimate volume input.

template<class IntensityType = float>
virtual void itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::SetProjectionGeometry ( ProjectionGeometryType _arg)
virtual

Get/Set the projection geometry.

Member Data Documentation

template<class IntensityType = float>
BackwardImageProjector2Dto3DPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_BackProjectorOne
protected

The back-projector one.

template<class IntensityType = float>
BackwardImageProjector2Dto3DPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_BackProjectorTwo
protected

The back-projector two.

template<class IntensityType = float>
bool itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_FlagPipelineInitialised
protected

Flag indicating whether the filter has been initialised.

template<class IntensityType = float>
CreateForwardBackwardProjectionMatrixPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_ForwardProjectorOne
protected

The forward-projector one.

template<class IntensityType = float>
CreateForwardBackwardProjectionMatrixPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_ForwardProjectorTwo
protected

The forward-projector two.

template<class IntensityType = float>
unsigned int itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_NumberOfProjections
protected

The number of projection images.

template<class IntensityType = float>
ProjectionGeometryPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_ProjectionGeometry
protected

The specific projection geometry to be used.

template<class IntensityType = float>
Subtract2DImageFromVolumeSliceFilterPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_SubtractProjectionFromEstimateOne
protected

A filter to perform the subtraction one.

template<class IntensityType = float>
Subtract2DImageFromVolumeSliceFilterPointer itk::ForwardProjectionWithAffineTransformDifferenceFilter< IntensityType >::m_SubtractProjectionFromEstimateTwo
protected

A filter to perform the subtraction two.


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