Sunday, July 18, 2010

重裝mcalab的心得

給未來的裕翔

首先到下面這頁下載

http://www-stat.stanford.edu/~wavelab/Wavelab_850/download.html

或是直接點下面這個連結

http://www-stat.stanford.edu/~wavelab/Wavelab_850/WAVELAB850.ZIP

對下載的檔案做

假設我下載到~/Download

cd ~/Download

unzip WaveLab850.zip

產生Wavelab850

sudo mv Wavelab850 /usr/share/matlab/toolbox/

進到Matlab的toolbox目錄

cd /usr/share/matlab/toolbox

sudo cp Wavelab850/WavePath.m local/

sudo vi /local/startup.m

WavePath

以root身份開啟matlab後

在matlab裡面輸入

InstallMEX

就可以產生一堆mexglx了

接著安裝MCALabWithUtilities

複製到/usr/share/matlab/toolbox/底下後

也是把MCAPath.m複製到/usr/share/matlab/toolbox/local/去

然後添加一行MCAPath到startup.m

MCAPath裡面要修改一行關於path的地方

接著

以一般身份開啟matlab時, 會顯示有個檔案沒有寫入權限

sudo chmod a+w mcalabmeta.mat

不過就算這樣裝好了

真的用matlab去執行

/usr/share/matlab/toolbox/MCALabWithUtilities/MCALab110/Two-D/Scripts/figMCAboytexture

會有error

??? Invalid MEX-file

'/usr/share/matlab/toolbox/MCALabWithUtilities/CurveletToolbox/CURVWRAP/MEXWrapping/fdct_wrapping_mex.mexglx':

/usr/share/matlab/toolbox/MCALabWithUtilities/CurveletToolbox/CURVWRAP/MEXWrapping/fdct_wrapping_mex.mexglx:

symbol mxCreateCellMatrix, version libmx.INTERNAL not defined in file libmx.so with link time

reference.

之前斷定是mexglx的問題(因為libmx.so是matlab內建)

所以我需要重新編譯mexglx

我使用的範例執行的是CurvLab的mex檔

照理說我應該要先處理這個

不過呢

既然跟作者要了GMCALab

先來處理GMCALab看看

No comments:

Post a Comment