summaryrefslogtreecommitdiffstats
path: root/src/ParallelProjectionGeometry3D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ParallelProjectionGeometry3D.cpp')
-rw-r--r--src/ParallelProjectionGeometry3D.cpp77
1 files changed, 2 insertions, 75 deletions
diff --git a/src/ParallelProjectionGeometry3D.cpp b/src/ParallelProjectionGeometry3D.cpp
index 8b0585c..1d29ad6 100644
--- a/src/ParallelProjectionGeometry3D.cpp
+++ b/src/ParallelProjectionGeometry3D.cpp
@@ -1,7 +1,7 @@
/*
-----------------------------------------------------------------------
-Copyright: 2010-2018, imec Vision Lab, University of Antwerp
- 2014-2018, CWI, Amsterdam
+Copyright: 2010-2021, imec Vision Lab, University of Antwerp
+ 2014-2021, CWI, Amsterdam
Contact: astra@astra-toolbox.com
Website: http://www.astra-toolbox.com/
@@ -215,79 +215,6 @@ CParallelProjectionGeometry2D * CParallelProjectionGeometry3D::createProjectionG
return pOutput;
}
-void CParallelProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection *projs = genPar3DProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SPar3DProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fX - px) / proj.fRayX;
-
- fY = py + a * proj.fRayY;
- fZ = pz + a * proj.fRayZ;
-
- delete[] projs;
-}
-
-void CParallelProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection *projs = genPar3DProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SPar3DProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fY - py) / proj.fRayY;
-
- fX = px + a * proj.fRayX;
- fZ = pz + a * proj.fRayZ;
-
- delete[] projs;
-}
-
-void CParallelProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SPar3DProjection *projs = genPar3DProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SPar3DProjection &proj = projs[0];
-
- double px = proj.fDetSX + fU * proj.fDetUX + fV * proj.fDetVX;
- double py = proj.fDetSY + fU * proj.fDetUY + fV * proj.fDetVY;
- double pz = proj.fDetSZ + fU * proj.fDetUZ + fV * proj.fDetVZ;
-
- double a = (fZ - pz) / proj.fRayZ;
-
- fX = px + a * proj.fRayX;
- fY = py + a * proj.fRayY;
-
- delete[] projs;
-}
-
-
//----------------------------------------------------------------------------------------
} // end namespace astra