summaryrefslogtreecommitdiffstats
path: root/cuda
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <WillemJan.Palenstijn@uantwerpen.be>2014-04-16 11:13:26 +0000
committerwpalenst <WillemJan.Palenstijn@uantwerpen.be>2014-04-16 11:13:26 +0000
commit959f476f456b147999649ec3a8cca10017b2ad6c (patch)
tree94964827cf31c9c16d1659d5a6c4940aee1a0796 /cuda
parent0c77eee16e2f4161c1ebc110b15ce6563d4a96c2 (diff)
downloadastra-959f476f456b147999649ec3a8cca10017b2ad6c.tar.gz
astra-959f476f456b147999649ec3a8cca10017b2ad6c.tar.bz2
astra-959f476f456b147999649ec3a8cca10017b2ad6c.tar.xz
astra-959f476f456b147999649ec3a8cca10017b2ad6c.zip
Add support for short-scan fan-beam FBP
Note that currently angles have to be negative for this to work. (This should be changed.)
Diffstat (limited to 'cuda')
-rw-r--r--cuda/3d/fdk.cu6
1 files changed, 5 insertions, 1 deletions
diff --git a/cuda/3d/fdk.cu b/cuda/3d/fdk.cu
index fd5a8a2..45b6a28 100644
--- a/cuda/3d/fdk.cu
+++ b/cuda/3d/fdk.cu
@@ -267,7 +267,11 @@ __global__ void devFDK_ParkerWeight(void* D_projData, unsigned int projPitch, un
//const float fGamma = atanf(fU / fCentralRayLength);
//const float fBeta = gC_angle[angle];
const float fGamma = atanf(fU / fCentralRayLength);
- const float fBeta = -gC_angle[angle];
+ float fBeta = -gC_angle[angle];
+ if (fBeta < 0.0f)
+ fBeta += 2*M_PI;
+ if (fBeta >= 2*M_PI)
+ fBeta -= 2*M_PI;
// compute the weight depending on the location in the central fan's radon
// space