SPMのメーリングリストでSPMの中の人が明らかにしていますが、SPM12の正式版がそろそろ公開されるようです。SPM12が正式に公開されました。(2014年10月1日)
SPM12はいろいろよい点も加わっていますが、まだ、プラグインで対応していないものも多々あります。
このため、しばらくは、SPM8とSPM12が同時に動かせる環境にあった方がよいですよね。
いい方法がありますので、ご紹介します。
以下の2つのファイル(spm8.mとspm12.m)をMatlabのパスが通っているフォルダ(ディレクトリ)に保存します。
Windowsの場合、「ドキュメント」の下のMATLABフォルダがよいでしょう。
Macの場合、「書類」の下のMATLABフォルダがよいでしょう。
これらはパスが通っているフォルダです。
そして、最初の4行と最後の方のaddpathからはじまる行を自分の環境にあわせて調整します。
このスクリプトがしているのは3つです。
- SPMのパスとツールボックスのパスを変数として指定します。
- SPMのパスが既にある場合、spm_rmpathを用いてそのパスを取り除きます。
- 改めてSPM8もしくはSPM12のパスを設定します。
以下にspm8.mのスクリプトを例に説明していきます。
%%spm8.m %%specify spm8 and other toolbox path spm8_path = 'c:\spm\spm8'; pickatlas_path = 'c:\spm\spm8\toolbox\wfu_pickatlas'; %spm-related_path = 'path_to_the_application';
%からはじまる行はすべてコメントなので気にしなくていいです。
spm8_path = のところで、SPM8がインストールされているフォルダを設定します。
pickatlas_path = のところで、(例として)PickAtlasのフォルダを設定します。
同様に、他にも設定しなくてはいけないプラグインがあったら、ここに設定します。
(これまで、設定する必要があったのは、PickAtlasとAnatomyツールボックスぐらいです。
その他はあえて設定する必要はありません)
これを後に使います。
% remove spm path while true try spm_rmpath; catch break end end
ここはいじる必要がありません。
まず、spm_rmpathというコマンドをトライします。
もし、SPMにパスが通っていれば、このコマンドが実行され、SPMのパスが取り除かれます。
もし、パスが通っていなければ、実行されずにそのまま次に進みます。
% add spm8 and related path addpath(spm8_path,pickatlas_path);
次に、addpathを使ってパスを設定します。
addpathの中に先程設定したパスを書きこんでいきます。順序が大事で、先にspm8_pathを書き、その次にツールボックスのパスを書きます。
% run spm8 spm;
最後にSPMを起動します。
関心のある方は、下記の2つをダウンロードして、ご自身の設定にあわせて修正してご利用ください。
spm8.mをダウンロード(右クリックで「名前をつけ保存」から保存してください)
spm12.mをダウンロード
ピングバック: SPM8とSPM12をよりスマートに同一のMatlabのライセンスで使用する方法