summaryrefslogtreecommitdiffstats
path: root/cuda/3d/dims3d.h
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-02-04 13:56:06 +0100
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-02-10 17:00:42 +0100
commit559d3e599b7306e2de64f2a584d72bc5c98b692b (patch)
tree84cce1a91b3896783361a7ebbbe6c05fd1889104 /cuda/3d/dims3d.h
parent081355b609b11faf7f2d73414de9629e78cca2c5 (diff)
downloadastra-559d3e599b7306e2de64f2a584d72bc5c98b692b.tar.gz
astra-559d3e599b7306e2de64f2a584d72bc5c98b692b.tar.bz2
astra-559d3e599b7306e2de64f2a584d72bc5c98b692b.tar.xz
astra-559d3e599b7306e2de64f2a584d72bc5c98b692b.zip
Refactor CUDA projector params into struct
Diffstat (limited to 'cuda/3d/dims3d.h')
-rw-r--r--cuda/3d/dims3d.h18
1 files changed, 18 insertions, 0 deletions
diff --git a/cuda/3d/dims3d.h b/cuda/3d/dims3d.h
index 5437a85..569b395 100644
--- a/cuda/3d/dims3d.h
+++ b/cuda/3d/dims3d.h
@@ -37,6 +37,13 @@ namespace astraCUDA3d {
using astra::SConeProjection;
using astra::SPar3DProjection;
+
+enum Cuda3DProjectionKernel {
+ ker3d_default = 0,
+ ker3d_sum_square_weights
+};
+
+
struct SDimensions3D {
unsigned int iVolX;
unsigned int iVolY;
@@ -44,8 +51,19 @@ struct SDimensions3D {
unsigned int iProjAngles;
unsigned int iProjU; // number of detectors in the U direction
unsigned int iProjV; // number of detectors in the V direction
+};
+
+struct SProjectorParams3D {
+ SProjectorParams3D() :
+ iRaysPerDetDim(1), iRaysPerVoxelDim(1),
+ fOutputScale(1.0f),
+ ker(ker3d_default)
+ { }
+
unsigned int iRaysPerDetDim;
unsigned int iRaysPerVoxelDim;
+ float fOutputScale;
+ Cuda3DProjectionKernel ker;
};
}