summaryrefslogtreecommitdiffstats
path: root/src/CudaSirtAlgorithm.cpp
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-03-23 15:30:56 +0100
committerWillem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl>2016-03-23 16:03:21 +0100
commit5edb35edc2c721b458334a65512b534912c2c542 (patch)
tree15e65ffa5de215950c75ae85cf97e92eb7f49dea /src/CudaSirtAlgorithm.cpp
parentf03ceb16d2dbde0c43e8c90683c5feafe01e5356 (diff)
downloadastra-5edb35edc2c721b458334a65512b534912c2c542.tar.gz
astra-5edb35edc2c721b458334a65512b534912c2c542.tar.bz2
astra-5edb35edc2c721b458334a65512b534912c2c542.tar.xz
astra-5edb35edc2c721b458334a65512b534912c2c542.zip
Add relaxation parameters to SIRT, SART
Diffstat (limited to 'src/CudaSirtAlgorithm.cpp')
-rw-r--r--src/CudaSirtAlgorithm.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/CudaSirtAlgorithm.cpp b/src/CudaSirtAlgorithm.cpp
index 7beb30e..c8dc677 100644
--- a/src/CudaSirtAlgorithm.cpp
+++ b/src/CudaSirtAlgorithm.cpp
@@ -50,6 +50,8 @@ CCudaSirtAlgorithm::CCudaSirtAlgorithm()
m_pMinMask = 0;
m_pMaxMask = 0;
+
+ m_fLambda = 1.0f;
}
//----------------------------------------------------------------------------------------
@@ -86,6 +88,8 @@ bool CCudaSirtAlgorithm::initialize(const Config& _cfg)
}
CC.markOptionParsed("MaxMaskId");
+ m_fLambda = _cfg.self.getOptionNumerical("Relaxation", 1.0f);
+ CC.markOptionParsed("Relaxation");
m_pAlgo = new astraCUDA::SIRT();
m_bAlgoInit = false;
@@ -108,6 +112,7 @@ bool CCudaSirtAlgorithm::initialize(CProjector2D* _pProjector,
m_pAlgo = new astraCUDA::SIRT();
m_bAlgoInit = false;
+ m_fLambda = 1.0f;
return true;
}
@@ -130,6 +135,7 @@ void CCudaSirtAlgorithm::initCUDAAlgorithm()
ASTRA_ASSERT(ok);
}
+ pSirt->setRelaxation(m_fLambda);
}