Ubuntu 14.04 へのFreeSurferのインストール

2017.10.04 本記事は古い物です。最新版はこちらになりますので、そちらをご参照ください。

以前、FreeSurferのインストールの方法を記載しましたが、しばらく時間が経ちました。最近、改めてFreeSurferをインストールする機会がありましたので、改めてまとめてみます。2014年12月現在、FreeSurferのバージョンは、5.3.0です。コピペでもいけるぐらいにまとめてみます。

英語でのFreesurferをLinuxにインストールするときの具体的な方法は、
http://surfer.nmr.mgh.harvard.edu/fswiki/LinuxInstall
に書いてあります。以下は英語を読むのがつらい方のためです。

  1. libjpeg62のインストール
  2. libjpeg62がないとFreeviewが動作しないとの報告をいただきましたので、これをインストールしておきます。(私は他のソフトのインストールの際にこれを入れていたので、そのことに気づきませんでした。)

    $ sudo apt-get install libjpeg62
    
  3. 登録
  4. FreeSurferを使用するには、登録が必要です。登録ページから必要事項を記載すると、メールでライセンスが送られてきます。

  5. ライセンスファイルの準備
  6. 送られてきたメールには、以下のような内容があります。

    #—————CUT HERE—————
    someone@example.com
    0000
    *abcdefghijklmn
    #—————CUT HERE—————

    この中の数行(場合によって3行の場合と4行の場合とあります)をコピーし、テキストエディタに貼りつけます。
    そして、名前をつけて保存とし、Downloadsフォルダの中にlicense.txtという名前で保存します。
    これは、後ほど使います。

  7. FreeSurferのダウンロード
  8. 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
    
  9. FreeSurferのインストール
  10. インストール自体は簡単です。圧縮ファイルを展開し、先ほどの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
    
  11. Subjectsディレクトリの準備
  12. FreeSurferは/usr/local/freesurferにインストールされますが、ここはシステムディレクトリなので、通常のユーザーには書き込み権限がありません。このため、自分のディレクトリの中にFreeSurfer用のディレクトリを作っておくと便利です。端末から以下のようにタイプします。

    $ cd ←ホームディレクトリに戻る
    $ mkdir freesurfer ←これで、/home/user_name/freesurferができる
    $ cd freesurfer
    $ cp -r /usr/local/freesurfer/subjects .
    
  13. SetUpFreeSurfer.shの編集
  14. 上記Subjectsディレクトリを使うようにSetUpFreeSurfer.shを編集します。端末から以下のようにタイプします。

    $ sudo nano /usr/local/freesurfer/SetUpFreeSurfer.sh
    

    そうすると、以下のような画面になるはずです。

    setupfreesurfer

    ここで、SUBJECTS_DIR=のところを、編集します。

    具体的には、以下のようにしてください。

    export SUBJECTS_DIR=$HOME/freesurfer/subjects
    

    setupfreesurfer2

    ここで、$HOMEは、ユーザーのホームディレクトリをさします。

    これで、Ctrl-Xで保存して、終了します。

    あともう一歩です。

  15. .bashrcへの追加
  16. 最後に、.bashrcファイルに少しだけ追加します。

    ターミナルからnanoを使って.bashrcファイルを開きます。

    $ cd
    $ nano .bashrc
    

    このファイルの文末に以下の2行をコピペしてください。

    export FREESURFER_HOME=/usr/local/freesurfer
    source $FREESURFER_HOME/SetUpFreeSurfer.sh
    

    そして先程と同様に、Ctrl-Xで保存し、終了します。
    これでFreeSurferのインストールおよび設定は終了です。
    一度端末を終了します。

  17. 確認
  18. 実際に動くかどうかをテストします。
    端末を再度起動すると、私の場合、以下のようなメッセージが出てきます。

    -------- 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
    

    きちんとインストールされているならば、下記のような画面が出てくるはずです。

    freeview

  • tkmedit
  • 次は、下記を端末にコピペしてください。

    tkmedit bert orig.mgz
    

    そうすると、以下のような画面が立ち上がるはずです。

    tkmedit

    もし、下記のようなエラーが出たら、それは、上記の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
  • 次に、下記を端末にコピペします。

    tksurfer bert rh pial
    

    そうすると、下記のような画面が出るはずです。

    tksurfer

    ここまでうまく出たら、結果出力のプログラムはきちんとインストールされたと確認できます。

  • recon-all
  • それでは、一番大事なrecon-allです。全部やってみて確認するには、以下をタイプします。

    recon-all -s bert -all
    

    これは24時間かかります。とりあえず、動くかどうかだけ確認したかったら第1段階のところまででやめておくのも手です。そのときは、下記をタイプします。

    recon-all -s bert -autorecon1
    

    これは30分前後で終わります。無事に下記のメッセージが出たら、インストールは問題ないと考えてよいと思います。

23 thoughts on “Ubuntu 14.04 へのFreeSurferのインストール

  1. 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
          

          とタイプして、bashを起動します。

          次に、freesurferのtar.gzファイルのあるディレクトリに移動します。

          たとえば、C:\Users\ユーザ名\Downloadsにあるとすると、以下のようにタイプします。

          $ cd /mnt/c/Users/ユーザ名/Downloads
          

          ひとつだけ注意は、cドライブのcは小文字ということでしょうか。また、:も不要です。

          そこに、きちんとFreeSurferのファイルがあるか確認します。

          $ ls freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0.tar.gz
          

          もし、そこになければ
          「そのようなファイルやディレクトリはありません」

          というエラーメッセージが出ますし、
          あれば、freesurferのファイル名が表示されます。

          そのうえで、

          $ sudo tar xvzf freesurfer-Linux-centos6_x86_64-stable-pub-v5.3.0.tar.gz -C /usr/local
          

          とタイプしてください。
          そうすれば、/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の記述をする前に

            export DISPLAY=localhost:0.0"
            

            を記載していただいて試してみてはいかがでしょうか?

            それでうまくいったらもうけものです。

            ダメだったら、GUI環境は難しいので、仮想環境で構築した方がいいと思います。

          • ありがとうございます。やってみましたが、同様の結果でした。やはりGUI環境では困難なのかもしれません。
            御教授いただきありがとうございました。

          • そうでしたか…。やはりGUIとなると難しいですね。
            仮想環境でやるのが一番だと思います。
            検証いただきありがとうございました。

  2. ピングバック: FreeSurferの第一歩

  3. ピングバック: Freesurferのインストール Step by Step

  4. 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で動作しているのですね。
      今後、このような環境で動かしたいという要望は増えてくると思いますので、
      参考にさせていただきます。
      ありがとうございました。

    • 岡先生

      情報をどうもありがとうございました。
      大変助かります。
      早速ブログを更新させていただきました。

  5. 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

コメントを残す