summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/CompositeGeometryManager.cpp5
-rw-r--r--src/CudaFDKAlgorithm3D.cpp3
2 files changed, 5 insertions, 3 deletions
diff --git a/src/CompositeGeometryManager.cpp b/src/CompositeGeometryManager.cpp
index 470476e..8af430c 100644
--- a/src/CompositeGeometryManager.cpp
+++ b/src/CompositeGeometryManager.cpp
@@ -1202,8 +1202,9 @@ bool CCompositeGeometryManager::doFDK(CProjector3D *pProjector, CFloat32VolumeDa
CFloat32ProjectionData3D *pProjData, bool bShortScan,
const float *pfFilter, SJob::EMode eMode)
{
- if (!dynamic_cast<CConeProjectionGeometry3D*>(pProjData->getGeometry())) {
- ASTRA_ERROR("CCompositeGeometryManager::doFDK: cone geometry required");
+ if (!dynamic_cast<CConeProjectionGeometry3D*>(pProjData->getGeometry()) &&
+ !dynamic_cast<CConeVecProjectionGeometry3D*>(pProjData->getGeometry())) {
+ ASTRA_ERROR("CCompositeGeometryManager::doFDK: cone/cone_vec geometry required");
return false;
}
diff --git a/src/CudaFDKAlgorithm3D.cpp b/src/CudaFDKAlgorithm3D.cpp
index d503351..b2b9c06 100644
--- a/src/CudaFDKAlgorithm3D.cpp
+++ b/src/CudaFDKAlgorithm3D.cpp
@@ -31,6 +31,7 @@ along with the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
#include "astra/CudaProjector3D.h"
#include "astra/ConeProjectionGeometry3D.h"
+#include "astra/ConeVecProjectionGeometry3D.h"
#include "astra/CompositeGeometryManager.h"
#include "astra/Logging.h"
@@ -82,7 +83,7 @@ bool CCudaFDKAlgorithm3D::_check()
ASTRA_CONFIG_CHECK(CReconstructionAlgorithm3D::_check(), "CUDA_FDK", "Error in ReconstructionAlgorithm3D initialization");
const CProjectionGeometry3D* projgeom = m_pSinogram->getGeometry();
- ASTRA_CONFIG_CHECK(dynamic_cast<const CConeProjectionGeometry3D*>(projgeom), "CUDA_FDK", "Error setting FDK geometry");
+ ASTRA_CONFIG_CHECK(dynamic_cast<const CConeProjectionGeometry3D*>(projgeom) || dynamic_cast<const CConeVecProjectionGeometry3D*>(projgeom), "CUDA_FDK", "Error setting FDK geometry");
const CVolumeGeometry3D* volgeom = m_pReconstruction->getGeometry();