summaryrefslogtreecommitdiffstats
path: root/cuda/3d/dims3d.h
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2016-10-07 16:25:52 +0200
committerGitHub <noreply@github.com>2016-10-07 16:25:52 +0200
commite4b8b6e94be7c5f7dbaad51543c5eace8882a115 (patch)
tree435152709bffadcac0ce6dba4966fa683e97164b /cuda/3d/dims3d.h
parent7bb42ddd9e26fc7c01734d26bc114b5a935d9110 (diff)
parente38a4dc774d3f7ca78cec7f16710afd583709b10 (diff)
downloadastra-e4b8b6e94be7c5f7dbaad51543c5eace8882a115.tar.gz
astra-e4b8b6e94be7c5f7dbaad51543c5eace8882a115.tar.bz2
astra-e4b8b6e94be7c5f7dbaad51543c5eace8882a115.tar.xz
astra-e4b8b6e94be7c5f7dbaad51543c5eace8882a115.zip
Merge pull request #41 from wjp/aniso
Add support for non-cube voxels
Diffstat (limited to 'cuda/3d/dims3d.h')
-rw-r--r--cuda/3d/dims3d.h22
1 files changed, 22 insertions, 0 deletions
diff --git a/cuda/3d/dims3d.h b/cuda/3d/dims3d.h
index 5437a85..a15c67a 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,23 @@ 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),
+ fVolScaleX(1.0f), fVolScaleY(1.0f), fVolScaleZ(1.0f),
+ ker(ker3d_default)
+ { }
+
unsigned int iRaysPerDetDim;
unsigned int iRaysPerVoxelDim;
+ float fOutputScale;
+ float fVolScaleX;
+ float fVolScaleY;
+ float fVolScaleZ;
+ Cuda3DProjectionKernel ker;
};
}