diff options
author | Willem Jan Palenstijn <wjp@usecode.org> | 2019-02-19 10:47:45 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-02-19 10:47:45 +0100 |
commit | 3d07f5b107eeb796573d4a74e46367cf1bfb2abf (patch) | |
tree | 63b9edf1c08fdbc50acdb61c737417b56aa7e7d1 /src/ParallelBeamBlobKernelProjector2D.cpp | |
parent | 8190865b347cd358966855519bffa64eb33a636f (diff) | |
parent | 22342b7a1bd169c474cf323709e36f553ac4aee1 (diff) | |
download | astra-3d07f5b107eeb796573d4a74e46367cf1bfb2abf.tar.gz astra-3d07f5b107eeb796573d4a74e46367cf1bfb2abf.tar.bz2 astra-3d07f5b107eeb796573d4a74e46367cf1bfb2abf.tar.xz astra-3d07f5b107eeb796573d4a74e46367cf1bfb2abf.zip |
Merge pull request #183 from wjp/par2d_dd
Add basic implementation of par2d CPU Distance Driven projector
Diffstat (limited to 'src/ParallelBeamBlobKernelProjector2D.cpp')
-rw-r--r-- | src/ParallelBeamBlobKernelProjector2D.cpp | 45 |
1 files changed, 0 insertions, 45 deletions
diff --git a/src/ParallelBeamBlobKernelProjector2D.cpp b/src/ParallelBeamBlobKernelProjector2D.cpp index da21024..0fb658f 100644 --- a/src/ParallelBeamBlobKernelProjector2D.cpp +++ b/src/ParallelBeamBlobKernelProjector2D.cpp @@ -212,48 +212,3 @@ void CParallelBeamBlobKernelProjector2D::computeSingleRayWeights(int _iProjectio projectSingleRay(_iProjectionIndex, _iDetectorIndex, p); _iStoredPixelCount = p.getStoredPixelCount(); } -//---------------------------------------------------------------------------------------- -// Splat a single point -std::vector<SDetector2D> CParallelBeamBlobKernelProjector2D::projectPoint(int _iRow, int _iCol) -{ - // float32 x = m_pVolumeGeometry->pixelColToCenterX(_iCol); - // float32 y = m_pVolumeGeometry->pixelRowToCenterY(_iRow); - - // std::vector<SDetector2D> res; - // // loop projectors and detectors - // for (int iProjection = 0; iProjection < m_pProjectionGeometry->getProjectionAngleCount(); ++iProjection) { - - // // get projection angle - // float32 theta = m_pProjectionGeometry->getProjectionAngle(iProjection); - // if (theta >= 7*PIdiv4) theta -= 2*PI; - // bool inverse = false; - // if (theta >= 3*PIdiv4) { - // theta -= PI; - // inverse = true; - // } - - // // calculate distance from the center of the voxel to the ray though the origin - // float32 t = x * cos(theta) + y * sin(theta); - // if (inverse) t *= -1.0f; - - // // calculate the offset on the detectorarray (in indices) - // float32 d = m_pProjectionGeometry->detectorOffsetToIndexFloat(t); - // int dmin = (int)ceil(d - m_fBlobSize); - // int dmax = (int)floor(d + m_fBlobSize); - - // // add affected detectors to the list - // for (int i = dmin; i <= dmax; ++i) { - // if (d >= 0 && d < m_pProjectionGeometry->getDetectorCount()) { - // SDetector2D det; - // det.m_iAngleIndex = iProjection; - // det.m_iDetectorIndex = i; - // det.m_iIndex = iProjection * getProjectionGeometry()->getDetectorCount() + i; - // res.push_back(det); - // } - // } - // } - - // // return result vector - // return res; - return std::vector<SDetector2D>(); -} |