summaryrefslogtreecommitdiffstats
path: root/src/ForwardProjectionAlgorithm.cpp
diff options
context:
space:
mode:
authorWillem Jan Palenstijn <wjp@usecode.org>2015-05-08 14:12:53 +0200
committerWillem Jan Palenstijn <wjp@usecode.org>2015-05-08 14:12:53 +0200
commit99f46882982b92c632869053ae0dd416312b02ff (patch)
tree539252314daa42411d053e926134b289a750f14c /src/ForwardProjectionAlgorithm.cpp
parent63307fca7a82bfea7592d9c8d3a359333e622495 (diff)
parentfff7470f1d74b0085355130350fa834ea8d37069 (diff)
downloadastra-99f46882982b92c632869053ae0dd416312b02ff.tar.gz
astra-99f46882982b92c632869053ae0dd416312b02ff.tar.bz2
astra-99f46882982b92c632869053ae0dd416312b02ff.tar.xz
astra-99f46882982b92c632869053ae0dd416312b02ff.zip
Merge pull request #61 from wjp/xmlnode_cleanup
Clean up XMLNode
Diffstat (limited to 'src/ForwardProjectionAlgorithm.cpp')
-rw-r--r--src/ForwardProjectionAlgorithm.cpp23
1 files changed, 10 insertions, 13 deletions
diff --git a/src/ForwardProjectionAlgorithm.cpp b/src/ForwardProjectionAlgorithm.cpp
index b530491..f356824 100644
--- a/src/ForwardProjectionAlgorithm.cpp
+++ b/src/ForwardProjectionAlgorithm.cpp
@@ -126,37 +126,34 @@ bool CForwardProjectionAlgorithm::initialize(const Config& _cfg)
}
// projector
- XMLNode* node = _cfg.self->getSingleNode("ProjectorId");
+ XMLNode node = _cfg.self.getSingleNode("ProjectorId");
ASTRA_CONFIG_CHECK(node, "ForwardProjection", "No ProjectorId tag specified.");
- int id = boost::lexical_cast<int>(node->getContent());
+ int id = boost::lexical_cast<int>(node.getContent());
m_pProjector = CProjector2DManager::getSingleton().get(id);
- ASTRA_DELETE(node);
// sinogram data
- node = _cfg.self->getSingleNode("ProjectionDataId");
+ node = _cfg.self.getSingleNode("ProjectionDataId");
ASTRA_CONFIG_CHECK(node, "ForwardProjection", "No ProjectionDataId tag specified.");
- id = boost::lexical_cast<int>(node->getContent());
+ id = boost::lexical_cast<int>(node.getContent());
m_pSinogram = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));
- ASTRA_DELETE(node);
// volume data
- node = _cfg.self->getSingleNode("VolumeDataId");
+ node = _cfg.self.getSingleNode("VolumeDataId");
ASTRA_CONFIG_CHECK(node, "ForwardProjection", "No VolumeDataId tag specified.");
- id = boost::lexical_cast<int>(node->getContent());
+ id = boost::lexical_cast<int>(node.getContent());
m_pVolume = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));
- ASTRA_DELETE(node);
// volume mask
- if (_cfg.self->hasOption("VolumeMaskId")) {
+ if (_cfg.self.hasOption("VolumeMaskId")) {
m_bUseVolumeMask = true;
- id = boost::lexical_cast<int>(_cfg.self->getOption("VolumeMaskId"));
+ id = boost::lexical_cast<int>(_cfg.self.getOption("VolumeMaskId"));
m_pVolumeMask = dynamic_cast<CFloat32VolumeData2D*>(CData2DManager::getSingleton().get(id));
}
// sino mask
- if (_cfg.self->hasOption("SinogramMaskId")) {
+ if (_cfg.self.hasOption("SinogramMaskId")) {
m_bUseSinogramMask = true;
- id = boost::lexical_cast<int>(_cfg.self->getOption("SinogramMaskId"));
+ id = boost::lexical_cast<int>(_cfg.self.getOption("SinogramMaskId"));
m_pSinogramMask = dynamic_cast<CFloat32ProjectionData2D*>(CData2DManager::getSingleton().get(id));
}