I am running matlab on mac osx 10.4 (matlab 7.7.0 R2008b) and also on the unix server (matlab 7.11.0 R2010b), would you please tell me how I can compile the files on both of these machines.
I could run makeosmex.m on the unix machine without any error but when I tried to run demo_mi.m, it gave me the following error (I actually replaced log(2) with log(2.0) in estmutualinfo.cpp as well):
??? Undefined function or method 'estpab' for input arguments of
Error in ==> mutualinfo at 21
[p12, p1, p2] = estpab(vec1,vec2);
Error in ==> demo_mi at 25
On mac osx I even could not run makeosmex.m, it gave me the following error:
building mex(dll) of estcondentropy.cpp
/Applications/MATLAB_R2008b.app/bin/mex: line 1026: gcc-4.0: command not found
/Applications/MATLAB_R2008b.app/bin/mex: line 1005: gcc-4.0: command not found
/Applications/MATLAB_R2008b.app/bin/mex: line 1: g++-4.0: command not found
mex: compile of ' "estcondentropy.cpp"' failed.
??? Error using ==> mex at 213
Unable to complete successfully.
Error in ==> makeosmex at 25
I would really appreciate it if you could help me compile the files and execute mutualinfo.m, it is my first time compiling a C source code on matlab and I have no idea how it works. I would be grateful if you could guide me step by step. Thank you for your time.
please send your answer as a comment on this page.
Darlis, I know MATLAB has introduced updates to its built-in function convhull across the different versions since MATLAB Version: 7.01. But thanks for letting me know that and for your suggestion, I will examine it further and see if it is worth adding the "simplify" parameter as an option. However, you are free to modify the code.
However, removing vertices that do not contribute to the area will lead to an improper segmentation result. Alternatively, it can be added as a new parameter to the method.
Thank you so much for your great works.
Yes, it run well, and the the code is wery helpfull.
I've found that, the convhull function yield a different result in version 2008a and 2011b. the convhull(x,y) in version 2008a is similar with convhull(x,y,'simplify',true) in version 2011b.
That's why, the 2008 version run faster than 2011a(without parameter simplify).
From the doc (http://www.mathworks.com/help/techdoc/rn/bsk8h3i-1.html#bsljqrp-1)
The simplify option for convhull provides the option of removing vertices that do not contribute to the area or volume of the convex hull.