diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2015-11-18 11:26:15 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2015-12-04 12:02:40 +0100 |
commit | b14fb531ad9ae3d565f2cf28f5506408ab10dbed (patch) | |
tree | 892d400e72f185b6c4a06aca464343737b135120 /src/CudaBackProjectionAlgorithm3D.cpp | |
parent | 3ea35516aceec4f5817871a00008b109777ebb13 (diff) | |
download | astra-b14fb531ad9ae3d565f2cf28f5506408ab10dbed.tar.gz astra-b14fb531ad9ae3d565f2cf28f5506408ab10dbed.tar.bz2 astra-b14fb531ad9ae3d565f2cf28f5506408ab10dbed.tar.xz astra-b14fb531ad9ae3d565f2cf28f5506408ab10dbed.zip |
Add CompositeGeometryManager
This handles FP and BP operations on multiple data objects at once,
splitting them to fit in GPU memory where necessary.
Diffstat (limited to 'src/CudaBackProjectionAlgorithm3D.cpp')
-rw-r--r-- | src/CudaBackProjectionAlgorithm3D.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/CudaBackProjectionAlgorithm3D.cpp b/src/CudaBackProjectionAlgorithm3D.cpp index 8cf4c3b..ce8e111 100644 --- a/src/CudaBackProjectionAlgorithm3D.cpp +++ b/src/CudaBackProjectionAlgorithm3D.cpp @@ -37,6 +37,7 @@ $Id$ #include "astra/ParallelProjectionGeometry3D.h" #include "astra/ParallelVecProjectionGeometry3D.h" #include "astra/ConeVecProjectionGeometry3D.h" +#include "astra/CompositeGeometryManager.h" #include "astra/Logging.h" @@ -203,9 +204,16 @@ void CCudaBackProjectionAlgorithm3D::run(int _iNrIterations) &volgeom, projgeom, m_iGPUIndex, m_iVoxelSuperSampling); } else { + +#if 1 + CCompositeGeometryManager cgm; + + cgm.doBP(m_pProjector, pReconMem, pSinoMem); +#else astraCudaBP(pReconMem->getData(), pSinoMem->getDataConst(), &volgeom, projgeom, m_iGPUIndex, m_iVoxelSuperSampling); +#endif } } |