NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Class to compute the difference between a reconstruction estimate and the target set of 2D projection images. More...
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... | |
virtual void | SetProjectionGeometry (ProjectionGeometryType *_arg) |
Get/Set the projection geometry. More... | |
virtual ProjectionGeometryType * | GetProjectionGeometry () |
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 | |
ForwardAndBackProjectionDifferenceFilter () | |
virtual | ~ForwardAndBackProjectionDifferenceFilter () |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | GenerateData () |
The function called when the filter is executed. More... | |
virtual void | VerifyInputInformation () |
Protected Attributes | |
bool | m_FlagPipelineInitialised |
Flag indicating whether the filter has been initialised. More... | |
unsigned int | m_NumberOfProjections |
The number of projection images. More... | |
ForwardImageProjector3Dto2DPointer | m_ForwardProjector |
The forward-projector. More... | |
Subtract2DImageFromVolumeSliceFilterPointer | m_SubtractProjectionFromEstimate |
A filter to perform the subtraction. More... | |
BackwardImageProjector2Dto3DPointer | m_BackProjector |
The back-projector. More... | |
ProjectionGeometryPointer | m_ProjectionGeometry |
The specific projection geometry to be used. More... | |
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.
typedef BackwardImageProjector2Dto3DType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::BackwardImageProjector2Dto3DPointer |
typedef itk::BackwardImageProjector2Dto3D<IntensityType> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::BackwardImageProjector2Dto3DType |
typedef SmartPointer<const Self> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ConstPointer |
typedef EulerAffineTransformType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::EulerAffineTransformPointer |
typedef itk::EulerAffineTransform<double, 3, 3> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::EulerAffineTransformType |
typedef ForwardImageProjector3Dto2DType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardImageProjector3Dto2DPointer |
typedef itk::ForwardImageProjector3Dto2D<IntensityType> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardImageProjector3Dto2DType |
typedef ForwardProjectorOutputImageType::IndexType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImageIndexType |
typedef ForwardProjectorOutputImageType::PixelType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImagePixelType |
typedef ForwardProjectorOutputImageType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImagePointer |
typedef ForwardProjectorOutputImageType::PointType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImagePointType |
typedef ForwardProjectorOutputImageType::RegionType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImageRegionType |
typedef ForwardProjectorOutputImageType::SizeType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImageSizeType |
typedef ForwardProjectorOutputImageType::SpacingType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImageSpacingType |
typedef ForwardImageProjector3Dto2DType::OutputImageType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ForwardProjectorOutputImageType |
typedef InputProjectionVolumeType::PixelType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumePixelType |
typedef InputProjectionVolumeType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumePointer |
typedef InputProjectionVolumeType::PointType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumePointType |
typedef InputProjectionVolumeType::RegionType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumeRegionType |
typedef InputProjectionVolumeType::SizeType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumeSizeType |
typedef InputProjectionVolumeType::SpacingType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumeSpacingType |
typedef Image<IntensityType, 3> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputProjectionVolumeType |
typedef InputVolumeType::ConstPointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumeConstPointer |
typedef InputVolumeType::PixelType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumePixelType |
typedef InputVolumeType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumePointer |
typedef InputVolumeType::PointType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumePointType |
typedef InputVolumeType::RegionType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumeRegionType |
typedef InputVolumeType::SizeType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumeSizeType |
typedef InputVolumeType::SpacingType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumeSpacingType |
typedef Image<IntensityType, 3> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::InputVolumeType |
Some convenient typedefs.
typedef OutputBackProjectedDifferencesType::PixelType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesPixelType |
typedef OutputBackProjectedDifferencesType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesPointer |
typedef OutputBackProjectedDifferencesType::PointType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesPointType |
typedef OutputBackProjectedDifferencesType::RegionType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesRegionType |
typedef OutputBackProjectedDifferencesType::SizeType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesSizeType |
typedef OutputBackProjectedDifferencesType::SpacingType itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesSpacingType |
typedef Image<IntensityType, 3> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::OutputBackProjectedDifferencesType |
typedef PerspectiveProjectionTransformType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::PerspectiveProjectionTransformPointer |
typedef itk::PerspectiveProjectionTransform<double> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::PerspectiveProjectionTransformType |
typedef SmartPointer<Self> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::Pointer |
typedef ProjectionGeometryType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ProjectionGeometryPointer |
typedef itk::ProjectionGeometry<IntensityType> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::ProjectionGeometryType |
typedef ForwardAndBackProjectionDifferenceFilter itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::Self |
Standard class typedefs.
typedef Subtract2DImageFromVolumeSliceFilterType::Pointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::Subtract2DImageFromVolumeSliceFilterPointer |
typedef itk::Subtract2DImageFromVolumeSliceFilter<IntensityType> itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::Subtract2DImageFromVolumeSliceFilterType |
typedef ImageToImageFilter<Image< IntensityType, 3>, Image< IntensityType, 3> > itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::Superclass |
|
protected |
|
inlineprotectedvirtual |
|
inline |
Set the backprojection volume to zero prior to the next back-projection.
|
virtual |
|
protected |
The function called when the filter is executed.
|
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.
|
virtual |
Run-time type information (and related methods).
InputVolumePointer itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::GetPointerToInputVolume | ( | void | ) |
Return a pointer to the input volume
|
virtual |
void itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::Initialise | ( | void | ) |
Initialise the image pipeline.
itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::itkStaticConstMacro | ( | InputVolumeDimension | , |
unsigned | int, | ||
InputVolumeType::ImageDimension | |||
) |
ImageDimension enumeration
itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::itkStaticConstMacro | ( | OutputBackProjectedDifferencesDimension | , |
unsigned | int, | ||
OutputBackProjectedDifferencesType::ImageDimension | |||
) |
|
static |
Method for creation through the object factory.
|
protected |
void itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::SetInputProjectionVolume | ( | InputProjectionVolumeType * | im2D | ) |
Set the input 3D volume of projection image.
void itk::ForwardAndBackProjectionDifferenceFilter< IntensityType >::SetInputVolume | ( | InputVolumeType * | im3D | ) |
Set the 3D reconstruction estimate volume input.
|
virtual |
Get/Set the projection geometry.
|
inlineprotectedvirtual |
We don't expect the input volume and projection images to be in the same space so we override this method
|
protected |
The back-projector.
|
protected |
Flag indicating whether the filter has been initialised.
|
protected |
The forward-projector.
|
protected |
The number of projection images.
|
protected |
The specific projection geometry to be used.
|
protected |
A filter to perform the subtraction.