summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-02-08 16:21:16 +0100
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-04-18 11:49:16 +0200
commitb8ee38bdada2067f4351b27d841e68580bcbff8e (patch)
tree2d6bcd829ad78f272351482d1308b2ff26253e94
parentce2f07278ada5c0fdf8a5ed3cb23350a782a6161 (diff)
downloadastra-b8ee38bdada2067f4351b27d841e68580bcbff8e.tar.gz
astra-b8ee38bdada2067f4351b27d841e68580bcbff8e.tar.bz2
astra-b8ee38bdada2067f4351b27d841e68580bcbff8e.tar.xz
astra-b8ee38bdada2067f4351b27d841e68580bcbff8e.zip
Restrict FDK_CUDA to cube voxels for now
-rw-r--r--src/CudaFDKAlgorithm3D.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/CudaFDKAlgorithm3D.cpp b/src/CudaFDKAlgorithm3D.cpp
index b5ce545..e101a42 100644
--- a/src/CudaFDKAlgorithm3D.cpp
+++ b/src/CudaFDKAlgorithm3D.cpp
@@ -81,6 +81,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;
}