15 #ifndef __itkProjectionGeometry_h
16 #define __itkProjectionGeometry_h
28 template <
class IntensityType =
float>
88 itkSetMacro(RotationInX,
double);
90 itkSetMacro(RotationInY,
double);
92 itkSetMacro(RotationInZ,
double);
95 itkGetMacro(RotationInX,
double);
97 itkGetMacro(RotationInY,
double);
99 itkGetMacro(RotationInZ,
double);
107 void SetVolumeSize(
const VolumeSizeType &
r) {m_VolumeSize =
r; m_FlagInitialised =
false;}
120 void PrintSelf(std::ostream& os, Indent indent)
const override;
123 void Initialise(
void);
153 void operator=(
const Self&);
159 #ifndef ITK_MANUAL_INSTANTIATION
160 #include "itkProjectionGeometry.txx"
itk::Vector< double, 2 > ProjectionSpacingType
Definition: itkProjectionGeometry.h:47
virtual PerspectiveProjectionTransformType::Pointer GetPerspectiveTransform(int i)
Definition: itkProjectionGeometry.h:79
double m_RotationInZ
Rotation in 'z' to allow reorientation of the volume.
Definition: itkProjectionGeometry.h:139
ProjectionViewType
Definition: itkProjectionGeometry.h:67
SmartPointer< Self > Pointer
Definition: itkProjectionGeometry.h:36
Left side.
Definition: itkProjectionGeometry.h:60
itk::Vector< double, 3 > VolumeSpacingType
Definition: itkProjectionGeometry.h:50
Object Superclass
Definition: itkProjectionGeometry.h:35
bool m_FlagInitialised
Flag indicating whether the object has been initialised.
Definition: itkProjectionGeometry.h:126
Definition: niftkITKAffineResampleImage.cxx:74
itk::Size< 3 > VolumeSizeType
Definition: itkProjectionGeometry.h:49
itk::Size< 2 > ProjectionSizeType
Definition: itkProjectionGeometry.h:43
itk::EulerAffineTransform< double, 3, 3 > EulerAffineTransformType
Definition: itkProjectionGeometry.h:52
void SetVolumeSpacing(const VolumeSpacingType &s)
Set the volume spacing.
Definition: itkProjectionGeometry.h:109
VolumeSizeType m_VolumeSize
A pointer to the 3D volume size.
Definition: itkProjectionGeometry.h:142
void SetProjectionSpacing(const ProjectionSpacingType &s)
Set the projection spacing.
Definition: itkProjectionGeometry.h:104
ProjectionSizeType m_ProjectionSize
A pointer to the 3D projection size.
Definition: itkProjectionGeometry.h:147
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
itk::PerspectiveProjectionTransform< double > PerspectiveProjectionTransformType
Definition: itkProjectionGeometry.h:55
void SetProjectionSize(const ProjectionSizeType &r)
Set the projection size.
Definition: itkProjectionGeometry.h:102
PerspectiveProjectionTransformType::Pointer PerspectiveProjectionTransformPointerType
Definition: itkProjectionGeometry.h:56
virtual unsigned int GetNumberOfProjections(void)
Return the number of projections for derived geometries.
Definition: itkProjectionGeometry.h:112
ProjectionGeometry Self
Definition: itkProjectionGeometry.h:34
ProjectionSideType
Definition: itkProjectionGeometry.h:58
ProjectionViewType m_FlagView
Flag indicating if view is CC or MLO.
Definition: itkProjectionGeometry.h:132
GLdouble GLdouble GLdouble r
Definition: glew.h:1390
void SetProjectionSide(ProjectionSideType side)
Set the projection side.
Definition: itkProjectionGeometry.h:65
ProjectionSideType m_FlagSide
Flag indicating if side is left or right.
Definition: itkProjectionGeometry.h:129
virtual EulerAffineTransformType::Pointer GetAffineTransform(int i)
Definition: itkProjectionGeometry.h:84
virtual ~ProjectionGeometry()
Definition: itkProjectionGeometry.h:118
ProjectionSpacingType m_ProjectionSpacing
A pointer to the 3D projection spacing.
Definition: itkProjectionGeometry.h:149
void SetProjectionView(ProjectionViewType view)
Set the projection view.
Definition: itkProjectionGeometry.h:75
#define niftkitkErrorMacro(x)
Definition: itkUCLMacro.h:49
void SetVolumeSize(const VolumeSizeType &r)
Set the volume size.
Definition: itkProjectionGeometry.h:107
double m_RotationInY
Rotation in 'y' to allow reorientation of the volume.
Definition: itkProjectionGeometry.h:137
EulerAffineTransformType::Pointer EulerAffineTransformPointerType
Definition: itkProjectionGeometry.h:53
double m_RotationInX
Rotation in 'x' to allow reorientation of the volume.
Definition: itkProjectionGeometry.h:135
CC view.
Definition: itkProjectionGeometry.h:69
GLdouble s
Definition: glew.h:1374
SmartPointer< const Self > ConstPointer
Definition: itkProjectionGeometry.h:37
VolumeSpacingType m_VolumeSpacing
A pointer to the 3D volume spacing.
Definition: itkProjectionGeometry.h:144