X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=gdcmPython%2Fgdcm.i;h=1a1bc44f5f1150f611a688f82584d414718b8593;hb=b27cf9fabfbee9a178f64d0e2c08ff9cf9250909;hp=15c6ff385856456bb484cb600eb9450acdd28020;hpb=3e78befc911eac2ecc70747854911d1f803797b5;p=gdcm.git diff --git a/gdcmPython/gdcm.i b/gdcmPython/gdcm.i index 15c6ff38..1a1bc44f 100644 --- a/gdcmPython/gdcm.i +++ b/gdcmPython/gdcm.i @@ -4,11 +4,19 @@ #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" -using namespace std; +#include "gdcmUtil.h" +#include "gdcmObject.h" +#include "gdcmDicomDir.h" +#include "gdcmPatient.h" +#include "gdcmStudy.h" +#include "gdcmSerie.h" +#include "gdcmImage.h" + using namespace std; @@ -24,7 +32,13 @@ typedef unsigned short guint16; typedef unsigned int guint32; //////////////////////////////////////////////////////////////////////////// -%typemap(out) list * { +// Global variables get exported to cvar in Python +%immutable; +extern gdcmGlobal gdcmGlob; +%mutable; + +//////////////////////////////////////////////////////////////////////////// +%typemap(out) std::list * { PyObject* NewItem = (PyObject*)0; PyObject* NewList = PyList_New(0); // The result of this typemap for (list::iterator NewString = ($1)->begin(); @@ -37,7 +51,7 @@ typedef unsigned int guint32; //////////////////////////////////////////////////////////////////////////// // Convert a c++ hash table in a python native dictionary -%typemap(out) map > * { +%typemap(out) std::map > * { PyObject* NewDict = PyDict_New(); // The result of this typemap PyObject* NewKey = (PyObject*)0; PyObject* NewVal = (PyObject*)0; @@ -62,14 +76,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(); @@ -92,21 +106,28 @@ 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(out) std::string { - $result = PyString_FromString(($1).c_str()); -} -//////%apply int { std::int }; +%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 "gdcmPatient.h" +%include "gdcmStudy.h" +%include "gdcmSerie.h" +%include "gdcmImage.h"