ときどきこの質問を受けるので言及しておきます。
2024年4月にUbuntu 24.04が公開されました。
しかし、Ubuntu 24.04上では現行のFreeSurfer 7.4.1は動きません。
このため、FreeSurferを実行したい場合は、しばらくUbuntu 22.04からアップグレードしないようにしましょう。
ときどきこの質問を受けるので言及しておきます。
2024年4月にUbuntu 24.04が公開されました。
しかし、Ubuntu 24.04上では現行のFreeSurfer 7.4.1は動きません。
このため、FreeSurferを実行したい場合は、しばらくUbuntu 22.04からアップグレードしないようにしましょう。
When using FreeSurfer and FSL 6.0.6 or later, a certain issue may arise:
First, I will explain how to confirm if you are affected by this issue and then provide the solutions along with the reasons.
FreeSurfer と FSL 6.0.6以降を使っていると、ある事象が起きます。
これの影響を受けているかの確認法および対処法を最初に解説した後、その理由を述べます。
FreeSurfer では Local Gyrification Index (LGI) を求めることができます。LGIを一言で言えば、脳の皮質の折りたたみの状態を指標化とでも言えるでしょうか。
詳細は、本家のウェブサイトにありますが、ポイントを示します。
この3つを準備しておけば、あとは、以下のコマンドをタイプするだけです。
recon-all -s <fsid> -localGI
以前、DTIの画像などをFreeSurferの脳表に投影する方法を紹介しましたが、SPMの結果のspmT画像をFreeSurferの脳画像に投影する方法もわかりましたので紹介したいと思います。
必要なコマンドは、mri_vol2surf です。
入力画像は、spmT_0001.nii とします。出力ファイル名は、左半球の画像ということで、lh.spmT_0001.mgzとします。
今回、大事になるのは、–mni152reg というオプションです(木村先生、教えてくれてありがとうございました)。MNI空間でのあわせこみに使えるオプションです。
シンプルに以下でいけました。
mri_vol2surf --mov spmT_0001.nii --mni152reg --hemi lh --o lh.spmT_0001.mgz
入出力ファイル以外のオプションは2つだけ、–mni152reg と –hemi lh だけです。
最後にfreeviewで表示します。T値が3以上を表示したいと思ったので、thresholdを3,5としてあります。
freeview -f \ $SUBJECTS_DIR/fsaverage/surf/lh.inflated:overlay=lh.spmT_0001.mgz:overlay_threshold=3,5\ --viewport 3d --layout 1
結果、以上のような感じで表示できました。
2019年11月16日7時で定数に達しましたので、締め切りました。
2020年1月12日開催予定の『FreeSurfer勉強会』のご案内をいたします。
まい参加希望の方は、下記のフォームにて、お申し込みをしていただけますよう、お願い申し上げます。
FreeSurferの勉強会を開催します。
今回は、「FreeSurferでrecon-allはやってみた。でも、もう少し学んでみたい」方を対象にしたいと思います。
現時点では、内容は以下を予定しています。
9:00-15:00
– recon-allのステップの理解
– ROI解析
– 縦断解析
– TRACULA(予定です)
15:00-17:00
– スクリプト化演習
日時:2020年1月12日(日)9:00-17:00
場所:オフィス東京(東京駅八重洲口から徒歩5分)
費用:無料
定員:30名(先着順)
受講条件:
– これまでにFreeSurferの解析を一度はやったことがある方
– ご自身のPCを持ち込んで作業ができる方
2018/8/28 13:40 満席となりましたので、受付を終了いたしました。
2018年3月にABiS脳画像解析チュートリアルにおいてFreeSurferのチュートリアルを行いましたが、アンコールのリクエストを複数いただいているので、今回も岩手医科大学の山下典生先生の協力を得て、2018年11月18日に東京でFreeSurferの勉強会を開催することとしました。
今回は、研究費のサポートがあるため、無料です。
これまでに開催してきたチュートリアルのように、ご自身のパソコンを持ち込んでいただき、FreeSurferにじっくり触れていただきます。
想定している対象者は、FreeSurferの経験がまだ少ない方です。全く経験がない方もOKです。また、recon-allはやったことがあるけれども、マニュアル修正をやったことがない方はとてもいい経験になると思います。これらの経験がある中級者以上の方には物足りないかと思います。
日程及び場所は以下になります。
東京駅八重洲口徒歩5分
根本清貴(筑波大学医学医療系精神医学)
山下典生(岩手医科大学医歯薬総合研究所超高磁場MRI診断・病態研究部門)
・FreeSurferの概要
・recon-allを用いた前処理の方法
・ROI解析
・個人解析結果のマニュアル修正
・Qdecを用いた基本的なグループ解析
・コマンドラインを用いたグループ解析
使いたいGPU計算ソフトがCUDAの特定のバージョンでしか動かないことがあると思います。
CUDAのバージョンの切り替え方を書いておきます。
切り替え先のバージョンがインストールしてある必要があります。
sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-11.5 100 sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-11.0 90 sudo update-alternatives --install /usr/local/cuda cuda /usr/local/cuda-10.2 80
sudo update-alternatives --config cuda
$ sudo update-alternatives --config cuda alternative cuda (/usr/local/cuda を提供) には 3 個の選択肢があります。 選択肢 パス 優先度 状態 ------------------------------------------------------------ * 0 /usr/local/cuda-11.5 100 自動モード 1 /usr/local/cuda-10.2 80 手動モード 2 /usr/local/cuda-11.0 90 手動モード 3 /usr/local/cuda-11.5 100 手動モード 現在の選択 [*] を保持するには <Enter>、さもなければ選択肢の番号のキーを押してください:
すると、以下のような表示になります。
update-alternatives: /usr/local/cuda (cuda) を提供するためにマニュアルモードで /usr/local/cuda-10.2/ を使います
私は、できるだけ .bashrc をいじらないでというのを最近、モットーにしています。Ubuntuでは .bashrc の中で読み込まれる .bash_aliases があるのでそちらに追記します。.bash_aliases はその名の通り、本来はエイリアスの設定を書くものと思いますが、様々なパスをここに書いておくと、.bashrc を直接いじらなくていいので安全かと思います。
update-alternatives を併用すると、以下のような記載で大丈夫になります。LD_LIBRARY_PATHは、自分が使い分けをしたいCUDAの lib64 のパスをひたすら書いていきます。
# CUDA export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} export LD_LIBRARY_PATH=/usr/local/cuda/lib64:/usr/local/cuda-10.2/lib64:/usr/local/cuda-11.0/lib64:/usr/local/cuda-11.5/lib64${LD_LIBRARY_PATH:+${LD_LIBRARY_PATH}}
$ nvcc --version nvcc: NVIDIA (R) Cuda compiler driver Copyright (c) 2005-2019 NVIDIA Corporation Built on Wed_Oct_23_19:24:38_PDT_2019 Cuda compilation tools, release 10.2, V10.2.89
nvcc -V
例:CUDA5.0に切り替える場合
sudo unlink /usr/local/cuda sudo ln -s /usr/local/cuda-5.0 /usr/local/cuda
nvcc -V
FreeSurferをインストールした後、自分のデータを用いてどうしたらいいか困る人が多くいます。
まず、1例を試してみるといいと思います。
以下のようにされてはいかがでしょうか。
たとえば、画像が、/Users/foo/img_dataにあるとすれば、
$ cd /Users/foo/img_data/
となります。
FreeSurferでは実はこれが大事です。ここをきちんとしていないと、話が次に進みません。
$ recon-all -s 【被験者ID】 -i 【NIFTI画像ファイル】 -all
今、被検者IDがHC001、NIFTI画像がV_HC001.niiだとすると、
$ recon-all -s HC001 -i V_HC001.nii -all
となります。
これでしばらく待ちます。私の最近のPCでは、9時間程度で1例の処理が終わります。
スクリプト化してみましょう。画像のファイル名(拡張子抜き)をIDとして扱うことにします。
#!/bin/sh if [ $# -lt 1 ] then echo "Please specify image files!" echo "Usage: $0 imagefiles" echo "Wild card can be used." exit 1 fi for f in "$@" do subjid=`imglob $f` recon-all -i $f -s $subjid -all done
という感じになりますね。
出力ファイルは、$SUBJECTS_DIRに出力されます。
私の場合、
$SUBJECTS_DIRはホームディレクトリの下のfreesurfer/subjectsにしてあります。
この設定の仕方は、こちらをご覧ください。
どこにあるかすぐにわからなかったら、以下をしたらいいと思います。
$ cd $SUBJECTS_DIR
ここに先ほど入力したIDがあります。その中にいろいろ入っています。
$SUBJECTS_DIRはHDDの容量をくいますので、十分なスペースを確保しないと容量不足に陥りますのでご注意ください。