diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-03-23 15:50:24 +0100 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2016-03-23 16:03:21 +0100 |
commit | 16430239d04ff738a21146c410918c285552543f (patch) | |
tree | 4a4e894d6ece87888b71bb69c32e53721fb7e2a9 /cuda/3d/sirt3d.cu | |
parent | 5edb35edc2c721b458334a65512b534912c2c542 (diff) | |
download | astra-16430239d04ff738a21146c410918c285552543f.tar.gz astra-16430239d04ff738a21146c410918c285552543f.tar.bz2 astra-16430239d04ff738a21146c410918c285552543f.tar.xz astra-16430239d04ff738a21146c410918c285552543f.zip |
Add relaxation parameters to SIRT3D
Diffstat (limited to 'cuda/3d/sirt3d.cu')
-rw-r--r-- | cuda/3d/sirt3d.cu | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/cuda/3d/sirt3d.cu b/cuda/3d/sirt3d.cu index 484521e..713944b 100644 --- a/cuda/3d/sirt3d.cu +++ b/cuda/3d/sirt3d.cu @@ -59,6 +59,8 @@ SIRT::SIRT() : ReconAlgo3D() useMinConstraint = false; useMaxConstraint = false; + + fRelaxation = 1.0f; } @@ -89,6 +91,8 @@ void SIRT::reset() useVolumeMask = false; useSinogramMask = false; + fRelaxation = 1.0f; + ReconAlgo3D::reset(); } @@ -196,6 +200,8 @@ bool SIRT::precomputeWeights() // scale pixel weights with mask to zero out masked pixels processVol3D<opMul>(D_pixelWeight, D_maskData, dims); } + processVol3D<opMul>(D_pixelWeight, fRelaxation, dims); + return true; } @@ -307,7 +313,7 @@ bool SIRT::iterate(unsigned int iterations) } #endif - + // pixel weights also contain the volume mask and relaxation factor processVol3D<opAddMul>(D_volumeData, D_tmpData, D_pixelWeight, dims); if (useMinConstraint) |