-////////////////////////////////////////////////////////////////////////////
-// Convert a c++ hash table in a python native dictionary
-%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 (TagHeaderEntryHT::iterator tag = $1->begin(); tag != $1->end(); ++tag) {
-
- // The element name shall be the key:
- RawName = tag->second->GetName();
- // gdcm unrecognized (including not loaded because their size exceeds
- // the user specified treshold) elements are exported with their
- // TagKey as key.
- if (RawName == "Unknown")
- RawName = tag->second->GetKey();
- NewKey = PyString_FromString(RawName.c_str());
-
- // Element values are striped from leading/trailing spaces
- RawValue = tag->second->GetValue();
- EatLeadingAndTrailingSpaces(RawValue);
- NewVal = PyString_FromString(RawValue.c_str());
-
- PyDict_SetItem( NewDict, NewKey, NewVal);
- }
- $result = NewDict;
-}
-
-%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 (TagHeaderEntryHT::iterator tag = $1.begin(); tag != $1.end(); ++tag) {
-
- // The element name shall be the key:
- RawName = tag->second->GetName();
- // gdcm unrecognized (including not loaded because their size exceeds
- // the user specified treshold) elements are exported with their
- // TagKey as key.
- if (RawName == "Unknown")
- RawName = tag->second->GetKey();
- NewKey = PyString_FromString(RawName.c_str());
-
- // Element values are striped from leading/trailing spaces
- RawValue = tag->second->GetValue();
- EatLeadingAndTrailingSpaces(RawValue);
- NewVal = PyString_FromString(RawValue.c_str());
-
- PyDict_SetItem( NewDict, NewKey, NewVal);
- }
- $result = NewDict;
-}
-
-////////////////////////////////////////////////////////////////////////////
-%typemap(out) ListDicomDirPatient & {
- PyObject* NewItem = (PyObject*)0;
- $result = PyList_New(0); // The result of this typemap
-
- for (list<gdcmDicomDirPatient *>::iterator New = ($1)->begin();
- New != ($1)->end(); ++New) {
- NewItem = SWIG_NewPointerObj(*New,SWIGTYPE_p_gdcmDicomDirPatient,1);
- PyList_Append($result, NewItem);
- }
-}
-
-%typemap(out) ListStudy & {
- PyObject* NewItem = (PyObject*)0;
- $result = PyList_New(0); // The result of this typemap
-
- for (list<gdcmDicomDirStudy *>::iterator New = ($1)->begin();
- New != ($1)->end(); ++New) {
- NewItem = SWIG_NewPointerObj(*New,SWIGTYPE_p_gdcmDicomDirStudy,1);
- PyList_Append($result, NewItem);
- }
-}