summaryrefslogtreecommitdiffstats
path: root/python/astra/PyXMLDocument.pxd
diff options
context:
space:
mode:
authorDaniel M. Pelt <D.M.Pelt@cwi.nl>2015-02-24 12:35:45 +0100
committerDaniel M. Pelt <D.M.Pelt@cwi.nl>2015-02-24 12:35:45 +0100
commit3cae1d138c53a3fd042de3d2c9d9a07cf0650e0f (patch)
tree72f1bf197b33cfb64f259089830910a9754e5893 /python/astra/PyXMLDocument.pxd
parente212ab0d4f84adafa0a2fe11f5e16f856504769a (diff)
downloadastra-3cae1d138c53a3fd042de3d2c9d9a07cf0650e0f.tar.gz
astra-3cae1d138c53a3fd042de3d2c9d9a07cf0650e0f.tar.bz2
astra-3cae1d138c53a3fd042de3d2c9d9a07cf0650e0f.tar.xz
astra-3cae1d138c53a3fd042de3d2c9d9a07cf0650e0f.zip
Added Python interface
Diffstat (limited to 'python/astra/PyXMLDocument.pxd')
-rw-r--r--python/astra/PyXMLDocument.pxd65
1 files changed, 65 insertions, 0 deletions
diff --git a/python/astra/PyXMLDocument.pxd b/python/astra/PyXMLDocument.pxd
new file mode 100644
index 0000000..69781f1
--- /dev/null
+++ b/python/astra/PyXMLDocument.pxd
@@ -0,0 +1,65 @@
+#-----------------------------------------------------------------------
+#Copyright 2013 Centrum Wiskunde & Informatica, Amsterdam
+#
+#Author: Daniel M. Pelt
+#Contact: D.M.Pelt@cwi.nl
+#Website: http://dmpelt.github.io/pyastratoolbox/
+#
+#
+#This file is part of the Python interface to the
+#All Scale Tomographic Reconstruction Antwerp Toolbox ("ASTRA Toolbox").
+#
+#The Python interface to the ASTRA Toolbox is free software: you can redistribute it and/or modify
+#it under the terms of the GNU General Public License as published by
+#the Free Software Foundation, either version 3 of the License, or
+#(at your option) any later version.
+#
+#The Python interface to the ASTRA Toolbox is distributed in the hope that it will be useful,
+#but WITHOUT ANY WARRANTY; without even the implied warranty of
+#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+#GNU General Public License for more details.
+#
+#You should have received a copy of the GNU General Public License
+#along with the Python interface to the ASTRA Toolbox. If not, see <http://www.gnu.org/licenses/>.
+#
+#-----------------------------------------------------------------------
+# distutils: language = c++
+# distutils: libraries = astra
+
+from libcpp.string cimport string
+from libcpp cimport bool
+from libcpp.list cimport list
+from libcpp.vector cimport vector
+
+cdef extern from "astra/Globals.h" namespace "astra":
+ ctypedef float float32
+ ctypedef double float64
+ ctypedef unsigned short int uint16
+ ctypedef signed short int sint16
+ ctypedef unsigned char uchar8
+ ctypedef signed char schar8
+ ctypedef int int32
+ ctypedef short int int16
+
+cdef extern from "astra/XMLNode.h" namespace "astra":
+ cdef cppclass XMLNode:
+ string getName()
+ XMLNode *addChildNode(string name)
+ XMLNode *addChildNode(string, string)
+ void addAttribute(string, string)
+ void addAttribute(string, float32)
+ void addOption(string, string)
+ bool hasOption(string)
+ string getAttribute(string)
+ list[XMLNode *] getNodes()
+ vector[float32] getContentNumericalArray()
+ string getContent()
+ bool hasAttribute(string)
+
+cdef extern from "astra/XMLDocument.h" namespace "astra":
+ cdef cppclass XMLDocument:
+ void saveToFile(string sFilename)
+ XMLNode *getRootNode()
+
+cdef extern from "astra/XMLDocument.h" namespace "astra::XMLDocument":
+ cdef XMLDocument *createDocument(string rootname)