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

Abstract class to calculate the geometry of a CT or tomo machine. More...

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

Public Types

enum  ProjectionSideType { UNDEFINED_SIDE =0, LEFT_SIDE, RIGHT_SIDE }
 
enum  ProjectionViewType { UNDEFINED_VIEW =0, CC_VIEW, MLO_VIEW }
 
typedef ProjectionGeometry Self
 
typedef Object Superclass
 
typedef SmartPointer< SelfPointer
 
typedef SmartPointer< const SelfConstPointer
 
typedef itk::Size< 2 > ProjectionSizeType
 
typedef itk::Vector< double, 2 > ProjectionSpacingType
 
typedef itk::Size< 3 > VolumeSizeType
 
typedef itk::Vector< double, 3 > VolumeSpacingType
 
typedef
itk::EulerAffineTransform
< double, 3, 3 > 
EulerAffineTransformType
 
typedef
EulerAffineTransformType::Pointer 
EulerAffineTransformPointerType
 
typedef
itk::PerspectiveProjectionTransform
< double > 
PerspectiveProjectionTransformType
 
typedef
PerspectiveProjectionTransformType::Pointer 
PerspectiveProjectionTransformPointerType
 

Public Member Functions

virtual const char * GetClassName () const
 
void SetProjectionSide (ProjectionSideType side)
 Set the projection side. More...
 
void SetProjectionView (ProjectionViewType view)
 Set the projection view. More...
 
virtual
PerspectiveProjectionTransformType::Pointer 
GetPerspectiveTransform (int i)
 
virtual
EulerAffineTransformType::Pointer 
GetAffineTransform (int i)
 
virtual void SetRotationInX (double _arg)
 Set a rotation in 'x'. More...
 
virtual void SetRotationInY (double _arg)
 Set a rotation in 'y'. More...
 
virtual void SetRotationInZ (double _arg)
 Set a rotation in 'z'. More...
 
virtual double GetRotationInX ()
 Get a rotation in 'x'. More...
 
virtual double GetRotationInY ()
 Get a rotation in 'y'. More...
 
virtual double GetRotationInZ ()
 Get a rotation in 'z'. More...
 
void SetProjectionSize (const ProjectionSizeType &r)
 Set the projection size. More...
 
void SetProjectionSpacing (const ProjectionSpacingType &s)
 Set the projection spacing. More...
 
void SetVolumeSize (const VolumeSizeType &r)
 Set the volume size. More...
 
void SetVolumeSpacing (const VolumeSpacingType &s)
 Set the volume spacing. More...
 
virtual unsigned int GetNumberOfProjections (void)
 Return the number of projections for derived geometries. More...
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ProjectionGeometry ()
 
virtual ~ProjectionGeometry ()
 
void PrintSelf (std::ostream &os, Indent indent) const override
 
void Initialise (void)
 Initialise the object and check inputs are defined. More...
 

Protected Attributes

bool m_FlagInitialised
 Flag indicating whether the object has been initialised. More...
 
ProjectionSideType m_FlagSide
 Flag indicating if side is left or right. More...
 
ProjectionViewType m_FlagView
 Flag indicating if view is CC or MLO. More...
 
double m_RotationInX
 Rotation in 'x' to allow reorientation of the volume. More...
 
double m_RotationInY
 Rotation in 'y' to allow reorientation of the volume. More...
 
double m_RotationInZ
 Rotation in 'z' to allow reorientation of the volume. More...
 
VolumeSizeType m_VolumeSize
 A pointer to the 3D volume size. More...
 
VolumeSpacingType m_VolumeSpacing
 A pointer to the 3D volume spacing. More...
 
ProjectionSizeType m_ProjectionSize
 A pointer to the 3D projection size. More...
 
ProjectionSpacingType m_ProjectionSpacing
 A pointer to the 3D projection spacing. More...
 

Detailed Description

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

Abstract class to calculate the geometry of a CT or tomo machine.

Member Typedef Documentation

template<class IntensityType = float>
typedef SmartPointer<const Self> itk::ProjectionGeometry< IntensityType >::ConstPointer
template<class IntensityType = float>
typedef EulerAffineTransformType::Pointer itk::ProjectionGeometry< IntensityType >::EulerAffineTransformPointerType
template<class IntensityType = float>
typedef itk::EulerAffineTransform<double, 3, 3> itk::ProjectionGeometry< IntensityType >::EulerAffineTransformType
template<class IntensityType = float>
typedef itk::PerspectiveProjectionTransform<double> itk::ProjectionGeometry< IntensityType >::PerspectiveProjectionTransformType
template<class IntensityType = float>
typedef SmartPointer<Self> itk::ProjectionGeometry< IntensityType >::Pointer
template<class IntensityType = float>
typedef itk::Size<2> itk::ProjectionGeometry< IntensityType >::ProjectionSizeType

Some convenient typedefs.

template<class IntensityType = float>
typedef itk::Vector<double,2> itk::ProjectionGeometry< IntensityType >::ProjectionSpacingType
template<class IntensityType = float>
typedef ProjectionGeometry itk::ProjectionGeometry< IntensityType >::Self

Standard class typedefs.

template<class IntensityType = float>
typedef Object itk::ProjectionGeometry< IntensityType >::Superclass
template<class IntensityType = float>
typedef itk::Size<3> itk::ProjectionGeometry< IntensityType >::VolumeSizeType
template<class IntensityType = float>
typedef itk::Vector<double,3> itk::ProjectionGeometry< IntensityType >::VolumeSpacingType

Member Enumeration Documentation

template<class IntensityType = float>
enum itk::ProjectionGeometry::ProjectionSideType
Enumerator
UNDEFINED_SIDE 

Undefined.

LEFT_SIDE 

Left side.

RIGHT_SIDE 

Right side.

template<class IntensityType = float>
enum itk::ProjectionGeometry::ProjectionViewType
Enumerator
UNDEFINED_VIEW 

Undefined.

CC_VIEW 

CC view.

MLO_VIEW 

MLO view.

Constructor & Destructor Documentation

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

Member Function Documentation

template<class IntensityType = float>
virtual EulerAffineTransformType::Pointer itk::ProjectionGeometry< IntensityType >::GetAffineTransform ( int  i)
inlinevirtual
template<class IntensityType = float>
virtual const char* itk::ProjectionGeometry< IntensityType >::GetClassName ( ) const
virtual
template<class IntensityType = float>
virtual unsigned int itk::ProjectionGeometry< IntensityType >::GetNumberOfProjections ( void  )
inlinevirtual
template<class IntensityType = float>
virtual PerspectiveProjectionTransformType::Pointer itk::ProjectionGeometry< IntensityType >::GetPerspectiveTransform ( int  i)
inlinevirtual
template<class IntensityType = float>
virtual double itk::ProjectionGeometry< IntensityType >::GetRotationInX ( )
virtual

Get a rotation in 'x'.

template<class IntensityType = float>
virtual double itk::ProjectionGeometry< IntensityType >::GetRotationInY ( )
virtual

Get a rotation in 'y'.

template<class IntensityType = float>
virtual double itk::ProjectionGeometry< IntensityType >::GetRotationInZ ( )
virtual

Get a rotation in 'z'.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::Initialise ( void  )
protected

Initialise the object and check inputs are defined.

template<class IntensityType = float>
static Pointer itk::ProjectionGeometry< IntensityType >::New ( )
static

Method for creation through the object factory.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const
overrideprotected
template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::SetProjectionSide ( ProjectionSideType  side)
inline

Set the projection side.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::SetProjectionSize ( const ProjectionSizeType r)
inline

Set the projection size.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::SetProjectionSpacing ( const ProjectionSpacingType s)
inline

Set the projection spacing.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::SetProjectionView ( ProjectionViewType  view)
inline

Set the projection view.

template<class IntensityType = float>
virtual void itk::ProjectionGeometry< IntensityType >::SetRotationInX ( double  _arg)
virtual

Set a rotation in 'x'.

template<class IntensityType = float>
virtual void itk::ProjectionGeometry< IntensityType >::SetRotationInY ( double  _arg)
virtual

Set a rotation in 'y'.

template<class IntensityType = float>
virtual void itk::ProjectionGeometry< IntensityType >::SetRotationInZ ( double  _arg)
virtual

Set a rotation in 'z'.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::SetVolumeSize ( const VolumeSizeType r)
inline

Set the volume size.

template<class IntensityType = float>
void itk::ProjectionGeometry< IntensityType >::SetVolumeSpacing ( const VolumeSpacingType s)
inline

Set the volume spacing.

Member Data Documentation

template<class IntensityType = float>
bool itk::ProjectionGeometry< IntensityType >::m_FlagInitialised
protected

Flag indicating whether the object has been initialised.

template<class IntensityType = float>
ProjectionSideType itk::ProjectionGeometry< IntensityType >::m_FlagSide
protected

Flag indicating if side is left or right.

template<class IntensityType = float>
ProjectionViewType itk::ProjectionGeometry< IntensityType >::m_FlagView
protected

Flag indicating if view is CC or MLO.

template<class IntensityType = float>
ProjectionSizeType itk::ProjectionGeometry< IntensityType >::m_ProjectionSize
protected

A pointer to the 3D projection size.

template<class IntensityType = float>
ProjectionSpacingType itk::ProjectionGeometry< IntensityType >::m_ProjectionSpacing
protected

A pointer to the 3D projection spacing.

template<class IntensityType = float>
double itk::ProjectionGeometry< IntensityType >::m_RotationInX
protected

Rotation in 'x' to allow reorientation of the volume.

template<class IntensityType = float>
double itk::ProjectionGeometry< IntensityType >::m_RotationInY
protected

Rotation in 'y' to allow reorientation of the volume.

template<class IntensityType = float>
double itk::ProjectionGeometry< IntensityType >::m_RotationInZ
protected

Rotation in 'z' to allow reorientation of the volume.

template<class IntensityType = float>
VolumeSizeType itk::ProjectionGeometry< IntensityType >::m_VolumeSize
protected

A pointer to the 3D volume size.

template<class IntensityType = float>
VolumeSpacingType itk::ProjectionGeometry< IntensityType >::m_VolumeSpacing
protected

A pointer to the 3D volume spacing.


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