SPM12のアップデート (version 7219) がリリースされました

SPM12のアップデートのリリースが先ほどされました。

様々なバグ修正が行われています。
アップデートのREADMEを見ると、自分的に興味深いことを発見しました。
コマンドラインでですが、octaveでの動作ができるようにいろいろ試みられているようです。
バッチ処理などにmatlabなしでoctaveだけでできたら、応用範囲が一気に広がります。

すでにSPM12をインストールしている方々でしたら、アップデートは、Matlabから下記のコマンドを打てば自動でできます。

spm_update update

お試しあれ。

SPM12のアップデート (version 7219) がリリースされました” へのコメント

  1. 本ページを参考にしてSPM12を勉強しております。脳血流(ASL)をアトラスで規定された領域ごとに調べたいのですが、可能でしょうか?恐れ入りますがご教授を頂けますと幸いです。

    • はい、可能です。

      基本は、以下になります。
      ・アトラスを準備
      ・アトラスの中の平均値を取得

      アトラスを用いて一括で取り出したい場合は、FSLの方が便利かもしれません。

      • ご返信ありがとうございます。こちらの不手際で2カ所で書き込みをしてしまい失礼しました。AALなどのアトラスにある領域(ROI 例えば後部帯状回など)ごとのASLデータを取り出したいのですが、ご教授いただけますでしょうか?先生のサイトを参考にして、FSLで患者個人のASLを標準脳に合わせて、それをアトラスに重ね合わせ、MRIcroGLでROIをとることはできましたが、自動一括でできれば嬉しいです。よろしくお願いします。

        • FSLで標準脳にあわせられたら、FSLでそのままやっていただいた方がシンプルかと思います。

          fslstats というツールを使います。

          fslstats ASL画像 -k ROI画像 -M
          

          とすると、ある1例のASL画像の、ROI内の平均値を取り出すことができます。

          そして、これを一括で行いたい場合は、for文を使えば大丈夫です。

          たとえば、ASL画像が、
          ASL01.nii.gz
          ASL02.nii.gz
          ASL03.nii.gz

          のようにあるとすれば、ASL画像はワイルドカードを使って、ASL*.nii.gz で表せますので、

          for f in ASL*.nii.gz; do fslstats $f -k ROI.nii -M; done
          

          とすると、一気に値が取り出せます。

          もし、AALアトラスなどを使う場合には、ASL画像の前に、-K で指定します。

          一例の場合は、

          fslstats -K aal.nii.gz ASL画像 -M
          

          一括の場合は、

          for f in ASL*.nii.gz; do fslstats -K aal.nii.gz ASL画像 -M; done
          

          で一括で取り出せます。

          試してみてください。

          • ご丁寧かつ迅速なご返信ありがとうございます。
            まずはやってみますので、また何かあればどうかよろしくお願いいたします。
            ありがとうございました。

          • 度々申し訳ありません。標準脳に合わせてアトラスに移すのはできていたのですが、標準脳に合わせた時点で画像を取り出そうとして、サイト上の
            flirt -in T1_skull_stripped.nii.gz -ref MNI152_T1_1mm_brain.nii.gz -omat indiv2std.mat
            fnirt –ref=MNI152_T1_1mm_brain.nii.gz –in=T1_skull_stripped.nii.gz –aff=indiv2std.mat –iout=T1_skull_stripped_inMNI.nii.gz
            を参考したプログラムを実行すると
            Part of FSL (ID: “”)
            というエラーになっていまいました。
            初歩的なものかと思いますが、解決策をご指導いただけますと幸いです。よろしくお願いします。

          • いくつか確認が必要です。

            – MNI152_T1_1mm_brain.nii.gz はカレントディレクトリにありますか?
            – fnirt は –ref, –in –aff と全部引数は — とハイフンが2つ続きます。そちらをご確認ください。

          • 重複しておりましたら申し訳ありません。コメントが反映されないのですが、先生に届いておりますでしょうか?

          • 届いております。すみません、スパムも多いのであいている時間に承認していますので、ときに時間がかかることはご了承ください。

          • 大変失礼致しました。全く急ぎませんのでお時間ある時にご教授のほどお願いします。ありがとうございました。

          • お忙しいところご返信を頂きありがとうございます。
            flirtは実行可能でfnirtでエラーとなります。

            flirt -in @@@@@_skull_stripped.nii -ref MNI152_T1_2mm_brain.nii.gz -omat @@@@@std.mat
            fnirt –ref=MNI152_T1_2mm_brain.nii.gz –in=@@@@@_skull_stripped.nii –aff=@@@@@std.mat –iout=@@@@@_inMNI_2mm.nii.

            とするとエラーになります。
            その後、先生のサイト上の他のプログラムを参考にして、以下にすると出来ました。

            flirt -in @@@@@_skull_stripped.nii -ref MNI152_T1_2mm_brain.nii.gz -omat @@@@@std.mat
            fnirt –in=@@@@@_skull_stripped.nii –aff=@@@@@std.mat –config=T1_2_MNI152_2mm.cnf –cout=warp_@@@@@skullstrippedstd.nii.gz
            applywarp –in=@@@@@_skull_stripped.nii –ref=MNI152_T1_2mm_brain.nii.gz –warp=warp_@@@@@skullstrippedstd.nii.gz –out=@@@@@_inMNI_2mm.nii

            できたファイルを確認すると、位置合わせは出来ているようですが、何か違いがあるのでしょうか?
            よろしくお願いします。

          • configの有無が大きいと思います。configファイルには様々な設定が書かれているのでそれが一番効いているのではないかと。

  2. 早速の返信ありがとうございます。
    バージョンはmarsbar 0.44です。
    ROIのbeta weightを求めたかったんです。

    よろしくお願い致します。

    • 相澤先生

      ネットで検索すると、同じようなエラーで困っている人が複数いて、まだ、十分に解決されていないようですね。

      ROIのbeta weightを求めるということは、

      ・ROIのデータは既にある
      ・beta画像を使って、ROI中のデータを求める

      ということでできますでしょうか?

  3. SPM12のアップデート、早速試してみました。
    とっても便利ですね。

    しかし,marsbarは下記のようなerrorでやはりできませんでした。
    何か改善策がありましたら教えていただけると、助かります。

    どうぞよろしくお願い致します。

    Cant open image file.

    エラー: maroi/getdata (line 104)
    data = spm_sample_vol(data_imgs(i), ixyz(1,:),ixyz(2,:),ixyz(3,:),holdval);

    エラー: maroi/get_marsy (line 76)
    [y vals vXYZ mat] = getdata(o, VY);

    エラー: marsbar (line 990)
    marsY = get_marsy(o{:}, VY, sumfunc, ‘v’);

    エラー: spm (line 1067)
    evalin(‘base’,CB)

    UIControl Callback の実行中にエラーが発生

    • marsbarのエラーメッセージを貼り付けていただきありがとうございます。
      これは、marsbarで何をしようとした時のエラーか教えていただけますか?

コメントを残す

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