はじめに
神経画像解析用ツールのFreeSurferをインストールしました。公式に丁寧なドキュメントがありますが、記録しておきます。2021年11月現在、HCP pipelinesの関係で6系を使っていますが、7系にも切り替えられるように準備をしておきます。7系からはdebパッケージが用意され、インストールしやすくなりました。
環境
- Dell Optiplex 5060 SFF (2019), core i5 8400, M.2 256GB SSD, 32GB RAM
- Lubuntu 18.04
ライセンスキーの取得
FreeSurferを動作させるにはライセンスキーが必要です。
必要事項を記入の上、ライセンスキー(license.txt)を取得してください。
FreeSurfer 6.0のインストール
- 前準備
-
curl
と関連するライブラリをインストールしておきます。 -
curl
はwget
でもいいですので、オプションです。 - VIMはvim-commonですが、クリップボードを使うのであれば、vim-gnomeの方がいいと思います。
- libjpeg62に加え、libpng12も必要という情報がありましたのでこれは別途インストールしました。
sudo apt install -y curl bc binutils libgomp1 perl psmisc sudo tar tcsh unzip uuid-dev vim-common libjpeg62-dev
- ダウンロード&インストール
- FreeSurfer6系のダウンロードは最新版(6.0.1)が「Development version」のところにあります。
- FreeSurferのインストールはシンプルで、ダウンロードしたtarballを適当な場所(今回は
/usr/local/
にインストールします)に展開するだけです。 - 複数バージョンの場合、
/usr/local/freesurfer/
を作ってその下にバージョン毎に管理しますので、今回は展開したフォルダをリネームして6.0.1というフォルダを作ります。 - 複数バージョンの場合はインストール後にパス設定の問題があります。
-
/usr/local
下にfreesurferのフォルダを作成し、その下にtarballを展開します。今回は~/Downloads
下にダウンロードしたと仮定します。 - 展開したファイルはデフォルトで
freesurfer
のフォルダ名がついていますので、これをmv
で6.0.1にリネームします。 - リネームが終わったら、ライセンスファイルをコピーします。
# cd ~/Downloads
# fs_path=/usr/local/freesurfer
# sudo mkdir ${fs_path}
# sudo tar xvf fs_filename -C ${fs_path}
# sudo mv $path_to_fs/fressurfer ${fs_path}/6.0.1
# sudo cp ~/Downloads/license.txt ${fs_path}/6.0.1
FreeSurfer 7.2のインストール
- 2021年7月の7.2.0のリリースからdebパッケージが使えるようになりました。Ubuntuユーザーは嬉しいのではないでしょうか。
- フォルダは6.0.1のインストール後に7.2.0をインストールしたら、自動で作ってくれました。
- 7.2.0を最初にインストールするとバージョン分けはしてくれないかもしれません。
- 6.0.1と同様にライセンスファイルはインストールパスにコピーしてください。
# sudo apt install ./your_fs_file.deb
# fs_path=/usr/local/freesurfer
# sudo cp ~/Downloads/license.txt ${fs_path}/7.2.0
.bashrcの追加
FreeSurferはPATHの読み込みに.bashrcを使います(FSLは.bash_profileですがなぜ異なるのかはわかりません。.bash_profileはログイン時に読み込めるので静的、.bashrcはターミナルエミュレータを開くたびに再読み込みになるので動的、という感じなのでしょうか)。
- リダイレクトの記載は
>
だと上書きになるので、追記の場合は>>
です。 - ヒアドキュメントを使って入力していますが、普通のエディタでもechoでリダイレクトしてもOKです。
- 今回は6.0.1を有効にしていて、7.2.0のフォルダはコメントアウトしています。
cat <<EOF>> .bashrc
>export FREESURFER_HOME=/usr/local/freesurfer/6.0.1
># export FREESURFER_HOME=/usr/local/freesurfer/7.2.0
>source ${FREESURFER_HOME}/SetUpFreeSurfer.sh
インストール後の確認
- 公式にあるやり方でfreeviewを立ち上げてみます。
- 変数の
$SUBJECT_DIR
はSetUpFreeSurfer.sh
が走った段階で、インストールパスのsubjectsフォルダに設定されます。 - freeviewが立ち上がったらOKです。
# cd $SUBJECTS_DIR
# freeview -v \
bert/mri/T1.mgz \
bert/mri/wm.mgz \
bert/mri/brainmask.mgz \
bert/mri/aseg.mgz:colormap=lut:opacity=0.2 \
-f \
bert/surf/lh.white:edgecolor=blue \
bert/surf/lh.pial:edgecolor=red \
bert/surf/rh.white:edgecolor=blue \
bert/surf/rh.pial:edgecolor=red
バージョンの切り替えについて
力技ですが、.bashrcのFREESURFER_HOMEの設定を/usr/local/freesurfer/6.0.1
と/usr/local/freesurfer/7.2.0
の2種類書いておいて、基本は6.0.1の設定を生かしておいて、7.2.0の行はコメントアウトして運用しています。パスが通っていると、知らないうちに異なったバージョンでも解析できてしまうので、少し怖いですよね。注意が必要です。
おわりに
FreeSurferの異なるメジャーバージョンをインストールしました。