diff options
Diffstat (limited to 'src/CudaProjector3D.cpp')
-rw-r--r-- | src/CudaProjector3D.cpp | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/src/CudaProjector3D.cpp b/src/CudaProjector3D.cpp index 2f4c799..d2fd74c 100644 --- a/src/CudaProjector3D.cpp +++ b/src/CudaProjector3D.cpp @@ -62,6 +62,8 @@ void CCudaProjector3D::_clear() m_bIsInitialized = false; m_projectionKernel = ker3d_default; + m_iVoxelSuperSampling = 1; + m_iDetectorSuperSampling = 1; } //---------------------------------------------------------------------------------------- @@ -105,10 +107,10 @@ bool CCudaProjector3D::initialize(const Config& _cfg) return false; } - XMLNode* node = _cfg.self->getSingleNode("ProjectionKernel"); + XMLNode node = _cfg.self.getSingleNode("ProjectionKernel"); m_projectionKernel = ker3d_default; if (node) { - std::string sProjKernel = node->getContent(); + std::string sProjKernel = node.getContent(); if (sProjKernel == "default") { @@ -118,9 +120,14 @@ bool CCudaProjector3D::initialize(const Config& _cfg) return false; } } - ASTRA_DELETE(node); CC.markNodeParsed("ProjectionKernel"); + m_iVoxelSuperSampling = (int)_cfg.self.getOptionNumerical("VoxelSuperSampling", 1); + CC.markOptionParsed("VoxelSuperSampling"); + + m_iDetectorSuperSampling = (int)_cfg.self.getOptionNumerical("DetectorSuperSampling", 1); + CC.markOptionParsed("DetectorSuperSampling"); + m_bIsInitialized = _check(); return m_bIsInitialized; } |