From 295ad96290c78a57ef982100014b1242a89d915c Mon Sep 17 00:00:00 2001 From: Willem Jan Palenstijn Date: Wed, 3 Nov 2021 11:42:13 +0100 Subject: Remove unused backprojectPointX/Y/Z functions --- src/ConeProjectionGeometry3D.cpp | 79 ------------------------------- src/ConeVecProjectionGeometry3D.cpp | 54 --------------------- src/GeometryUtil3D.cpp | 84 --------------------------------- src/ParallelProjectionGeometry3D.cpp | 73 ---------------------------- src/ParallelVecProjectionGeometry3D.cpp | 55 --------------------- 5 files changed, 345 deletions(-) (limited to 'src') 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 diff --git a/src/ConeVecProjectionGeometry3D.cpp b/src/ConeVecProjectionGeometry3D.cpp index d9033d6..eb605d8 100644 --- a/src/ConeVecProjectionGeometry3D.cpp +++ b/src/ConeVecProjectionGeometry3D.cpp @@ -258,60 +258,6 @@ void CConeVecProjectionGeometry3D::projectPoint(double fX, double fY, double fZ, } -void CConeVecProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV, - double fX, double &fY, double &fZ) const -{ - ASTRA_ASSERT(iAngleIndex >= 0); - ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount); - - SConeProjection &proj = m_pProjectionAngles[iAngleIndex]; - - 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); -} - -void CConeVecProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV, - double fY, double &fX, double &fZ) const -{ - ASTRA_ASSERT(iAngleIndex >= 0); - ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount); - - SConeProjection &proj = m_pProjectionAngles[iAngleIndex]; - - 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); -} - -void CConeVecProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV, - double fZ, double &fX, double &fY) const -{ - ASTRA_ASSERT(iAngleIndex >= 0); - ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount); - - SConeProjection &proj = m_pProjectionAngles[iAngleIndex]; - - 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); -} - //---------------------------------------------------------------------------------------- bool CConeVecProjectionGeometry3D::_check() diff --git a/src/GeometryUtil3D.cpp b/src/GeometryUtil3D.cpp index 047c0c9..28a7a9c 100644 --- a/src/GeometryUtil3D.cpp +++ b/src/GeometryUtil3D.cpp @@ -159,88 +159,4 @@ void computeBP_UV_Coeffs(const SConeProjection& proj, double &fUX, double &fUY, } -// TODO: Handle cases of rays parallel to coordinate planes - -void backprojectPointX(const SPar3DProjection& proj, double fU, double fV, - double fX, double &fY, double &fZ) -{ - 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; -} - -void backprojectPointY(const SPar3DProjection& proj, double fU, double fV, - double fY, double &fX, double &fZ) -{ - 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; - -} - -void backprojectPointZ(const SPar3DProjection& proj, double fU, double fV, - double fZ, double &fX, double &fY) -{ - 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; -} - - - -void backprojectPointX(const SConeProjection& proj, double fU, double fV, - double fX, double &fY, double &fZ) -{ - 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); -} - -void backprojectPointY(const SConeProjection& proj, double fU, double fV, - double fY, double &fX, double &fZ) -{ - 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); -} - -void backprojectPointZ(const SConeProjection& proj, double fU, double fV, - double fZ, double &fX, double &fY) -{ - 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); -} - - } diff --git a/src/ParallelProjectionGeometry3D.cpp b/src/ParallelProjectionGeometry3D.cpp index 554dfcd..1d29ad6 100644 --- a/src/ParallelProjectionGeometry3D.cpp +++ b/src/ParallelProjectionGeometry3D.cpp @@ -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 diff --git a/src/ParallelVecProjectionGeometry3D.cpp b/src/ParallelVecProjectionGeometry3D.cpp index 33f2e28..78e6d9d 100644 --- a/src/ParallelVecProjectionGeometry3D.cpp +++ b/src/ParallelVecProjectionGeometry3D.cpp @@ -256,61 +256,6 @@ void CParallelVecProjectionGeometry3D::projectPoint(double fX, double fY, double } -void CParallelVecProjectionGeometry3D::backprojectPointX(int iAngleIndex, double fU, double fV, - double fX, double &fY, double &fZ) const -{ - ASTRA_ASSERT(iAngleIndex >= 0); - ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount); - - SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex]; - - 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; -} - -void CParallelVecProjectionGeometry3D::backprojectPointY(int iAngleIndex, double fU, double fV, - double fY, double &fX, double &fZ) const -{ - ASTRA_ASSERT(iAngleIndex >= 0); - ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount); - - SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex]; - - 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; -} - -void CParallelVecProjectionGeometry3D::backprojectPointZ(int iAngleIndex, double fU, double fV, - double fZ, double &fX, double &fY) const -{ - ASTRA_ASSERT(iAngleIndex >= 0); - ASTRA_ASSERT(iAngleIndex < m_iProjectionAngleCount); - - SPar3DProjection &proj = m_pProjectionAngles[iAngleIndex]; - - 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; -} - - //---------------------------------------------------------------------------------------- bool CParallelVecProjectionGeometry3D::_check() -- cgit v1.2.3