かつてauto_reorient.mというスクリプトを配布していましたが、これは現在のSPM12で動かなくなってしまいました。理由は単純でSPM12からspm_affregという機能がなくなってしまったからです。もし、過去のSPMからspm_affreg.mを持ってきたら問題なく使えるのですが、この機会に別の手法を考えてみました。
シンプルな方法は、MNI標準脳にCo-registrationすることです。これだけでかなりあいます。
しかし、画像の原点があまりにも違うところに設定されているとエラーが出ることがあります。
そこで、以前、山下先生に教わった方法を採用し、まず、originを画像の中心に設定し、そのうえで、SPM12に搭載されているicbm152.niiにco-registartionするスクリプトを書いてみました。
多くの画像で試してみましたが、それなりにうまくいきますし、処理速度も速いです。
よかったら試してみてください。
acpc_coreg.mをダウンロード(右クリックで保存してください)
Matlabのパスが通っているフォルダにこのファイルを置いていただき、
Matlabから
acpc_coreg
とタイプするだけです。
ご連絡ありがとうございます。
スクリプト後にOriginをクリックすると、スクリプト前とは異なる数値になるので問題なくAC-PCを合わせられたのかな?と思いましたが、スクリプトを走らせた直後に表示される画像とは異なった位置に交点が合わせられてしまっています。
このような場合、AC-PCは合わせられていないと言えるのでしょうか。
また、手順としてはOriginを画像の中心に設定→スクリプトを走らせる→元のniiファイルを指定→Originをクリック、というもので間違いないでしょうか。
初学者のため理解が追いついていない部分が多く、ご迷惑をおかけしてしまいすみません。お時間がありましたら教えていただけると幸いです。宜しくお願い致します。
Originをクリックすると、ACあたりに十字線の交点が移動していますか?それならば大丈夫です。
スクリプトを走らせた直後に表示される画像の交点は、ACではなく、画像の中心点になります。(左右、上下の中点を結ぶせんの交点となります)
その画面(左側のテンプレートと右側のご自身の画像)で動きが同期しますので、左側のテンプレートのACあたりをクリックした際に、右側の画像もACあたりに交点がくればスクリプトはうまく動いたことになります。
以上、よろしくお願いします。
こんにちは。
上記のシステムを使って位置合わせをしたのですが、ファイルの形式が.figになってしまい.niiで保存できず、分割化に進めません。
もし宜しければご教示頂けると幸いです。
ご質問ありがとうございます。
このスクリプトを走らせると、新たなファイルは生成されません。
指定された.niiファイルのヘッダーだけを書き換えます。
このため、たとえば、
anat.nii
を指定したとしたら、
スクリプトを走らせた後に、
SPMのDisplayから
anat.nii
を指定し、表示された状態で、”Origin” をクリックしていただけませんか。
そうすると、AC-PCがあった状態になっているかどうかを
確認できると思います。
よろしくお願いします。