diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-10-07 16:36:28 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-10-07 16:36:28 +0200 |
commit | f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02 (patch) | |
tree | 6de18fc05a9ee0cf033675aadfd8514a97d9e7d1 /src/CudaFDKAlgorithm3D.cpp | |
parent | 741675b458bf23cf437a6c56f95483c5c66af774 (diff) | |
parent | 8f2b55a66db9747419e75dae5973281a7536b934 (diff) | |
download | astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.tar.gz astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.tar.bz2 astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.tar.xz astra-f6aa2db83dfea89f9d2cfc6fcbd3da141ee77e02.zip |
Merge branch 'master' into parallel_vec
Diffstat (limited to 'src/CudaFDKAlgorithm3D.cpp')
-rw-r--r-- | src/CudaFDKAlgorithm3D.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/src/CudaFDKAlgorithm3D.cpp b/src/CudaFDKAlgorithm3D.cpp index b5ce545..c7c8ed5 100644 --- a/src/CudaFDKAlgorithm3D.cpp +++ b/src/CudaFDKAlgorithm3D.cpp @@ -32,6 +32,7 @@ $Id$ #include "astra/CudaProjector3D.h" #include "astra/ConeProjectionGeometry3D.h" +#include "astra/CompositeGeometryManager.h" #include "astra/Logging.h" @@ -81,6 +82,17 @@ bool CCudaFDKAlgorithm3D::_check() const CProjectionGeometry3D* projgeom = m_pSinogram->getGeometry(); ASTRA_CONFIG_CHECK(dynamic_cast<const CConeProjectionGeometry3D*>(projgeom), "CUDA_FDK", "Error setting FDK geometry"); + + const CVolumeGeometry3D* volgeom = m_pReconstruction->getGeometry(); + bool cube = true; + if (abs(volgeom->getPixelLengthX() / volgeom->getPixelLengthY() - 1.0) > 0.00001) + cube = false; + if (abs(volgeom->getPixelLengthX() / volgeom->getPixelLengthZ() - 1.0) > 0.00001) + cube = false; + ASTRA_CONFIG_CHECK(cube, "CUDA_FDK", "Voxels must be cubes for FDK"); + + + return true; } @@ -195,6 +207,7 @@ void CCudaFDKAlgorithm3D::run(int _iNrIterations) ASTRA_ASSERT(pReconMem); +#if 0 bool ok = true; ok = astraCudaFDK(pReconMem->getData(), pSinoMem->getDataConst(), @@ -202,6 +215,13 @@ void CCudaFDKAlgorithm3D::run(int _iNrIterations) m_bShortScan, m_iGPUIndex, m_iVoxelSuperSampling); ASTRA_ASSERT(ok); +#endif + + CCompositeGeometryManager cgm; + + cgm.doFDK(m_pProjector, pReconMem, pSinoMem, m_bShortScan); + + } //---------------------------------------------------------------------------------------- |