diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-04-18 11:51:32 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-04-18 11:51:32 +0200 |
commit | c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2 (patch) | |
tree | e9dc99f16607021d60ddb24c63ba7438e41a235d /cuda/2d/sirt.cu | |
parent | b8ee38bdada2067f4351b27d841e68580bcbff8e (diff) | |
parent | 547def0ea6e3eab07b7e4c48cee6d6a81f6155e1 (diff) | |
download | astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.tar.gz astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.tar.bz2 astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.tar.xz astra-c366f2b07ce16c4ccdafc7cc4199fdac2d3ffef2.zip |
Merge branch 'master' into aniso
Diffstat (limited to 'cuda/2d/sirt.cu')
-rw-r--r-- | cuda/2d/sirt.cu | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/cuda/2d/sirt.cu b/cuda/2d/sirt.cu index 162ee77..4baaccb 100644 --- a/cuda/2d/sirt.cu +++ b/cuda/2d/sirt.cu @@ -50,6 +50,8 @@ SIRT::SIRT() : ReconAlgo() D_minMaskData = 0; D_maxMaskData = 0; + fRelaxation = 1.0f; + freeMinMaxMasks = false; } @@ -83,6 +85,8 @@ void SIRT::reset() useVolumeMask = false; useSinogramMask = false; + fRelaxation = 1.0f; + ReconAlgo::reset(); } @@ -139,6 +143,9 @@ bool SIRT::precomputeWeights() processVol<opMul>(D_pixelWeight, D_maskData, pixelPitch, dims); } + // Also fold the relaxation factor into pixel weights + processVol<opMul>(D_pixelWeight, fRelaxation, pixelPitch, dims); + return true; } @@ -253,6 +260,7 @@ bool SIRT::iterate(unsigned int iterations) callBP(D_tmpData, tmpPitch, D_projData, projPitch, 1.0f); + // pixel weights also contain the volume mask and relaxation factor processVol<opAddMul>(D_volumeData, D_pixelWeight, D_tmpData, volumePitch, dims); if (useMinConstraint) |