脳画像解析のための環境構築

目次


1. 目的
2. はじめに
3. Lin4Neuroに必要なPCのスペック
4. Lin4Neuroを動かすためのソフト(VirtualBox)をインストール
5. Lin4Neuro(ovaファイル)をダウンロード
6. VirtualBoxに、Lin4Neuro(ovaファイル)をインポート
7. Lin4Neuroの設定
7.1. CPUとメモリ(RAM)の設定
7.2. 共有フォルダの設定
8. Lin4NeuroをVirtualBoxから起動
9. ソフトのインストール
9.1. 3D Slicerのインストール
9.2. ITK-SNAPのインストール
9.3. FSLのインストール
9.4. MRtrix3のインストール
9.5. FreeSurferのインストール
9.6. ANTsのインストール
9.7. SPMのインストール
9.8. CONNのインストール
9.9. 機械学習の環境構築
10. トラブルシューティング
10.1. 起動時に、「仮想マシン”L4N-1804-abis”のセッションを開けませんでした。」という警告


1. 目的

  • 脳画像解析のための環境構築

2. はじめに

 脳画像解析をする上で環境構築は、一つの山である。この山のせいで、脳画像解析をあきらめてしまった方もいるであろう。そこで、この記事では簡単に脳画像解析の環境構築をする方法を解説する。

K-LabのHPでは、脳画像解析環境を構築済みのLinux(Lin4Neuro)を配布しているので、こちらを用いて脳画像解析のための環境を自身のPCで整える。

Lin4Neuroが使えるようになるまでの手順は、次の通り。

  1. Lin4Neuroを動かすためのソフト(VirtualBox)をインストール
  2. Lin4Neuro(ovaファイル)をダウンロード
  3. VirtualBoxに、Lin4Neuro(ovaファイル)をインポート
  4. Lin4Neuroの設定
  5. Lin4NeuroをVirtualBoxから起動
  6. ソフトのインストール

Lin4Neuroの詳細については、こちらを参考に。この記事では、Lin4Neuro導入の説明を見ても、Lin4Neuro導入出来ない人のために、

  1. 一緒に手を動かして
  2. 画面を共有しながら
  3. 絵を多く交えて

Lin4Neuroを導入する方法を解説していきます。

3. Lin4Neuroに必要なPCのスペック

  • 2GHz以上のプロセッサ
  • 最低4GBのメモリ(RAM)
  • ハードディスクに100GB程度の空き容量

詳細は、Lin4Neuroのハードウェアの要件をご覧ください。

4. Lin4Neuroを動かすためのソフト(VirtualBox)をインストール

VirtualBoxのサイト から、自身のOSにあったVirtualBoxのインストーラーをダウンロードする。バージョンは、なるべく最新のものを選ぶ。

ダウンロードしたインストーラーを用いてVirtualBoxをインストールする。インストール後、VirtualBoxを起動すると、次のようなウィンドウが表示される。

5. Lin4Neuro(ovaファイル)をダウンロード

K-Labのリポジトリから、Lin4Neuroをダウンロードする。

ここでは、Ubuntu18.04ベースのLin4Neuroをダウンロードする方法を紹介する。

こちらから、Ubuntu18.04ベースのLin4Neuro(ovaファイル)をダウンロードする。

6. VirtualBoxに、Lin4Neuro(ovaファイル)をインポート

ダウンロードした、Lin4Neuro(ovaファイル)をVirtualBoxにインポートする。

VirtualBoxのメニュータブ左上から「ファイル→仮想アプライアンスのインポート」を選択。

インポートしたい仮想アプライアンスとして、Lin4Neuro(ovaファイル)を選択し、次へをクリック。

仮想アプライアンスの設定は、デフォルトで構わないが、必ず空き容量が100GB程度あるハードディスクでインポートする。

インポートが完了すると、VirtualBoxのウィンドウにインポートしたLin4Neuro「L4N-1804-VM-En」が表示される。

7. Lin4Neuroの設定

7.1. CPUとメモリ(RAM)の設定

L4N-1804-VM-Enを選択した状態で、右側の設定画面の上から2番目の「システム」をクリックする。

システムの設定画面ウィンドウが表示される。メモリ(RAM)の設定をしたい場合、タブ「マザーボード」を選択。ここで、Lin4Neuroのメモリ(RAM)を設定することができる。デフォルトでは、4GB(4096MB)に設定されている。自身が使っているPCメモリに余裕があれば、8GBにするとよい。メモリを大きくするほど、より多くの計算ができたり、Lin4Neuroの動作がスムーズになる。

CPUの設定をしたい場合、タブ「プロセッサー」を選択。デフォルトでは、コア数1になっている。コア数が多いほど、並列計算ができるようになる。

7.2. 共有フォルダの設定

VirtualBoxを起動するPC(ホストOS)とLin4Neuro(ゲストOS)とのファイルのやり取り(例:WindowsとLin4Neuroのファイル共有)は、単純なコピペのように直接的にはできない。そこで、ホストOSとゲストOSの共有フォルダを作成する。

L4N-1804-VM-Enを選択した状態で、「設定」を選択する。

設定ウインドウが表示されたら、左側メニューから「共有フォルダ」を選択し、右側の共有フォルダを追加するボタンから、共有フォルダを指定する。

「フォルダのパス:」で、共有フォルダを指定する。

この時、「読み込み専用」と「自動マウント」に、チェックが入っていないことを確認する。

設定・確認ができたら、OKをクリックする。

8. Lin4NeuroをVirtualBoxから起動

L4N-1804-VM-Enを選択した状態で、「起動」を選択する。

Lin4Neuroを起動すると、次のような画面になった場合、そのままEnter/Returnキーを押す。何もせず、そのまま待っていても起動する。

ログイン画面になったら、パスワード:lin4neuroを入力し、「Log In」ボタンでログインする。この時、すべて小文字で入力することに注意。

9. ソフトのインストール

デスクトップにある「installer」フォルダに脳画像解析ソフトのインストーラが格納されている。欲しいソフトのアイコンをダブルクリックすることで、ソフトのインストールをすることができる。

インストールしたソフトは、左下の脳アイコンをクリックし、「Neuroimaging」から選択し、起動できる。

9.1. 3D Slicerのインストール

「Install 3D Slicer」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上がる。

パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

インストールが開始される。

端末(ターミナル)が閉じれば、インストール完了である。

9.2. ITK-SNAPのインストール

「Install ITK-SNAP」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上げる。

パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

インストールが開始される。

端末(ターミナル)が閉じれば、インストール完了である。

9.3. FSLのインストール

「Install FSL」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上げる。

FSLをインストールするにあたって、同意次項や自身の情報について回答し、「Register」をクリック。

端末(ターミナル)をみると、FSLをどこにインストールするか聞かれる。デフォルトでよければ、Enter/Returnキーを押す。

Where would you like the FSL install to be (including the FSL folder name)? [/usr/local/fsl]: 

インストールが開始される。

しばらくインストールをしていると、パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

We require your password to continue...
password:

インストールが続行される。

インストールが完了すると、端末(ターミナル)が自動で閉じる。

FSLを使用するためには、再度ログインし直さなければならないので、一度ログアウトする。

ログアウトするには、右下の脳画像アイコンをクリックし、「Log Out」を選択する。

次のようなウインドウが立ち上がったら、「Log Out」を選択する。

ログイン画面になったら、パスワード:lin4neuroを入力し、「Log In」ボタンでログインする。この時、すべて小文字で入力することに注意。

端末(ターミナル)を立ち上げて、fslとタイプし、Enter/Returnキーを押すと、FSLが起動する。

端末(ターミナル)が閉じれば、インストール完了である。

9.4. MRtrix3のインストール

「Install MRtrix3」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上げる。

パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

次に、MRtrix3インストールに必要なストレージ容量を聞いてくる。ストレージ容量に問題がなければ、Enter/Returnキーを押す。

After this operation, 133 MB of additional disk space will be used.
Do you want to continue?  [Y/n]

インストールが開始される。

端末(ターミナル)が閉じれば、インストール完了である。

9.5. FreeSurferのインストール

FreeSurferのインストールのために、FreeSurferのライセンステキスト(license.txt)を「/home/brain/Downloads」に準備しておく必要がある。

ライセンステキストの取得のために、こちらのリンクにアクセスし、必要事項の確認・記入の上、申請をする。

申請後、記載したメールアドレス宛にFreeSurferの管理者からメールが送られてくる。そのメールに「license.txt」が添付されているので、これを「/home/brain/Downloads」に配置する。

license.txtの準備ができたら、「Install FreeSurfer 6.0.1」あるいは「Install FreeSurfer 7.1.1」のいずれかをダブルクリック。数字が大きい方が最新である。

インストーラが実行され、端末(ターミナル)が立ち上げる。

FreeSurferをインストールか聞かれるので、「yes」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

Are you sure you want to begin the installation of FreeSurfer?  (yes/no)

次に、VirtualBox環境に合わせてインストールするか聞かれるので、「yes」とタイプし、Enter/Returnキーを押す。

Do you want to modify recon-all for VirtualBox environment?  (yes/no)

インストールが開始される。

しばらくすると、パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

インストールが続行される。

端末(ターミナル)が閉じれば、インストール完了である。

9.6. ANTsのインストール

「Install ANTs」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上がる。

パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

インストールが開始される。

端末(ターミナル)が閉じれば、インストール完了である。

9.7. SPMのインストール

「Install SPM12 Standalone」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上がり、インストールが開始される。

しばらくすると、パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

端末(ターミナル)が閉じれば、インストール完了である。

9.8. CONNのインストール

「Install CONN18.b Standalone」あるいは「Install CONN19.c Standalone」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上がる。

パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

インストールが開始される。

端末(ターミナル)が閉じれば、インストール完了である。

9.9. 機械学習の環境構築

「Install Python3 libraries for Machine Learning」をダブルクリック。

インストーラが実行され、端末(ターミナル)が立ち上がる。

機械学習のためのライブラリをインストールするか聞かれるので、「yes」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

Do you want to continue?  (yes/no)

次に、パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。

[sudo]  password for brain:

インストールが開始される。

しばらくインストールをしていると、パスワードを要求されるので、「lin4neuro」とタイプし、Enter/Returnキーを押す。このとき、タイプしている文字は表示されないが、しっかりと入力されているので気にせずタイプする。

[sudo]  password for brain:

インストールが続行される。

端末(ターミナル)が閉じれば、インストール完了である。

10. トラブルシューティング

10.1. 起動時に、「仮想マシン”L4N-1804-abis”のセッションを開けませんでした。」という警告

主にHPのPCで、仮想化が有効にされていないことが原因。

既にダウンロードした、Lin4Neuro(ovaファイル)は削除せずに、VirtualBoxにインポートしたLin4Neuroの仮想マシンを、一度削除する。

HPのBIOS設定から「VT-x」を有効にする。詳細は、HPの公式サイトを参考に。

PCを再起動した後に、VirtualBoxに再度Lin4Neuro(ovaファイル)をインポートする。

脳画像解析のための環境構築” へのコメント

  1. 根本先生

    FSLインストールに関して質問です。同意次項や自身の情報について回答する前に以下の表示があり、インストールできませんでした。解決方法をご教示ください。お願いいたします。

    Installing FSL in /usr/local/fsl

    Downloading miniconda from https://repo.anaconda.com/miniconda/Miniconda3-
    py311_24.3.0-0-Linux-x86_64.sh…
    1 / 3 [####################################################] 134.9 / 134.9 MB |
    Installing miniconda at /usr/local/fsl…
    2 / 3 [#########################################################] 100 / 100 % \
    Installing FSL into /usr/local/fsl…
    3 / 3 [

    • これは問題なくいっています。ダウンロードに時間がかかるのでしばらくそのままにしていただけませんか。

      • 100 74517 100 74517 0 0 33430 0 0:00:02 0:00:02 –:–:– 33445
        FSL is already installed.
        Do you want to reinstall or update?(yes/no)

        待機したところ、上記の表記がありました。同意次項や自身の情報について回答し、「Register」をクリックするという過程がありませんでした。これはダウンロード完了しているのでしょうか。

        お手数をおかけしますが、よろしくお願いいたします。

        • これはFSLがすでにインストールされているというメッセージです。

          スクリプトでインストールする際、ラインセンスに同意していることが前提なので、Registerを求められません。

          一度、ログアウトし、再度ログインしてからターミナルから fsl とタイプされたら FSL が起動しませんか?

  2. 根本先生

    記事にあるLin4neuroはM1のMacosでも問題なく使用できますでしょうか?

    • Lin4Neuroは、まだApple M1には対応していないです。正確に言うと、Lin4Neuro自体は対応はできている(ただし未公開)のですが、他の脳画像解析プログラムが全然対応できていないので実質意味をなさない感じです。

  3. 根本先生

    いつも大変お世話になっております。
    関東で脳外科をしている金子です。
    先日もSPM12のAC-PC自動補正に関するご指導いただきました。

    度々申し訳ございません。
    2点、質問させてください。

    Lin4neuroを用いてMRtrix3を用いたDTI preprocessing、FSLでの解析を行いたいと考えています。

    1. MRtrix3をインストールでき、/home/brain/git/mrtrix3/ とファイルが作成されていますが、ターミナルからmrtrix3を起動しようとしても起動されません。何か確認すべき方法がありますでしょうか。
    また、現在HPでオンラインでの講習、という形でMRtrix3を用いたpreprocessingを勧めていただいているかと思いますが、画像解析初心者のため、完成を楽しみにしております。どうぞよろしくお願いいたします。

    2.FSLでのeddy correctionを行いたいと考えていますが、Chris Rorden’s MRIチュートリアルを参考にFSLでのpreprocessingを進めています。
    しかしながら、現在のFSLのversionのためか、eddy correctionにおいてinex fileを要求されております。dcm2niiを用いてDTI画像を変換し、.bvalと.bvecファイルが追加作成できております。ただ、このindex fileの項目でつまずいており、助けていただければ幸いです。大変初歩的な質問かもしれませんがどうぞよろしくお願いいたします。

    • 金子先生

      1. MRtrix3をインストールでき、/home/brain/git/mrtrix3/ とファイルが作成されていますが、ターミナルからmrtrix3を起動しようとしても起動されません。何か確認すべき方法がありますでしょうか。

      mrtrix3というコマンドはないんですね。

      GUIでは、mrview というプログラムが起動するか確認していただけたらと思います。

      mrview
      

      また、mrconvert というコマンドもたたいてみたらいいと思います。

      mrconvert
      

      MRtrix3が正しくインストールされているならば以下のような表示が出るはずです。

      =====
      mrconvert: part of the MRtrix3 package

      SYNOPSIS

      Perform conversion between different file types and optionally extract a
      subset of the input image

      USAGE

      mrconvert [ options ] input output

      input the input image.

      output the output image.

      =====

      2.FSLでのeddy correctionを行いたいと考えていますが、Chris Rorden’s MRIチュートリアルを参考にFSLでのpreprocessingを進めています。
      しかしながら、現在のFSLのversionのためか、eddy correctionにおいてinex fileを要求されております。dcm2niiを用いてDTI画像を変換し、.bvalと.bvecファイルが追加作成できております。ただ、このindex fileの項目でつまずいており、助けていただければ幸いです。大変初歩的な質問かもしれませんがどうぞよろしくお願いいたします。

      Eddy current correction は、簡易版の”eddy_correct”とFSL6以降標準となった”eddy”の2つがあります。Chris Rordenのtutorialではeddy_correctを用いた方法が記載されているかなと思います。標準のeddyを行うには、B0画像をAP方向とPA方向の2方向で撮像していないといけません。先生の手持ちのデータはそれがありますでしょうか?1つの画像しかない場合はeddy_correctしか方法はありません。

      eddy_correct の場合、コマンドは以下のようになります。

      eddy_correct 拡散MRI画像 出力ファイル名 あわせたい画像(通常はB0画像)
      

      今、入力画像を dwi.nii.gz とします。dwi.nii.gzの一番最初にB0画像があって、あとはB1000画像がくるとします。
      出力画像をeddy_current_correctionとしてeccとします。

      そうすると、コマンドは以下のようになります。

      eddy_correct dwi.nii.gz dwi_ecc 0
      

      0というのがインデックスナンバーになりますが、0というのは、dwi.nii.gzの一番最初のボリュームという意味になります。たとえば8軸の拡散強調画像であれば、b0が1ボリューム、b1000が8ボリュームあることが多いと思います。この場合、インデックス0は最初のb0画像、インデックス1は一番最初のb1000画像を意味します。

      これで回答になりますでしょうか?

  4. いつもお世話になっております。
    VMによるLin4Neuro日本語版上でMRtrix3を使用させて頂きたくインストールし、
    /home/brain/git/ のフォルダ内にmrtrix3のフォルダがある状態になりました。
    しかし、brain@l4n:~/git/mrtrix3$ ./configure で確認すると

    MRtrix build type requested: release version

    Detecting OS: linux
    Looking for compiler [clang++]: not found
    Looking for compiler [g++]: g++ (Ubuntu 7.5.0-3ubuntu1~18.04) 7.5.0
    Checking for C++11 compliance: ok
    Checking shared library generation: ok
    Detecting pointer size: 64 bit
    Detecting byte order: little-endian
    Checking for variable-length array support: ok
    Checking for non-POD variable-length array support: ok
    Checking for ::max_align_t: 16 bytes
    Checking for std::max_align_t: 16 bytes
    Checking for Eigen3 library:
    ERROR: error compiling Eigen3 application!

    MRtrix3 was unable to compile a test program involving Eigen3.

    Set the EIGEN_CFLAGS environment variable to inform ‘configure’ of
    the flags it must provide to the compiler in order to compile
    programs that use Eigen3 functionality; this may include the path to
    the Eigen3 include files, as well as any required flags.
    For example:
    $ export EIGEN_CFLAGS=”-isystem /usr/include/eigen3″
    $./configure
    (amend with the actual path to the Eigen3 include files on your system)

    と Eigen3のパスの設定についてだと解釈しておりますが、Linux初心者で対応の仕方が分からず止まっております。
    お忙しいところ恐縮ですが、ご教示いただけますと幸いです。
    宜しくお願い致します。

    • すみません、なぜだかこのコメントがスパム判定されてしまっていました。今、気づきました。

      configureの前に追加のパッケージが必要です。
      以下をターミナルにコピペしていただけますか。

      sudo apt-get -y install git g++ python libeigen3-dev zlib1g-dev \
       libqt5opengl5-dev libqt5svg5-dev libgl1-mesa-dev libfftw3-dev  \
       libtiff5-dev libpng-dev
      

      そうすれば、大丈夫です。

      試してみた結果を教えていただけたらと思います。

      根本清貴

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください