Unable to open scipy.io.savemat mat file
David Bateman
dbateman at dbateman.org
Tue Jul 7 17:06:23 CDT 2009
Dickon Humphrey wrote:
> Bug report for Octave 3.2.0 configured for i686-pc-mingw32
>
> Description:
> -----------
>
> Octave will not open a mat file saved using scipy.io.savemat. I
> believe the version of scipy used is 0.7.0, which has recently been
> reworked. The release notes for scipy 0.7.0 state:
> The Matlab (TM) file readers/writers have a number of improvements:
>
> * default version 5
> * v5 writers for structures, cell arrays, and objects
> * v5 readers/writers for function handles and 64-bit integers
> * new struct_as_record keyword argument to ``loadmat``, which loads
> struct arrays in matlab as record arrays in numpy
> * string arrays have ``dtype='U...'`` instead of ``dtype=object``
>
> The error I get when opening the attached file is:
>
>> load D66_TH_Dcr2_POLG-RNAi-A2_small.mat
> error: unable to resize object to fewer than 2 dimensions
>
> The code that produces the mat file is the 'WriteMAT' function in the
> attached python file from an application called Ctrax
> (http://developer.berlios.de/projects/ctrax/ ).
>
I doubt this file loads in matlab either. Scalars and vectors in matlab
and octave have 2 dimension and thus the error.. See
octave:1> ndims (1)
ans = 2
octave:2> ndims (ones(1,5))
ans = 2
If the claim of scipy is compatibility with matlab then the mat-files
saved by scipy should always save scalars and vectors with 2 dimensions,
so I'd say report the bug to scipy. If scipy does want to do any thing
about it, then and only then a workaround in octave should be contemplated
D.
--
David Bateman dbateman at dbateman.org
35 rue Gambetta +33 1 46 04 02 18 (Home)
92100 Boulogne-Billancourt FRANCE +33 6 72 01 06 33 (Mob)
More information about the Bug-octave
mailing list