NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Class to project a 3D image into 2D. More...
Classes | |
struct | BackwardImageProjectorThreadStruct |
Public Member Functions | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (InputImageDimension, unsigned int, 2) | |
itkStaticConstMacro (OutputImageDimension, unsigned int, 3) | |
virtual void | GenerateOutputInformation () |
virtual void | GenerateInputRequestedRegion () |
virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
void | SetBackProjectedImageSize (OutputImageSizeType &outImageSize) |
Set the size in voxels of the output back-projected image. More... | |
void | SetBackProjectedImageSpacing (OutputImageSpacingType &outImageSpacing) |
Set the resolution in mm of the output back-projected image. More... | |
void | SetBackProjectedImageOrigin (OutputImagePointType &outImageOrigin) |
Set the origin of the output back-projected image. More... | |
void | SetSingleThreadedExecution (void) |
For debugging purposes, set single threaded execution. More... | |
void | ClearVolumePriorToNextBackProjection (void) |
Set the backprojection volume to zero prior to the next back-projection. More... | |
Public Member Functions inherited from itk::ImageProjectionBaseClass2D3D< Image< IntensityType, 2 >, Image< IntensityType, 3 > > | |
itkStaticConstMacro (InputImageDimension, unsigned int, Image< IntensityType, 2 >::ImageDimension) | |
itkStaticConstMacro (OutputImageDimension, unsigned int, Image< IntensityType, 3 >::ImageDimension) | |
virtual void | SetAffineTransform (EulerAffineTransformType *_arg) |
Set the affine transformation. More... | |
virtual EulerAffineTransformType * | GetAffineTransform () |
Get the affine transformation. More... | |
virtual void | SetPerspectiveTransform (PerspectiveProjectionTransformType *_arg) |
Set the perspective transformation. More... | |
virtual PerspectiveProjectionTransformType * | GetPerspectiveTransform () |
Get the perspective transformation. More... | |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::ImageProjectionBaseClass2D3D< Image< IntensityType, 2 >, Image< IntensityType, 3 > > | |
static Pointer | New () |
Protected Member Functions | |
BackwardImageProjector2Dto3D () | |
virtual | ~BackwardImageProjector2Dto3D () |
void | PrintSelf (std::ostream &os, Indent indent) const |
void | ClearVolume (void) |
Do we need to set the volume to zero? More... | |
virtual void | BeforeThreadedGenerateData (void) |
virtual void | AfterThreadedGenerateData (void) |
void | GenerateData () |
void | ThreadedGenerateData (const InputImageRegionType &inputRegionForThread, ThreadIdType threadId) |
int | SplitRequestedRegion (int i, int num, InputImageRegionType &splitRegion) |
Protected Member Functions inherited from itk::ImageProjectionBaseClass2D3D< Image< IntensityType, 2 >, Image< IntensityType, 3 > > | |
ImageProjectionBaseClass2D3D () | |
virtual | ~ImageProjectionBaseClass2D3D () |
void | PrintSelf (std::ostream &os, Indent indent) const |
Static Protected Member Functions | |
static ITK_THREAD_RETURN_TYPE | BackwardImageProjectorThreaderCallback (void *arg) |
Protected Attributes | |
OutputImageSizeType | m_OutputImageSize |
The size of the output projected image. More... | |
OutputImageSpacingType | m_OutputImageSpacing |
The resolution of the output projected image. More... | |
OutputImagePointType | m_OutputImageOrigin |
The origin of the output projected image. More... | |
bool | m_FlagMultiThreadedExecution |
Flag to turn multithreading on or off. More... | |
bool | m_ClearBackProjectedVolume |
Flag that back-projected volume should be filled with zeros. More... | |
OutputImagePointer | m_VoxelRayCount |
Protected Attributes inherited from itk::ImageProjectionBaseClass2D3D< Image< IntensityType, 2 >, Image< IntensityType, 3 > > | |
EulerAffineTransformType::Pointer | m_AffineTransform |
The affine transform. More... | |
PerspectiveProjectionTransformType::Pointer | m_PerspectiveTransform |
Class to project a 3D image into 2D.
typedef SmartPointer<const Self> itk::BackwardImageProjector2Dto3D< IntensityType >::ConstPointer |
typedef InputImageType::ConstPointer itk::BackwardImageProjector2Dto3D< IntensityType >::InputImageConstPointer |
typedef InputImageType::IndexType itk::BackwardImageProjector2Dto3D< IntensityType >::InputImageIndexType |
typedef InputImageType::PixelType itk::BackwardImageProjector2Dto3D< IntensityType >::InputImagePixelType |
typedef InputImageType::Pointer itk::BackwardImageProjector2Dto3D< IntensityType >::InputImagePointer |
typedef InputImageType::PointType itk::BackwardImageProjector2Dto3D< IntensityType >::InputImagePointType |
typedef InputImageType::RegionType itk::BackwardImageProjector2Dto3D< IntensityType >::InputImageRegionType |
typedef InputImageType::SizeType itk::BackwardImageProjector2Dto3D< IntensityType >::InputImageSizeType |
typedef InputImageType::SpacingType itk::BackwardImageProjector2Dto3D< IntensityType >::InputImageSpacingType |
typedef Image<IntensityType, 2> itk::BackwardImageProjector2Dto3D< IntensityType >::InputImageType |
Some convenient typedefs.
typedef OutputImageType::ConstPointer itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImageConstPointer |
typedef OutputImageType::PixelType itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImagePixelType |
typedef OutputImageType::Pointer itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImagePointer |
typedef OutputImageType::PointType itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImagePointType |
typedef OutputImageType::RegionType itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImageRegionType |
typedef OutputImageType::SizeType itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImageSizeType |
typedef OutputImageType::SpacingType itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImageSpacingType |
typedef Image<IntensityType, 3> itk::BackwardImageProjector2Dto3D< IntensityType >::OutputImageType |
typedef SmartPointer<Self> itk::BackwardImageProjector2Dto3D< IntensityType >::Pointer |
typedef BackwardImageProjector2Dto3D itk::BackwardImageProjector2Dto3D< IntensityType >::Self |
Standard class typedefs.
typedef ImageProjectionBaseClass2D3D<Image< IntensityType, 2>, Image< IntensityType, 3> > itk::BackwardImageProjector2Dto3D< IntensityType >::Superclass |
|
protected |
|
inlineprotectedvirtual |
|
protectedvirtual |
Perform some operation immediately after the back projection.
|
staticprotected |
Static function used as a "callback" by the MultiThreader. The threading library will call this routine for each thread, which will delegate the control to ThreadedGenerateData().
|
protectedvirtual |
Initialise data prior to back projection (such as filling the back-projected volume with zeros).
|
protected |
Do we need to set the volume to zero?
|
inline |
Set the backprojection volume to zero prior to the next back-projection.
|
virtual |
|
protected |
The version in ImageSource is overloaded here because we want to thread execution by splitting the input 2D image not the output 3D volume.
|
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 2D input image region. Therefore needs to provide an implementation for GenerateInputRequestedRegion() in order to inform the pipeline execution model.
|
virtual |
BackwardImageProjector2Dto3D produces a 3D ouput image which is a different resolution and with a different pixel spacing than its 2D input image (obviously). As such, BackwardImageProjector3Dto2D needs to provide an implementation for GenerateOutputInformation() in order to inform the pipeline execution model. The original documentation of this method is below.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageProjectionBaseClass2D3D< Image< IntensityType, 2 >, Image< IntensityType, 3 > >.
itk::BackwardImageProjector2Dto3D< IntensityType >::itkStaticConstMacro | ( | InputImageDimension | , |
unsigned | int, | ||
2 | |||
) |
ImageDimension enumeration
itk::BackwardImageProjector2Dto3D< IntensityType >::itkStaticConstMacro | ( | OutputImageDimension | , |
unsigned | int, | ||
3 | |||
) |
|
static |
Method for creation through the object factory.
|
protected |
|
inline |
Set the origin of the output back-projected image.
|
inline |
Set the size in voxels of the output back-projected image.
|
inline |
Set the resolution in mm of the output back-projected image.
|
inline |
For debugging purposes, set single threaded execution.
|
protected |
Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". This method is called "num" times. The regions must not overlap. The method returns the number of pieces that the routine is capable of splitting the input RequestedRegion, i.e. return value is less than or equal to "num".
|
protected |
This function is modified to thread based on the input 2D image
|
protected |
Flag that back-projected volume should be filled with zeros.
|
protected |
Flag to turn multithreading on or off.
|
protected |
The origin of the output projected image.
|
protected |
The size of the output projected image.
|
protected |
The resolution of the output projected image.
|
protected |
A volume equal in size to the back-projected volume which keeps a count of the number of rays contributing to each voxel in the back-projected volume.