]> Creatis software - gdcm.git/blobdiff - gdcmPython/gdcm.i
* FIX : Set the elements to create the DicomDir in a dictionary file
[gdcm.git] / gdcmPython / gdcm.i
index 02ddf0acb41059d252386ff90b085057356a7b88..acdc94811e0aae84f4aa9e8bc7186663a910ccc3 100644 (file)
@@ -4,10 +4,21 @@
 #include "gdcmDictEntry.h"
 #include "gdcmDict.h"
 #include "gdcmDictSet.h"
-#include "gdcmElValue.h"
-#include "gdcmElValSet.h"
+#include "gdcmParser.h"
+#include "gdcmHeaderEntry.h"
 #include "gdcmHeader.h"
+#include "gdcmHeaderHelper.h"
 #include "gdcmFile.h"
+#include "gdcmUtil.h"
+#include "gdcmObject.h"
+#include "gdcmDicomDir.h"
+#include "gdcmDicomDirElement.h"
+#include "gdcmPatient.h"
+#include "gdcmStudy.h"
+#include "gdcmSerie.h"
+#include "gdcmImage.h"
+#include "gdcmDirList.h"
+
 using namespace std;
 
 // Utility functions on strings for removing leading and trailing spaces
@@ -22,7 +33,13 @@ typedef  unsigned short guint16;
 typedef  unsigned int guint32;
 
 ////////////////////////////////////////////////////////////////////////////
-%typemap(out) list<string> * {
+// Global variables get exported to cvar in Python
+%immutable;
+extern gdcmGlobal gdcmGlob;
+%mutable;
+
+////////////////////////////////////////////////////////////////////////////
+%typemap(out) std::list<std::string> * {
        PyObject* NewItem = (PyObject*)0;
        PyObject* NewList = PyList_New(0); // The result of this typemap
        for (list<string>::iterator NewString = ($1)->begin();
@@ -35,7 +52,7 @@ typedef  unsigned int guint32;
 
 ////////////////////////////////////////////////////////////////////////////
 // Convert a c++ hash table in a python native dictionary
-%typemap(out) map<string, list<string> > * {
+%typemap(out) std::map<std::string, std::list<std::string> > * {
        PyObject* NewDict = PyDict_New(); // The result of this typemap
        PyObject* NewKey = (PyObject*)0;
        PyObject* NewVal = (PyObject*)0;
@@ -60,14 +77,14 @@ typedef  unsigned int guint32;
 
 ////////////////////////////////////////////////////////////////////////////
 // Convert a c++ hash table in a python native dictionary
-%typemap(out) TagElValueHT & {
+%typemap(out) TagHeaderEntryHT & {
        PyObject* NewDict = PyDict_New(); // The result of this typemap
        string RawName;                   // Element name as gotten from gdcm
        PyObject* NewKey = (PyObject*)0;  // Associated name as python object
        string RawValue;                  // Element value as gotten from gdcm
        PyObject* NewVal = (PyObject*)0;  // Associated value as python object
 
-       for (TagElValueHT::iterator tag = $1->begin(); tag != $1->end(); ++tag) {
+       for (TagHeaderEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag) {
 
                // The element name shall be the key:
                RawName = tag->second->GetName();
@@ -90,17 +107,30 @@ typedef  unsigned int guint32;
 
 ////////////////////////////////////////////////////////////////////////////
 // Deals with function returning a C++ string.
-%typemap(out) string  {
+%typemap(out) string, std::string  {
     $result = PyString_FromString(($1).c_str());
 }
 
+%typemap(python, in) const std::string, std::string
+{
+  $1 = PyString_AsString($input);
+}
 ////////////////////////////////////////////////////////////////////////////
 %include "gdcmCommon.h"
 %include "gdcmDictEntry.h"
 %include "gdcmDict.h"
 %include "gdcmDictSet.h"
-%include "gdcmElValue.h"
-%include "gdcmElValSet.h"
+%include "gdcmParser.h"
+%include "gdcmHeaderEntry.h"
 %include "gdcmHeader.h"
+%include "gdcmHeaderHelper.h"
 %include "gdcmFile.h"
-
+%include "gdcmUtil.h"
+%include "gdcmObject.h"
+%include "gdcmDicomDir.h"
+%include "gdcmDicomDirElement.h"
+%include "gdcmPatient.h"
+%include "gdcmStudy.h"
+%include "gdcmSerie.h"
+%include "gdcmImage.h"
+%include "gdcmDirList.h"