2017.10.04 本記事は古い物です。最新版はこちらになりますので、そちらをご参照ください。
以前、FreeSurferのインストールの方法を記載しましたが、しばらく時間が経ちました。最近、改めてFreeSurferをインストールする機会がありましたので、改めてまとめてみます。2014年12月現在、FreeSurferのバージョンは、5.3.0です。コピペでもいけるぐらいにまとめてみます。
英語でのFreesurferをLinuxにインストールするときの具体的な方法は、
http://surfer.nmr.mgh.harvard.edu/fswiki/LinuxInstall
に書いてあります。以下は英語を読むのがつらい方のためです。
- libjpeg62のインストール
- 登録
- ライセンスファイルの準備
- FreeSurferのダウンロード
- FreeSurferのインストール
- Subjectsディレクトリの準備
- SetUpFreeSurfer.shの編集
- .bashrcへの追加
- 確認
libjpeg62がないとFreeviewが動作しないとの報告をいただきましたので、これをインストールしておきます。(私は他のソフトのインストールの際にこれを入れていたので、そのことに気づきませんでした。)
$ sudo apt-get install libjpeg62
FreeSurferを使用するには、登録が必要です。登録ページから必要事項を記載すると、メールでライセンスが送られてきます。
送られてきたメールには、以下のような内容があります。
#—————CUT HERE—————
someone@example.com
0000
*abcdefghijklmn
#—————CUT HERE—————
この中の数行(場合によって3行の場合と4行の場合とあります)をコピーし、テキストエディタに貼りつけます。
そして、名前をつけて保存とし、Downloadsフォルダの中にlicense.txtという名前で保存します。
これは、後ほど使います。
Ubuntu 14.04はCentOS6バージョンで動作確認がとれました。
従って、CentOS6バージョンを入手することとします。
フィアルサイズが4GBと大きいので、普通にダウンロードすると失敗することもありますので、ここは、wgetというプログラムを使って入手することとします。wgetのいいところは、-cオプションを使うと、もし、万が一一時的にダウンロードが切れてしまったとしても、部分的にダウンロードしたファイルを使ってくれることです。これによってダウロードの効率がよくなります。
端末を立ち上げ、(必要であれば)Downloadsに移動し、以下をタイプします。
$ cd Downloads $ wget -c ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.3.0/freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0.tar.gz
インストール自体は簡単です。圧縮ファイルを展開し、先ほどのlicense.txtを移動するだけです。先ほどの端末から以下のようにタイプしてください。なお、tarのオプション、-Cは、展開先を指定するものです。
$ pwd /home/your_user_name/Downloads ← Downloadsディレクトリにいることを確認 $ sudo tar xvzf freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0.tar.gz -C /usr/local $ sudo mv license.txt /usr/local/freesurfer
FreeSurferは/usr/local/freesurferにインストールされますが、ここはシステムディレクトリなので、通常のユーザーには書き込み権限がありません。このため、自分のディレクトリの中にFreeSurfer用のディレクトリを作っておくと便利です。端末から以下のようにタイプします。
$ cd ←ホームディレクトリに戻る $ mkdir freesurfer ←これで、/home/user_name/freesurferができる $ cd freesurfer $ cp -r /usr/local/freesurfer/subjects .
上記Subjectsディレクトリを使うようにSetUpFreeSurfer.shを編集します。端末から以下のようにタイプします。
$ sudo nano /usr/local/freesurfer/SetUpFreeSurfer.sh
そうすると、以下のような画面になるはずです。
ここで、SUBJECTS_DIR=のところを、編集します。
具体的には、以下のようにしてください。
export SUBJECTS_DIR=$HOME/freesurfer/subjects
ここで、$HOMEは、ユーザーのホームディレクトリをさします。
これで、Ctrl-Xで保存して、終了します。
あともう一歩です。
最後に、.bashrcファイルに少しだけ追加します。
ターミナルからnanoを使って.bashrcファイルを開きます。
$ cd $ nano .bashrc
このファイルの文末に以下の2行をコピペしてください。
export FREESURFER_HOME=/usr/local/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.sh
そして先程と同様に、Ctrl-Xで保存し、終了します。
これでFreeSurferのインストールおよび設定は終了です。
一度端末を終了します。
実際に動くかどうかをテストします。
端末を再度起動すると、私の場合、以下のようなメッセージが出てきます。
-------- freesurfer-Linux-centos4_x86_64-stable-pub-v5.3.0 -------- Setting up environment for FreeSurfer/FS-FAST (and FSL) FREESURFER_HOME /usr/local/freesurfer FSFAST_HOME /usr/local/freesurfer/fsfast FSF_OUTPUT_FORMAT nii.gz SUBJECTS_DIR /home/kiyotaka/freesurfer/subjects MNI_DIR /usr/local/freesurfer/mni FSL_DIR /usr/share/fsl/5.0
これが出ないとしたら、.bashrcへの記載が間違っているはずです。再度確認してください。
以下の確認は、本家のサイトにある指示をそのままやっているだけですが、念の為に記載しておきます。
- freeview
端末に、以下をそのままコピペしてください。
freeview -v $SUBJECTS_DIR/bert/mri/brainmask.mgz -v \ $SUBJECTS_DIR/bert/mri/aseg.mgz:colormap=lut:opacity=0.2 -f \ $SUBJECTS_DIR/bert/surf/lh.white:edgecolor=yellow -f \ $SUBJECTS_DIR/bert/surf/rh.white:edgecolor=yellow -f \ $SUBJECTS_DIR/bert/surf/lh.pial:annot=aparc:edgecolor=red -f \ $SUBJECTS_DIR/bert/surf/rh.pial:annot=aparc:edgecolor=red
きちんとインストールされているならば、下記のような画面が出てくるはずです。
次は、下記を端末にコピペしてください。
tkmedit bert orig.mgz
そうすると、以下のような画面が立ち上がるはずです。
もし、下記のようなエラーが出たら、それは、上記のlicense.txtが/usr/local/freesurferにないという意味ですので、再確認してください。
-------------------------------------------------------------------------- ERROR: FreeSurfer license file /usr/local/freesurfer/license.txt not found. If you are outside the NMR-Martinos Center, go to http://surfer.nmr.mgh.harvard.edu to get a valid license file (it's free). If you are inside the NMR-Martinos Center, make sure to source the standard environment. --------------------------------------------------------------------------
次に、下記を端末にコピペします。
tksurfer bert rh pial
そうすると、下記のような画面が出るはずです。
ここまでうまく出たら、結果出力のプログラムはきちんとインストールされたと確認できます。
それでは、一番大事なrecon-allです。全部やってみて確認するには、以下をタイプします。
recon-all -s bert -all
これは24時間かかります。とりあえず、動くかどうかだけ確認したかったら第1段階のところまででやめておくのも手です。そのときは、下記をタイプします。
recon-all -s bert -autorecon1
これは30分前後で終わります。無事に下記のメッセージが出たら、インストールは問題ないと考えてよいと思います。
windows版ubuntuへのfreesuferのインストール方法も同様にすれば可能でしょうか?
n_matumotoさん
はい。十分試してみる価値はあると思います。
もしできたら教えてください。
sudo tar xvzf freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0.tar.gz -C /usr/local
という部分はwindowsではどう打てばよいでしょうか?
freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0.tar.gz があるディレクトリにいらっしゃいますか?
そうならば、そのままで大丈夫です。
つまり、cdを使って、そのディレクトリに行ければいいのですが、おわかりになりますか?
わからない場合、Windowsのフォルダへのパスを教えていただけたらと思います。
(C:\Users\Downloads\など)
n_matsumotoさん
今、WindowsのUbuntuの動きを確認できました。
Windowsの端末(コマンドプロンプト)から
とタイプして、bashを起動します。
次に、freesurferのtar.gzファイルのあるディレクトリに移動します。
たとえば、C:\Users\ユーザ名\Downloadsにあるとすると、以下のようにタイプします。
ひとつだけ注意は、cドライブのcは小文字ということでしょうか。また、:も不要です。
そこに、きちんとFreeSurferのファイルがあるか確認します。
もし、そこになければ
「そのようなファイルやディレクトリはありません」
というエラーメッセージが出ますし、
あれば、freesurferのファイル名が表示されます。
そのうえで、
とタイプしてください。
そうすれば、/usr/localに展開されるはずです。
ありがとうございます。
sudo mv license.txt /usr/local/freesurfer
をコマンドするとエラーメッセージがでました。
ホストの名前が解決できません と出てきます。
windowsとubunutuのフォルダーの違いによるものでしょうか?
私もときにこのエラーに遭遇することがあります。
ただ、厳密にはエラーというよりWarningでして、
実際の作業はできています。
cd /usr/local/freesurfer
としていただいて、その中にlicense.txtがあるかどうかご確認いただけませんか?
usr/local/freesurfer内にlicense.txtがあることは確認できました。
それなら問題ないです。
FreeSurferが無事に起動するか試されてはいかがでしょうか。
遅くなりました。9確認まで、問題なく行きましたが、以下のエラーが出て、実行できませんでした。原因、わかりますでしょうか?/usr/local/freesurfer/bin/freeview.bin: 実行形式エラー. Binary file not executable.
そうしましたら、実行権限がないということなので、以下を試していただけますか。
cd /usr/local/freesurfer/bin
sudo chmod 755 freeview.bin
これでもう一度試していただけますでしょうか。
問題なくインストールはできましたが、実行形式エラーが出て起動はできませんでした。原因、わかりますでしょうか?
試しましたが、変わらず実行形式エラーが出現しました。
以前、岡先生がコメントしているように、メモリーを増やす必要があるのでしょうか?
メモリの問題ではないと思います。
いろいろ考えたら、思い当たるところがありました。
Ubuntu on BashはGUIがないんですね。
そのために、X serverというものを走らせる必要があります。
FSL on Windows10で説明したように
Xmingを入手して、
.bashrcにFreeSurferの記述をする前に
を記載していただいて試してみてはいかがでしょうか?
それでうまくいったらもうけものです。
ダメだったら、GUI環境は難しいので、仮想環境で構築した方がいいと思います。
ありがとうございます。やってみましたが、同様の結果でした。やはりGUI環境では困難なのかもしれません。
御教授いただきありがとうございました。
そうでしたか…。やはりGUIとなると難しいですね。
仮想環境でやるのが一番だと思います。
検証いただきありがとうございました。
ピングバック: FreeSurferの第一歩
ピングバック: Freesurferのインストール Step by Step
Vagrant(Ubuntu 14.04)でfreesurferを動作させています。
軽いのでお薦めです。
同じ事をされている方への情報です。
デフォルトのメモリーでは動作しません。
vagrantfileを修正してメモリーを増やす事が必要です。
vagrantfileのコメントしている箇所を外せばいいです。
config.vm.provider “virtualbox” do |vb|
# # Display the VirtualBox GUI when booting the machine
# vb.gui = true
#
# # Customize the amount of memory on the VM:
vb.memory = “1024”
end
これでメモリーは1Gになります。
ご参考までに。
岡 理研BSI
Vagrantで動作しているのですね。
今後、このような環境で動かしたいという要望は増えてくると思いますので、
参考にさせていただきます。
ありがとうございました。
sudo apt-get install libjpeg62
でfreeviewは動作しました。
岡先生
情報をどうもありがとうございました。
大変助かります。
早速ブログを更新させていただきました。
ubuntu14.04でFreeSurferを動作させようとしていますが
freeviewで
freeview.bin: error while loading shared libraries: libjpeg.so.62: cannot open shared object file: No such file or directory
のエラーが出ます。
多分32bitかしないといけないのだろうと思いますが、
この要な問題はありませんでしたでしょうか。
岡 理研BSI