SPM12におけるspm_defaults.mの設定 【重要】

SPM12の正式版が出て、気づいたのですが、spm_defaults.mの設定に関して、重要な変更が行われました。

今後は、spm_defaults.mは直接いじってはいけないことになりました。
これは、非常に理にかなっていることで、これまで、spm_defaults.mを修正しても、アップデートによってこれが上書きされてしまうことがありました。これを回避するために、新たな方法が導入されました。

「すぐできるVBM」のp.22 「8.SPMの設定」に関しての記載を以下のように訂正します。

spm_defaults.mの最初の記載のスクリーンショットは以下のようになります。

spm_defaults_screenshot

シンプルにいうと、以下のようになります。

  • spm_defaults.mは編集しない
  • MATLABのパスが通っているところにspm_my_defaults.mを作成する

私がSPMをインストールして行う作業は、defaults.stats.maxmemを編集することです。これは、統計の際に、Matlabにメモリをどの程度まで使わせてあげるかという設定です。デフォルトは2^26バイトで、64MBになります。せっかくメモリを多く積んでいる場合、これはもったいないです。そのため、私は2^31(=2GB)としています。

Matlabから以下のようにタイプします。

edit spm_my_defaults.m

そこに以下のように記載します。

global defaults
defaults.stats.maxmem      = 2^31;

スクリーンショットを以下に示します。

spm_my_defaults_screenshot

これを保存するのですが、MATLABのパスが通っているところならばいいのですが、
無難なのは、ドキュメントフォルダの下のMATLABフォルダもしくは、SPM12のフォルダ内に保存したらよいと思います。

このうえで、SPMを起動すると、きちんと認識されると、Matlabのコマンドウィンドウ内に以下の表示がなされるはずです。

spm_screenshot_modified_defaults

これで設定が終了です。これは重要な設定ですので、チェックするようにしてください。

6 thoughts on “SPM12におけるspm_defaults.mの設定 【重要】

  1. Dear Sensei,
    I follow your advice and there is no error.
    However, I can not save the spm_my_defaults., in the spm12 folder so that I just saved it in Document folder.
    Is it ok for this?
    Thank you very much!

    • Dear Nguyen,

      No problem to save the file in Document folder as long as the folder is among your MATLAB path.

  2. Dear Sensei,
    Thank you for your reply.
    I am using Window 7.
    In spm_my_defaults.m , I copied the contents of spm_defaults.m and edited the max mem as you mention in your post.
    MATLAB is set in my C:\\ programfiles\MATLAB

    • Dear Nguyen,

      OK, in your spm_my_defaults.m, just put the following two lines;

      global defaults
      defaults.stats.maxmem = 2^31;

      and remove othere lines and save.

      Then errors will not be displayed anymore, I hope.

  3. Dear Sensei,
    I tried to create the spm_my_defaults in the folder of spm12 but it said I could not do that.
    So I tried to save in my document file. Then when I run the spm in matlab it came out a long error message.
    So could you please explain a little more about creat new file spm_my_defaults.
    Thank you very much!

    • Dear Nguyen,

      Please let me know the following;

      1) What OS are you using?
      2) What did you write in your spm_my_defaults.m?
      3) Is MATLAB path set on your home directory?

コメントを残す