diff options
author | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2015-10-08 11:24:49 +0200 |
---|---|---|
committer | Willem Jan Palenstijn <Willem.Jan.Palenstijn@cwi.nl> | 2015-10-09 12:10:31 +0200 |
commit | 003663649a191fc5bc011d6e5424496576b5e793 (patch) | |
tree | c7ae9cc0b3982ca461038f8c678dae834584b605 /src/CudaProjector2D.cpp | |
parent | 43a38c117405f99e3a1b498f899de4ba6d01a044 (diff) | |
download | astra-003663649a191fc5bc011d6e5424496576b5e793.tar.gz astra-003663649a191fc5bc011d6e5424496576b5e793.tar.bz2 astra-003663649a191fc5bc011d6e5424496576b5e793.tar.xz astra-003663649a191fc5bc011d6e5424496576b5e793.zip |
Improve option passing through CudaProjector2D
Not all constructors were reading options from the projector.
Also allow passing GPUIndex via CudaProjector2D.
Also refactor CudaReconstructionAlgorithm::initialize/check
to avoid code duplication with ReconstructionAlgorithm.
Diffstat (limited to 'src/CudaProjector2D.cpp')
-rw-r--r-- | src/CudaProjector2D.cpp | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/CudaProjector2D.cpp b/src/CudaProjector2D.cpp index a26e32d..acf6000 100644 --- a/src/CudaProjector2D.cpp +++ b/src/CudaProjector2D.cpp @@ -61,6 +61,7 @@ void CCudaProjector2D::_clear() m_projectionKernel = ker2d_default; m_iVoxelSuperSampling = 1; m_iDetectorSuperSampling = 1; + m_iGPUIndex = -1; } //---------------------------------------------------------------------------------------- @@ -125,18 +126,18 @@ bool CCudaProjector2D::initialize(const Config& _cfg) m_iDetectorSuperSampling = (int)_cfg.self.getOptionNumerical("DetectorSuperSampling", 1); CC.markOptionParsed("DetectorSuperSampling"); + // GPU number + m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUindex", -1); + m_iGPUIndex = (int)_cfg.self.getOptionNumerical("GPUIndex", m_iGPUIndex); + CC.markOptionParsed("GPUIndex"); + if (!_cfg.self.hasOption("GPUIndex")) + CC.markOptionParsed("GPUindex"); + + m_bIsInitialized = _check(); return m_bIsInitialized; } -/* -bool CProjector2D::initialize(astra::CProjectionGeometry2D *, astra::CVolumeGeometry2D *) -{ - ASTRA_ASSERT(false); - - return false; -} -*/ std::string CCudaProjector2D::description() const { |