summaryrefslogtreecommitdiffstats
path: root/src/ConeProjectionGeometry3D.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/ConeProjectionGeometry3D.cpp')
-rw-r--r--src/ConeProjectionGeometry3D.cpp79
1 files changed, 0 insertions, 79 deletions
diff --git a/src/ConeProjectionGeometry3D.cpp b/src/ConeProjectionGeometry3D.cpp
index 11a244d..abd9124 100644
--- a/src/ConeProjectionGeometry3D.cpp
+++ b/src/ConeProjectionGeometry3D.cpp
@@ -266,84 +266,5 @@ void CConeProjectionGeometry3D::projectPoint(double fX, double fY, double fZ,
fU = detectorOffsetXToColIndexFloat( (fS * (m_fOriginSourceDistance + m_fOriginDetectorDistance)) / fD );
}
-void CConeProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV,
- double fX, double &fY, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection *projs = genConeProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fOriginSourceDistance,
- m_fOriginDetectorDistance,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SConeProjection &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 - proj.fSrcX) / (px - proj.fSrcX);
-
- fY = proj.fSrcY + a * (py - proj.fSrcY);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-
- delete[] projs;
-}
-
-void CConeProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV,
- double fY, double &fX, double &fZ) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection *projs = genConeProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fOriginSourceDistance,
- m_fOriginDetectorDistance,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SConeProjection &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 - proj.fSrcY) / (py - proj.fSrcY);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fZ = proj.fSrcZ + a * (pz - proj.fSrcZ);
-
- delete[] projs;
-}
-
-void CConeProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV,
- double fZ, double &fX, double &fY) const
-{
- ASTRA_ASSERT(iAngleIndex >= 0);
- ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount);
-
- SConeProjection *projs = genConeProjections(1, m_iDetectorColCount, m_iDetectorRowCount,
- m_fOriginSourceDistance,
- m_fOriginDetectorDistance,
- m_fDetectorSpacingX, m_fDetectorSpacingY,
- &m_pfProjectionAngles[iAngleIndex]);
-
- SConeProjection &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 - proj.fSrcZ) / (pz - proj.fSrcZ);
-
- fX = proj.fSrcX + a * (px - proj.fSrcX);
- fY = proj.fSrcY + a * (py - proj.fSrcY);
-
- delete[] projs;
-}
-
-
} // end namespace astra