Skip to content

Latest commit

 

History

History
194 lines (111 loc) · 4.23 KB

File metadata and controls

194 lines (111 loc) · 4.23 KB

TODOs for matlab_wrapper

MAYBE IPython notebook support

Documentation

Apply guidelines from writethedocs.org

http://docs.writethedocs.org/

Sphinx

Python hosted

CONTRIBUTING

  • small code snippet illustrating an issue
  • python setup.py develop –user
  • py.test

FAQ

  • matlab_root (modify PATH, ln -s)
  • /bin/csh

CANCELED Spread the word

Show HN

reddit

  • python
  • matlab

comp.soft-sys.matlab

https://groups.google.com/forum/#!forum/comp.soft-sys.matlab

Python 3 support

Review PR #7 from David

mrkrd#7

Auto-detect the number of output arguments (nout)

CANCELED Auto-convert int to float in matlab.put()

Canceled: “Explicit is better than implicit”

The problem is that in MATLAB this conversion is implicit and writing e.g.

matlab.put(‘a’, 1) # <- here ‘a’ will be int

may lead to unexpected behaviors.

Could be activated via by a parameters:

matlab = matlab_wrapper.MatlabSession(auto_int_conversion=True)

Make sure that the MATLAB process is gone in __del__()

  • add `matlab._pid’ (use features(‘getpid’) in MATLAB, might not exist in older versions)
  • check the standard library for the best kill/terminate functions

MATLAB is unresponsive during execution of svd(). I did not find a way to reasonably kill the process (in destructor), because it hangs in the engClose().

m.workspace.svd(np.zeros((10000,10000)))
### Get MATLAB PID
try:
    pid = self.workspace.feature('getpid')
    self._pid = int(pid)
except RuntimeError:
    self._pid = None

Check for /bin/csh on Linux

/bin/csh is required by libeng and the lack of it could be detected by matlab_wrapper.

<2014-09-29 Mon>

Enable 32-bit versions

ralili mentioned that it seem to be working on Windows 7, where:

lib_dir = join(matlab_root, “bin”, “win32”)

Proper handling of char arrays (strings)

Branch: char_arrays

The equivalent type of MATLAB’s strings (char arrays) should be ndarray with dtype=S.

At the moment MATLAB’s multidimensional char array conversion to Python is not correct.

Error when getting empty Matlab object

Issue #6 by Jeremy Moreau

Explicit warning when using Python 3

Setup a mailing list

[email protected]

CANCELED Investigate `undefined symbol’ error

Canceled: not able to reproduce.

Might have something to do with matplotlib.

Eventually put in FAQ.

790 “”” 791 def __init__(self, name, **kwargs): –> 792 self._lib = ctypes.CDLL(name, **kwargs) 793 794 if ‘libeng’ in name:

/usr/lib/python2.7/ctypes/__init__.pyc in __init__(self, name, mode, handle, use_errno, use_last_error) 363 364 if handle is None: –> 365 self._handle = _dlopen(self._name, mode) 366 else: 367 self._handle = handle

OSError: /nfs/system/opt/MATLAB/R2014b/bin/glnxa64/libicuio.so.52: undefined symbol: _ZN6icu_5213UnicodeString9doReplaceEiiPKDsii

Investigate indexing in Numpy and MATLAB

https://groups.google.com/forum/#!topic/matlab_wrapper/wAp6veM6xgY

Numpy indexing comes form C.

In carr[i][j][k], k iterates the most inner row arrays.

arr.ravel(‘K’) flattens array in the order the elements occur in the memory.

matlab_wrapper has to take into account inverse indexing:

[i][j][k][l] <=> [l][k][j][i]

as well as row vs column of the inner most arrays:

[i][j][k][l] <=> [k][l][j][i]

Test string parameters (path) to a function (#15)

ftp://ftp.scp.byu.edu/pub/software/matlab/loadsir.m ftp://ftp.scp.byu.edu/data/qscat/1999/sir/queh/SAm/201/a/queh-a-SAm99-201-204.sir.gz

Create DOI for referencing

Conversion of a struct (#18)

mrkrd#18

Dimension of cellarrays (#19)

mrkrd#19