SPM12でestimateに失敗するとき (SPM12 r6906のバグ)

SPM12で、ひとつバグがあることがわかっています。
モデル作成の時に、maskにexplicit maskを指定すると、estimateができずに失敗するというものです。

以下のようなエラーが出ます。

Running ‘Model estimation’

SPM12: spm_spm (v6842) 11:34:04 – 25/11/2016
========================================================================

SPM12: spm_est_non_sphericity (v6827) 11:34:05 – 25/11/2016
========================================================================
Failed ‘Model estimation’
存在しないフィールド ‘xVol’ を参照しています。
In file “/Users/psymacpro3/Documents/MATLAB/spm12/spm_est_non_sphericity.m” (v6827), function “spm_est_non_sphericity” at line 105.
In file “/Users/psymacpro3/Documents/MATLAB/spm12/spm_spm.m” (v6842), function “spm_spm” at line 431.
In file “/Users/psymacpro3/Documents/MATLAB/spm12/config/spm_run_fmri_est.m” (v5809), function “spm_run_fmri_est” at line 33.

The following modules did not run:
Failed: Model estimation

これは、バグであることが知られており、解決方法として、spm_est_non_sphericity.mを差し替えることが推奨されています。

下記リンクのものをダウンロードし、SPM12のフォルダに上書きしてください。
これで問題なくなります。

バグフィクスされたspm_est_non_sphericity.mをダウンロード(右クリック→名前をつけて保存で保存してください)
リソースはこちら:
https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=spm;2c0ae193.1611

SPM12でestimateに失敗するとき (SPM12 r6906のバグ)” へのコメント

  1. 初めまして。メッセージに気づいていただけたらアドバイスいただきたいです。VBMを使って博士論文を進めている者です。
    今までspm12が開けていたのですが、VBMをやっていて、こちらのページにあるようなエラーになってしまったので、以下のアップデート作業を行いました。

    Matlabから

    spm_update(1)

    とタイプしてください。これで、SPM12が最新版となり、spm_est_non_sphericity.mの問題も解決しています。

    これを行った後に、以下のようなエラーが出て、spmを開けなくなってしまいました。無知なものでよく分からず、非常に困っています。
    お返事いただきますと幸いです。

    >> spm
    次を使用中のエラー: spm_platform>init_platform (行 182)
    MACA64 not supported architecture for SPM12

    エラー: spm_platform (行 61)
    if isempty(PLATFORM), PLATFORM = init_platform; end

    エラー: spm_Welcome (行 22)
    PF = spm_platform(‘fonts’);

    エラー: spm (行 299)
    spm_Welcome;

    • 鋤崎さん

      すみません、このコメントに気づくのが遅くなりました。
      おそらく Apple silicon の macOS で行われていますよね。

      こうしていただけませんか。

      – Finderで、現在のSPM のフォルダ名の後ろに _old などとつけて変更してください。たとえば、spm12 ならば spm12_old という感じです。
      – ターミナルを立ち上げてください。

      – 最初に git をインストールするために xcode-select をインストールします。ターミナルから以下をタイプしてください。

      xcode-select --install
      

      その次に、ホームディレクトリの下に 最新の spm12 を入手します。

      以下をターミナルにコピペしてください。

      cd #ホームディレクトリに移動します
      git clone -b maint https://github.com/spm/spm12.git
      

      こうすると、問題が解決されているSPMがダウンロードされます。

      その後、Matlabでホームディレクトリの下にある spm12 にパスをとおせば立ち上がると思います。

      これをやってみてその結果を教えてください。

      よろしくお願いします。

  2.  お世話になっております。愛宕病院リハビリテーション部の恒石と申します。お伺いしたいことがありますので連絡させて頂きました。r6906のバグが発生したためサポートページを拝見しました。内容にspm_est_non_sphericity.mを差し替えることが記述されていたのですが、その方法がわからないので具体的にご教示いただけないでしょうか。よろしくお願いします。

    • 恒石先生
      SPM12の最新版が出ていますので、そちらにアップデートすることをおすすめします。

      Matlabから

      spm_update(1)

      とタイプしてください。これで、SPM12が最新版となり、spm_est_non_sphericity.mの問題も解決しています。

  3. ちょうどこの記載が出てググっても分からず、困っていました。このHPのおかげで助かりました。いつも参照させていただいております。ありがとうございます。

    • 木戸先生

      ご丁寧にありがとうございました。
      お役に立てたようでよかったです。
      今後ともよろしくお願いします。

鋤崎 へ返信するコメントをキャンセル

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください