Unfortunately, SciPy does not support mat files that contain new-style class objects (those defined with classdef
), nor does any third-party mat-file reader as far as I’m aware. That __function_workspace__
element in the returned mat
dictionary contains the information you’re after in some undocumented and as-yet-not-reverse-engineered way.
The easiest solution is to convert your custom classes into basic struct
objects within Matlab before saving them to disk. This can be achieved (albeit with a warning) by simply calling struct(futureDS)
. It exposes all public and private properties as plain fields, which can be read by any third-party reader worth its salt.
(More technically, Matlab saves these objects with the Matlab Array type id of 17; the official documentation (PDF) only enumerates types up through 15).