RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkReg23ProjectionGeometry.h>
Public Member Functions | |
bool | AddReg23Projection (const PointType &sourcePosition, const PointType &detectorPosition, const VectorType &detectorRowVector, const VectorType &detectorColumnVector) |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
Public Member Functions inherited from rtk::ThreeDCircularProjectionGeometry | |
void | AddProjection (const double sid, const double sdd, const double gantryAngle, const double projOffsetX=0., const double projOffsetY=0., const double outOfPlaneAngle=0., const double inPlaneAngle=0., const double sourceOffsetX=0., const double sourceOffsetY=0.) |
bool | AddProjection (const PointType &sourcePosition, const PointType &detectorPosition, const VectorType &detectorRowVector, const VectorType &detectorColumnVector) |
bool | AddProjection (const HomogeneousProjectionMatrixType &pMat) |
virtual void | AddProjectionInRadians (const double sid, const double sdd, const double gantryAngle, const double projOffsetX=0., const double projOffsetY=0., const double outOfPlaneAngle=0., const double inPlaneAngle=0., const double sourceOffsetX=0., const double sourceOffsetY=0.) |
void | Clear () override |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
const std::vector< double > | GetAngularGaps (const std::vector< double > &angles) |
const std::vector< double > | GetAngularGapsWithNext (const std::vector< double > &angles) const |
virtual double | GetFixAnglesTolerance () const |
const std::vector< Superclass::MatrixType > & | GetMagnificationMatrices () const |
Superclass::MatrixType | GetMagnificationMatrices (const unsigned int i) const |
const ThreeDHomogeneousMatrixType | GetProjectionCoordinatesToDetectorSystemMatrix (const unsigned int i) const |
const ThreeDHomogeneousMatrixType | GetProjectionCoordinatesToFixedSystemMatrix (const unsigned int i) const |
const std::vector< ThreeDHomogeneousMatrixType > & | GetRotationMatrices () const |
ThreeDHomogeneousMatrixType | GetRotationMatrix (const unsigned int i) const |
const std::multimap< double, unsigned int > | GetSortedAngles (const std::vector< double > &angles) const |
const std::vector< double > & | GetSourceAngles () const |
const HomogeneousVectorType | GetSourcePosition (const unsigned int i) const |
const std::vector< ThreeDHomogeneousMatrixType > & | GetSourceTranslationMatrices () const |
ThreeDHomogeneousMatrixType | GetSourceTranslationMatrices (const unsigned int i) const |
const std::vector< double > | GetTiltAngles () const |
const std::map< double, unsigned int > | GetUniqueSortedAngles (const std::vector< double > &angles) const |
void | SetCollimationOfLastProjection (const double uinf, const double usup, const double vinf, const double vsup) |
virtual void | SetFixAnglesTolerance (double _arg) |
double | ToUntiltedCoordinateAtIsocenter (const unsigned int noProj, const double tiltedCoord) const |
const std::vector< double > & | GetGantryAngles () const |
const std::vector< double > & | GetOutOfPlaneAngles () const |
const std::vector< double > & | GetInPlaneAngles () const |
const std::vector< double > & | GetSourceToIsocenterDistances () const |
const std::vector< double > & | GetSourceOffsetsX () const |
const std::vector< double > & | GetSourceOffsetsY () const |
const std::vector< double > & | GetSourceToDetectorDistances () const |
const std::vector< double > & | GetProjectionOffsetsX () const |
const std::vector< double > & | GetProjectionOffsetsY () const |
const std::vector< TwoDHomogeneousMatrixType > & | GetProjectionTranslationMatrices () const |
TwoDHomogeneousMatrixType | GetProjectionTranslationMatrix (const unsigned int i) const |
const std::vector< double > & | GetCollimationUInf () const |
const std::vector< double > & | GetCollimationUSup () const |
const std::vector< double > & | GetCollimationVInf () const |
const std::vector< double > & | GetCollimationVSup () const |
virtual double | GetRadiusCylindricalDetector () const |
virtual void | SetRadiusCylindricalDetector (double _arg) |
virtual double | GetVerifyAnglesTolerance () const |
virtual void | SetVerifyAnglesTolerance (double _arg) |
Public Member Functions inherited from rtk::ProjectionGeometry< 3 > | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
const std::vector< MatrixType > & | GetMatrices () const |
MatrixType | GetMatrix (const unsigned int i) const |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from rtk::ThreeDCircularProjectionGeometry | |
static Superclass::MatrixType | ComputeProjectionMagnificationMatrix (double sdd, double sid) |
static ThreeDHomogeneousMatrixType | ComputeRotationHomogeneousMatrix (double angleX, double angleY, double angleZ) |
static double | ConvertAngleBetween0And2PIRadians (const double a) |
static double | ConvertAngleBetween0And360Degrees (const double a) |
static double | ConvertAngleBetweenMinusAndPlusPIRadians (const double a) |
static Pointer | New () |
static TwoDHomogeneousMatrixType | ComputeTranslationHomogeneousMatrix (double transX, double transY) |
static ThreeDHomogeneousMatrixType | ComputeTranslationHomogeneousMatrix (double transX, double transY, double transZ) |
Static Public Member Functions inherited from rtk::ProjectionGeometry< 3 > | |
static Pointer | New () |
Protected Member Functions | |
Reg23ProjectionGeometry () | |
~Reg23ProjectionGeometry () override | |
Protected Member Functions inherited from rtk::ThreeDCircularProjectionGeometry | |
virtual void | AddMagnificationMatrix (const Superclass::MatrixType &m) |
virtual void | AddProjectionTranslationMatrix (const TwoDHomogeneousMatrixType &m) |
virtual void | AddRotationMatrix (const ThreeDHomogeneousMatrixType &m) |
virtual void | AddSourceTranslationMatrix (const ThreeDHomogeneousMatrixType &m) |
itk::LightObject::Pointer | InternalClone () const override |
ThreeDCircularProjectionGeometry () | |
~ThreeDCircularProjectionGeometry () override=default | |
bool | VerifyAngles (const double outOfPlaneAngleRAD, const double gantryAngleRAD, const double inPlaneAngleRAD, const Matrix3x3Type &referenceMatrix) const |
bool | FixAngles (double &outOfPlaneAngleRAD, double &gantryAngleRAD, double &inPlaneAngleRAD, const Matrix3x3Type &referenceMatrix) const |
Protected Member Functions inherited from rtk::ProjectionGeometry< 3 > | |
void | PrintSelf (std::ostream &os, itk::Indent indent) const override |
ProjectionGeometry ()=default | |
~ProjectionGeometry () override=default | |
virtual void | AddMatrix (const MatrixType &m) |
{A simple utility class which makes the REG23 projection geometry compatible with RTK's geometry.}
REG23 geometry (open-radART, plastimatch) is very simplicistic: a perspective projection is defined by a source position (S) in world coordinate system (WCS), a detector position (R) in WCS and the detector orientation in WCS by the detector row vector (r) and the detector column vector (c).
In order to make RTK aware of this geometry, the parameters mentioned above have to be brought into RTK's native geometry format. This is achieved by deriving from RTK's circular 3D projection geometry class and adding a new dedicated method for adding a REG23 projection. Internally, this method converts the S,R,r,c set into Euler angles and offsets as required by RTK's native projection geometry definition format.
Definition at line 63 of file rtkReg23ProjectionGeometry.h.
using rtk::Reg23ProjectionGeometry::ConstPointer = itk::SmartPointer<const Self> |
Definition at line 72 of file rtkReg23ProjectionGeometry.h.
Definition at line 71 of file rtkReg23ProjectionGeometry.h.
General type alias
Definition at line 69 of file rtkReg23ProjectionGeometry.h.
Definition at line 70 of file rtkReg23ProjectionGeometry.h.
|
protected |
Standard constructor.
|
overrideprotected |
Destructor.
bool rtk::Reg23ProjectionGeometry::AddReg23Projection | ( | const PointType & | sourcePosition, |
const PointType & | detectorPosition, | ||
const VectorType & | detectorRowVector, | ||
const VectorType & | detectorColumnVector | ||
) |
Add a REG23-based geometry set to the RTK projections list.
sourcePosition | absolute position of the point source S in WCS |
detectorPosition | absolute position of the detector origin R in WCS |
detectorRowVector | absolute direction vector indicating the orientation of the detector's rows r (sometimes referred to as v1) |
detectorColumnVector | absolute direction vector indicating the orientation of the detector's columns c (sometimes referred to as v2) |
|
virtual |
Reimplemented from itk::Object.
|
static |
Method for creation through the object factory.