Windows 10でFSLをネイティブ環境で起動する方法

FSL_on_Windows

2016年8月1日、Windows 10がAnniversary updateされました。
そこで、かねてから話題になっていたことですが、ついにUbuntuがWindowsに搭載されました。
ここ数年Ubuntuユーザーである私からしたら、別にどうってことないんですが、
これはWindowsで画像解析をやってきた方々には、すごく意味のある変化です。

Windows上でFSLが動かせる可能性が出てきた

ということですので。

早速、人柱的にやってみました。

普通に起動するところまでは成功しました!

  1. Windows 10 Anniversary Updateの入手(2016年9月9日現在、これはもうしなくて大丈夫です)
  2. まずはこれをしないことには話がはじまりません。(と書いていますが、2016年9月にはAnniversary Updateは普通に配布されているので、最新版に更新していただければ、終了です)

    Windows 10の「設定」→「更新とセキュリティ」に進んだ後、一番下にある「詳細情報」をクリックします。

    そうすると、Windows10の更新履歴のページが立ち上がるはずです。(直接左のリンクをクリックするのもありです)

    そこに「Anniversary Updateを入手する」とありますので、素直にクリックします。

    そうするとアップデートがはじまります。素直に従えば30分程度ですべて起動するはずです。

  3. Windows Subsystem for Linux(beta)の有効化
  4. 再起動後、スタートボタンを右クリックし、コントロールパネルを開きます。

    「プログラム」→「Windowsの機能の有効化または無効化」をクリックします。

    そうすると、ダイアログが開きますので、Windows Subsystem for Linux(beta)のチェックボックスにチェックを入れて「OK」とします。
    再起動を求められますので、再起動します。

  5. 開発者モードの有効化
  6. 次に、また「設定」→「更新とセキュリティ」に行きます。
    左側のメニューに「開発者向け」というものがあります。
    そこをクリックし、出てきた画面で、「開発者モード」を選択します。

    また再起動を要求されますので、再起動します。

  7. Xmingの入手
  8. 次に、Xmingを入手します。最新版はお金を寄付しないと入手できないようなので、無料版を手に入れます。
    こちらから入手できます。

    インストールはシンプルです。すべてデフォルトのままでOKです。

    早速起動します。といっても何もおきません。
    ただ、Windowsの右端のタスクバーを見ると、そこにちゃっかりといます。

    xming

    Xmingの上にマウスをもってくると、今の場合、Xming Server:0.0となっています。この0.0をあとで使います。

  9. bashの起動
  10. ここまで来たら、bashを起動します。

    まず、Windowsからコマンドプロンプトを起動します。簡単な方法は、メニュー左下の「何でもきいてください」というところに cmd とタイプすることです。
    そうすると、コマンドプロンプトが起動します。

    そこで

    bash
    

    とタイプしてください。
    そうすると、質問されますので “y” と答えると、bashのインストールがはじまります。
    そのうちに、ユーザー名とパスワードを設定するようにたずねられますので、それぞれ設定してください。

    ここでインストールされるものはUbuntu 14.04となります。

  11. FSLのインストール
  12. 次に、FSLをインストールします。

    下記をそのままコピペしてください。

    sudo apt-get update
    sudo apt-get dist-upgrade
    wget -O- http://neuro.debian.net/lists/trusty.jp.full | sudo tee /etc/apt/sources.list.d/neurodebian.sources.list
    sudo apt-key adv --recv-keys --keyserver hkp://pgp.mit.edu:80 0xA5D32F012649A5A9
    sudo apt-get update
    sudo apt-get install fsl
    

    何をしているかというと、

    ・リポジトリを更新します
    ・Ubuntuを最新の状態にアップデートします
    ・Neurodebianリポジトリを有効にします
    ・Neurodebianリポジトリのための鍵を入手します
    ・上記の作業を有効にするためにリポジトリを更新します
    ・FSLをインストールします

  13. .bashrcへの追記
  14. 最後に以下をタイプしてください。

    echo ". /etc/fsl/fsl.sh" >> ~/.bashrc
    echo "export DISPLAY=localhost:0.0" >> ~/.bashrc
    

    これは

    . /etc/fsl/fsl.sh
    export DISPLAY=localhost:0.0

    という2行を.bashrcというファイルに書き込みます。

    最初の行は、FSLの起動のために必要なコマンドで、
    2行目は、GUIを起動するためにbashにXmingがどこにあるかを伝えています。
    0.0は先ほどXmingで確認した数値です。もし、自分の環境で異なっていたら適宜修正してください。

  15. 起動確認
  16. 一度bashを終了します。

    exit
    

    とタイプしてください。
    そうすると普通にコマンドラインに戻るので、改めて

    bash
    

    とタイプしてください。

    そのうえで

    fsl
    

    とタイプすると、FSLが起動しないでしょうか。

    fslview
    

    でFSLViewも起動します。

    お試しあれ。
    今後、いろいろ動きが起こりそうです。
    ここ最近何回かやってきたシェルスクリプトの講習会などもより意味を持つようになってきますね。

FSLユーザーのためのシェルスクリプトチュートリアル

FSLを開発しているFMRIBグループは、FSL courseのスライドおよびデータセットを公開してくださっています。ここで勉強しているときに、さりげなくシェルスクリプトのチュートリアルもあることが気になっていました。

先日、時間をとってこのチュートリアルを丁寧に見ていったところ、非常に勉強になることが多く、シェルスクリプトの理解が深まりました。FSLユーザーのみならず、脳画像解析でUNIX系のOS(Macも含む)を使う方々にとって有益な情報が多いと思いましたので、日本語にしておきたいと思い、FMRIBのSteve Smith教授の承諾を得て、このチュートリアルを翻訳させていただきました。

オリジナルのサイト自体は、スライド形式になっており、レクチャーと演習部分にわかれています。しかし、翻訳していく段階でこれを完全に模倣するよりは、レクチャーと演習をそれぞれ別の媒体として準備するのも勉強するのには都合がいいかもと考え、それぞれ別のPDFを準備しました。

関心のある方は、以下のリンクからPDFをご覧いただけたらと思います。

FSL course: シェルスクリプト
FSL course: シェルスクリプト演習

How to install FSL on Ubuntu

If you use Debian or Ubuntu, you can install FSL easily using neurodebian repository.
Below is what you need to install FSL.

  1. Add the neurodebian repository
  2. Follow the guideline described here.

  3. update the sources.list
  4. $ sudo apt-get update

  5. install FSL (and related packages)
  6. $ sudo apt-get install fsl fsl-doc fslview fslview-doc fsl-atlases fsl-possum-data fsl-first-data fsl-feeds dicomnifti libvtk5-dev vtk-examples vtk-doc

  7. Add the following line to .bashrc
  8. This is the thing people often forget. Without this, you can’t run fsl from shell.

    . /etc/fsl/fsl.sh

    That’s it.