summaryrefslogtreecommitdiffstats
path: root/src/ParallelVecProjectionGeometry3D.cpp
diff options
context:
space:
mode:
authorWim van Aarle <wimvanaarle@gmail.com>2015-05-26 15:43:08 +0200
committerWim van Aarle <wimvanaarle@gmail.com>2015-05-26 15:43:08 +0200
commit3117c7a61a83ca28ba00211d1eb65eaf13a7307a (patch)
tree4851ae878cf499deb2ae2f77575b3c48ecaf5d04 /src/ParallelVecProjectionGeometry3D.cpp
parent9e884e760b71be354c08892f6bce2efe723917b3 (diff)
parent57668bcdd086145eb14598e32fd5d0dca711865c (diff)
downloadastra-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/ParallelVecProjectionGeometry3D.cpp')
-rw-r--r--src/ParallelVecProjectionGeometry3D.cpp25
1 files changed, 11 insertions, 14 deletions
diff --git a/src/ParallelVecProjectionGeometry3D.cpp b/src/ParallelVecProjectionGeometry3D.cpp
index dc325e9..ffad6d0 100644
--- a/src/ParallelVecProjectionGeometry3D.cpp
+++ b/src/ParallelVecProjectionGeometry3D.cpp
@@ -73,33 +73,30 @@ bool CParallelVecProjectionGeometry3D::initialize(const Config& _cfg)
ASTRA_ASSERT(_cfg.self);
ConfigStackCheck<CProjectionGeometry3D> CC("ParallelVecProjectionGeometry3D", this, _cfg);
- XMLNode* node;
+ XMLNode node;
// TODO: Fix up class hierarchy... this class doesn't fit very well.
// initialization of parent class
//CProjectionGeometry3D::initialize(_cfg);
// Required: DetectorRowCount
- node = _cfg.self->getSingleNode("DetectorRowCount");
+ node = _cfg.self.getSingleNode("DetectorRowCount");
ASTRA_CONFIG_CHECK(node, "ParallelVecProjectionGeometry3D", "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, "", "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: Vectors
- node = _cfg.self->getSingleNode("Vectors");
+ node = _cfg.self.getSingleNode("Vectors");
ASTRA_CONFIG_CHECK(node, "ParallelVecProjectionGeometry3D", "No Vectors tag specified.");
- vector<double> data = node->getContentNumericalArrayDouble();
+ vector<double> data = node.getContentNumericalArrayDouble();
CC.markNodeParsed("Vectors");
- ASTRA_DELETE(node);
ASTRA_CONFIG_CHECK(data.size() % 12 == 0, "ParallelVecProjectionGeometry3D", "Vectors doesn't consist of 12-tuples.");
m_iProjectionAngleCount = data.size() / 12;
m_pProjectionAngles = new SPar3DProjection[m_iProjectionAngleCount];
@@ -208,9 +205,9 @@ Config* CParallelVecProjectionGeometry3D::getConfiguration() const
Config* cfg = new Config();
cfg->initialize("ProjectionGeometry3D");
- cfg->self->addAttribute("type", "parallel3d_vec");
- cfg->self->addChildNode("DetectorRowCount", m_iDetectorRowCount);
- cfg->self->addChildNode("DetectorColCount", m_iDetectorColCount);
+ cfg->self.addAttribute("type", "parallel3d_vec");
+ cfg->self.addChildNode("DetectorRowCount", m_iDetectorRowCount);
+ cfg->self.addChildNode("DetectorColCount", m_iDetectorColCount);
std::string vectors = "";
for (int i = 0; i < m_iProjectionAngleCount; ++i) {
@@ -229,7 +226,7 @@ Config* CParallelVecProjectionGeometry3D::getConfiguration() const
vectors += boost::lexical_cast<string>(p.fDetVZ);
if (i < m_iProjectionAngleCount-1) vectors += ';';
}
- cfg->self->addChildNode("Vectors", vectors);
+ cfg->self.addChildNode("Vectors", vectors);
return cfg;
}