summaryrefslogtreecommitdiffstats
path: root/cuda/2d/astra.cu
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2015-12-02 17:20:12 +0100
committerWillem Jan Palenstijn <wjp@usecode.org>2015-12-02 17:20:12 +0100
commitfd65fb03397ded59cfb872eb361e7d2e154c3335 (patch)
tree4c015188c6b5e33c1a9d88032f61a434063259fb /cuda/2d/astra.cu
parent6d57f7874713e6632c2e49590538c6a48ddcc311 (diff)
parentf637af457985fbcf6be5641e98df6d87ca622d24 (diff)
downloadastra-fd65fb03397ded59cfb872eb361e7d2e154c3335.tar.gz
astra-fd65fb03397ded59cfb872eb361e7d2e154c3335.tar.bz2
astra-fd65fb03397ded59cfb872eb361e7d2e154c3335.tar.xz
astra-fd65fb03397ded59cfb872eb361e7d2e154c3335.zip
Merge pull request #91 from wjp/volgeom3d
Remove restrictions on volgeom3d
Diffstat (limited to 'cuda/2d/astra.cu')
-rw-r--r--cuda/2d/astra.cu12
1 files changed, 5 insertions, 7 deletions
diff --git a/cuda/2d/astra.cu b/cuda/2d/astra.cu
index 2f72db0..4c69628 100644
--- a/cuda/2d/astra.cu
+++ b/cuda/2d/astra.cu
@@ -368,21 +368,19 @@ bool AstraFBP::run()
}
+ float fOutputScale = (M_PI / 2.0f) / (float)pData->dims.iProjAngles;
+
if (pData->bFanBeam) {
- ok = FanBP_FBPWeighted(pData->D_volumeData, pData->volumePitch, pData->D_sinoData, pData->sinoPitch, pData->dims, pData->fanProjections);
+ ok = FanBP_FBPWeighted(pData->D_volumeData, pData->volumePitch, pData->D_sinoData, pData->sinoPitch, pData->dims, pData->fanProjections, fOutputScale);
} else {
- ok = BP(pData->D_volumeData, pData->volumePitch, pData->D_sinoData, pData->sinoPitch, pData->dims, pData->angles, pData->TOffsets);
+ ok = BP(pData->D_volumeData, pData->volumePitch, pData->D_sinoData, pData->sinoPitch, pData->dims, pData->angles, pData->TOffsets, fOutputScale);
}
if(!ok)
{
return false;
}
- processVol<opMul>(pData->D_volumeData,
- (M_PI / 2.0f) / (float)pData->dims.iProjAngles,
- pData->volumePitch, pData->dims);
-
return true;
}
@@ -594,7 +592,7 @@ bool BPalgo::iterate(unsigned int)
{
// TODO: This zeroVolume makes an earlier memcpy of D_volumeData redundant
zeroVolumeData(D_volumeData, volumePitch, dims);
- callBP(D_volumeData, volumePitch, D_sinoData, sinoPitch);
+ callBP(D_volumeData, volumePitch, D_sinoData, sinoPitch, 1.0f);
return true;
}