Calysto / matlab_kernel

Jupyter Kernel for Matlab
Other
469 stars 76 forks source link

Invalid MEX-file '...\mvmedian.mexw64': The specified procedure could not be found. #165

Closed Y-Akihiro closed 1 year ago

Y-Akihiro commented 1 year ago

I've set up a Jupyter Notebook 6.5.4 (python 3.9.17) to run MATLAB scripts (MATLAB 2023a is installed on a 64-bit Windows 10 PC) via the matlab_kernel, following the instructions.

Basic functions like peaks or plot(...) work with no issue on Jupyter with matlab_kernel.

However, I got an error when executing a function that calls medfilt1.m in the signal toolbox (..\MATLAB\R2020a\toolbox\signal\signal\medfilt1.m).

The error message says,

Invalid MEX-file 'C:\Users\...\mvmedian.mexw64': The specified procedure could not be found.

I noticed that medfilt1.m calls mvmedian() (y = mvmedian(x,n,dim,'central',missing,padding)) and mvmedian.mexw64 file does exist in ..\MATLAB\R2020a\toolbox\signal\signal\private.

The function runs without any issue when I run the same script directly in MATLAB, and someone suggested that this might be something to do with matlab_kernel.

If anyone knows why this happens or how to fix this issue, please let me know.

Y-Akihiro commented 1 year ago

It seems like private folder in the signal processing toolbox is inaccessible from Jupyter Notebook.

The code now works after installing jupyter-matlab-proxy as described here and copying and adding the private folder (and change the name) into the path.