I have a series of collected metadata files. I have taken both the
gr_read_file_metadata.py and parse_file_metadata.py scripts and hacked
them
to my own needs. What I would like to do is convert the PMT to python
dictionary (already done in the vanilla files) and save the dicitonary
as a
Matlab .mat file format. SciPy has the necessary libraries and functions
to
save with the savemat command, the problem is, at least I believe it is
the
PMTs are being problematic.
For example I convert all headers to a dictionary and try to save just
that
and I get this error:
/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio.py:165:
FutureWarning: Using oned_as default value (‘column’) This will change
to
‘row’ in future versions
oned_as=oned_as)
Traceback (most recent call last):
File “./parser_mat.py”, line 71, in
main(filename, options.savefile, options.detached, options.computer)
File “./parser_mat.py”, line 51, in main
scipy.io.savemat(savefile, dict(info))
File “/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio.py”, line
168, in savemat
MW.put_variables(mdict)
File “/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py”,
line
1217, in put_variables
mat_writer.write()
File “/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py”,
line
897, in write
self._write_items()
File “/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py”,
line
941, in _write_items
MW = MWG.matrix_writer_factory(self.file_stream, el[f])
File “/usr/lib64/python2.6/site-packages/scipy/io/matlab/mio5.py”,
line
1094, in matrix_writer_factory
% (arr, type(arr)))
TypeError: Could not convert
_30320b0200000000_p_boost__intrusive_ptrT_pmt__pmt_base_t (type <type
‘SwigPyObject’>) to array
The snippet of code to save is this:
scip.io.savemat(savefile, dict(info))
savefile is a string that is a user set arguement. info is the
dictionary.
I don’t know if anyone on this list has tried to do what I am doing but
I
would appreciate any insight on where this is going wrong, especially if
the problem is on my end.
Thanks
Jonathan F.