diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2015-12-04 16:04:58 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <wjp@usecode.org> | 2015-12-04 16:04:58 +0100 |
commit | b6891106eb167e7399a88efe858abccb8b3dd0c0 (patch) | |
tree | a92a3f08ec3a4ed7751ec5ae563f217bd8614731 /include/astra/ProjectionGeometry3D.h | |
parent | 7ba1ff9ff08daf043cc131434373cde38434f46b (diff) | |
parent | e07449189a05e3bcdc8ad4a9fbb95c0751f567bb (diff) | |
download | astra-b6891106eb167e7399a88efe858abccb8b3dd0c0.tar.gz astra-b6891106eb167e7399a88efe858abccb8b3dd0c0.tar.bz2 astra-b6891106eb167e7399a88efe858abccb8b3dd0c0.tar.xz astra-b6891106eb167e7399a88efe858abccb8b3dd0c0.zip |
Merge pull request #101 from wjp/composite
Add CompositeGeometryManager
Diffstat (limited to 'include/astra/ProjectionGeometry3D.h')
-rw-r--r-- | include/astra/ProjectionGeometry3D.h | 19 |
1 files changed, 17 insertions, 2 deletions
diff --git a/include/astra/ProjectionGeometry3D.h b/include/astra/ProjectionGeometry3D.h index 19ac3ab..0b60287 100644 --- a/include/astra/ProjectionGeometry3D.h +++ b/include/astra/ProjectionGeometry3D.h @@ -317,9 +317,24 @@ public: * @param iAngleIndex the index of the angle to use * @param fU,fV the projected point. */ - virtual void projectPoint(float32 fX, float32 fY, float32 fZ, + virtual void projectPoint(double fX, double fY, double fZ, int iAngleIndex, - float32 &fU, float32 &fV) const = 0; + double &fU, double &fV) const = 0; + + /* Backproject a point onto a plane parallel to a coordinate plane. + * The 2D point coordinates are the (unrounded) indices of the detector + * column and row. The output is in 3D coordinates in units. + * are in units. The output fU,fV are the (unrounded) indices of the + * detector column and row. + * This may fall outside of the actual detector. + */ + virtual void backprojectPointX(int iAngleIndex, double fU, double fV, + double fX, double &fY, double &fZ) const = 0; + virtual void backprojectPointY(int iAngleIndex, double fU, double fV, + double fY, double &fX, double &fZ) const = 0; + virtual void backprojectPointZ(int iAngleIndex, double fU, double fV, + double fZ, double &fX, double &fY) const = 0; + /** Returns true if the type of geometry defined in this class is the one specified in _sType. * |