diff options
author | Wim van Aarle <wimvanaarle@gmail.com> | 2015-05-26 15:43:08 +0200 |
---|---|---|
committer | Wim van Aarle <wimvanaarle@gmail.com> | 2015-05-26 15:43:08 +0200 |
commit | 3117c7a61a83ca28ba00211d1eb65eaf13a7307a (patch) | |
tree | 4851ae878cf499deb2ae2f77575b3c48ecaf5d04 /src/ProjectionGeometry3D.cpp | |
parent | 9e884e760b71be354c08892f6bce2efe723917b3 (diff) | |
parent | 57668bcdd086145eb14598e32fd5d0dca711865c (diff) | |
download | astra-3117c7a61a83ca28ba00211d1eb65eaf13a7307a.tar.gz astra-3117c7a61a83ca28ba00211d1eb65eaf13a7307a.tar.bz2 astra-3117c7a61a83ca28ba00211d1eb65eaf13a7307a.tar.xz astra-3117c7a61a83ca28ba00211d1eb65eaf13a7307a.zip |
Merge remote-tracking branch 'upstream/master' into parallel_vec
Conflicts:
astra_vc11.vcxproj.filters
python/astra/functions.py
src/ParallelBeamBlobKernelProjector2D.cpp
src/ProjectionGeometry2D.cpp
Diffstat (limited to 'src/ProjectionGeometry3D.cpp')
-rw-r--r-- | src/ProjectionGeometry3D.cpp | 25 |
1 files changed, 10 insertions, 15 deletions
diff --git a/src/ProjectionGeometry3D.cpp b/src/ProjectionGeometry3D.cpp index 5b77767..ef0246c 100644 --- a/src/ProjectionGeometry3D.cpp +++ b/src/ProjectionGeometry3D.cpp @@ -149,38 +149,34 @@ bool CProjectionGeometry3D::initialize(const Config& _cfg) ASTRA_ASSERT(_cfg.self); // Required: DetectorWidth - XMLNode* node = _cfg.self->getSingleNode("DetectorSpacingX"); + XMLNode node = _cfg.self.getSingleNode("DetectorSpacingX"); ASTRA_CONFIG_CHECK(node, "ProjectionGeometry3D", "No DetectorSpacingX tag specified."); - m_fDetectorSpacingX = boost::lexical_cast<float32>(node->getContent()); - ASTRA_DELETE(node); + m_fDetectorSpacingX = boost::lexical_cast<float32>(node.getContent()); CC.markNodeParsed("DetectorSpacingX"); // Required: DetectorHeight - node = _cfg.self->getSingleNode("DetectorSpacingY"); + node = _cfg.self.getSingleNode("DetectorSpacingY"); ASTRA_CONFIG_CHECK(node, "ProjectionGeometry3D", "No DetectorSpacingY tag specified."); - m_fDetectorSpacingY = boost::lexical_cast<float32>(node->getContent()); - ASTRA_DELETE(node); + m_fDetectorSpacingY = boost::lexical_cast<float32>(node.getContent()); CC.markNodeParsed("DetectorSpacingY"); // Required: DetectorRowCount - node = _cfg.self->getSingleNode("DetectorRowCount"); + node = _cfg.self.getSingleNode("DetectorRowCount"); ASTRA_CONFIG_CHECK(node, "ProjectionGeometry3D", "No DetectorRowCount tag specified."); - m_iDetectorRowCount = boost::lexical_cast<int>(node->getContent()); - ASTRA_DELETE(node); + m_iDetectorRowCount = boost::lexical_cast<int>(node.getContent()); CC.markNodeParsed("DetectorRowCount"); // Required: DetectorCount - node = _cfg.self->getSingleNode("DetectorColCount"); + node = _cfg.self.getSingleNode("DetectorColCount"); ASTRA_CONFIG_CHECK(node, "ProjectionGeometry3D", "No DetectorColCount tag specified."); - m_iDetectorColCount = boost::lexical_cast<int>(node->getContent()); + m_iDetectorColCount = boost::lexical_cast<int>(node.getContent()); m_iDetectorTotCount = m_iDetectorRowCount * m_iDetectorColCount; - ASTRA_DELETE(node); CC.markNodeParsed("DetectorColCount"); // Required: ProjectionAngles - node = _cfg.self->getSingleNode("ProjectionAngles"); + node = _cfg.self.getSingleNode("ProjectionAngles"); ASTRA_CONFIG_CHECK(node, "ProjectionGeometry3D", "No ProjectionAngles tag specified."); - vector<float32> angles = node->getContentNumericalArray(); + vector<float32> angles = node.getContentNumericalArray(); m_iProjectionAngleCount = angles.size(); ASTRA_CONFIG_CHECK(m_iProjectionAngleCount > 0, "ProjectionGeometry3D", "Not enough ProjectionAngles specified."); m_pfProjectionAngles = new float32[m_iProjectionAngleCount]; @@ -188,7 +184,6 @@ bool CProjectionGeometry3D::initialize(const Config& _cfg) m_pfProjectionAngles[i] = angles[i]; } CC.markNodeParsed("ProjectionAngles"); - ASTRA_DELETE(node); // Interface class, so don't return true return false; |