NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Abstract class to calculate the geometry of a CT or tomo machine. More...
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< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
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... | |
Abstract class to calculate the geometry of a CT or tomo machine.
typedef SmartPointer<const Self> itk::ProjectionGeometry< IntensityType >::ConstPointer |
typedef EulerAffineTransformType::Pointer itk::ProjectionGeometry< IntensityType >::EulerAffineTransformPointerType |
typedef itk::EulerAffineTransform<double, 3, 3> itk::ProjectionGeometry< IntensityType >::EulerAffineTransformType |
typedef PerspectiveProjectionTransformType::Pointer itk::ProjectionGeometry< IntensityType >::PerspectiveProjectionTransformPointerType |
typedef itk::PerspectiveProjectionTransform<double> itk::ProjectionGeometry< IntensityType >::PerspectiveProjectionTransformType |
typedef SmartPointer<Self> itk::ProjectionGeometry< IntensityType >::Pointer |
typedef itk::Size<2> itk::ProjectionGeometry< IntensityType >::ProjectionSizeType |
Some convenient typedefs.
typedef itk::Vector<double,2> itk::ProjectionGeometry< IntensityType >::ProjectionSpacingType |
typedef ProjectionGeometry itk::ProjectionGeometry< IntensityType >::Self |
Standard class typedefs.
typedef Object itk::ProjectionGeometry< IntensityType >::Superclass |
typedef itk::Size<3> itk::ProjectionGeometry< IntensityType >::VolumeSizeType |
typedef itk::Vector<double,3> itk::ProjectionGeometry< IntensityType >::VolumeSpacingType |
enum itk::ProjectionGeometry::ProjectionSideType |
enum itk::ProjectionGeometry::ProjectionViewType |
|
protected |
|
inlineprotectedvirtual |
|
inlinevirtual |
Return a pointer to the affine transformation matrix for projection 'i'.
Reimplemented in itk::IsocentricConeBeamRotationGeometry< IntensityType >, itk::GE5000_TomosynthesisGeometry< IntensityType >, itk::GE6000_TomosynthesisGeometry< IntensityType >, and itk::SiemensMammomat_TomosynthesisGeometry< IntensityType >.
|
virtual |
Run-time type information (and related methods).
Reimplemented in itk::IsocentricConeBeamRotationGeometry< IntensityType >, itk::GE5000_TomosynthesisGeometry< IntensityType >, itk::GE6000_TomosynthesisGeometry< IntensityType >, and itk::SiemensMammomat_TomosynthesisGeometry< IntensityType >.
|
inlinevirtual |
Return the number of projections for derived geometries.
Reimplemented in itk::IsocentricConeBeamRotationGeometry< IntensityType >, itk::GE5000_TomosynthesisGeometry< IntensityType >, itk::GE6000_TomosynthesisGeometry< IntensityType >, and itk::SiemensMammomat_TomosynthesisGeometry< IntensityType >.
|
inlinevirtual |
Return a pointer to the perspective projection matrix for projection 'i'.
Reimplemented in itk::IsocentricConeBeamRotationGeometry< IntensityType >, itk::GE5000_TomosynthesisGeometry< IntensityType >, itk::GE6000_TomosynthesisGeometry< IntensityType >, and itk::SiemensMammomat_TomosynthesisGeometry< IntensityType >.
|
virtual |
Get a rotation in 'x'.
|
virtual |
Get a rotation in 'y'.
|
virtual |
Get a rotation in 'z'.
|
protected |
Initialise the object and check inputs are defined.
|
static |
Method for creation through the object factory.
|
overrideprotected |
|
inline |
Set the projection side.
|
inline |
Set the projection size.
|
inline |
Set the projection spacing.
|
inline |
Set the projection view.
|
virtual |
Set a rotation in 'x'.
|
virtual |
Set a rotation in 'y'.
|
virtual |
Set a rotation in 'z'.
|
inline |
Set the volume size.
|
inline |
Set the volume spacing.
|
protected |
Flag indicating whether the object has been initialised.
|
protected |
Flag indicating if side is left or right.
|
protected |
Flag indicating if view is CC or MLO.
|
protected |
A pointer to the 3D projection size.
|
protected |
A pointer to the 3D projection spacing.
|
protected |
Rotation in 'x' to allow reorientation of the volume.
|
protected |
Rotation in 'y' to allow reorientation of the volume.
|
protected |
Rotation in 'z' to allow reorientation of the volume.
|
protected |
A pointer to the 3D volume size.
|
protected |
A pointer to the 3D volume spacing.