CONNチュートリアル 04: Setup – Basic

さて、サンプルデータも手に入ったところで、設定を始めていきます。

CONNでは、画面上の“Setup” “Denoising” “first-level Analysis” “second-level Analysis” の順番に進んでいきますが、
各項目において、左側の見出しを設定していきます。

上が大項目、左が小項目と覚えておけばいいでしょう。

それでは、まず、Setup -> Basic と選択します。

Number of subjects: 今回使うサンプルデータは合計20例ですので、20と入力します。
Number of sessions: 上を20と入れると自然に 1 1 1 … 1 1 1と入るはずです。resting-state fMRIは基本的に1セッションですので、これでOKです。もし、タスクfMRIならば、セッション数は変わります。
Repetition Time: TRを入力します。サンプルデータのTRは2000msec、つまり2sです。今はそのままで大丈夫ですが、もし、2500msecでしたら、2.5と入力します。全部入力するのは、めんどくさいので、matlab の ones を上手に使います。

2.5を20個並べたかったら、

2.5*ones(1,20)

と入力し、Enterをおすと自動で2.5が20個並びます。

Acquisition type: デフォルトのままContinuousで結構です。

これでBasicのセットアップは終了です。

CONNチュートリアル 03: サンプルデータ

CONNを試したいけれどもデータがないという方のためにデータを準備しました。

COBREデータセットから、30代の健常者と統合失調症患者をそれぞれ10例ずつ集めてあります。

データはこちらからダウンロードしてください。500MB強あります。

ZIPファイルをダウンロードし、展開すると、そこにsampleフォルダがあります。
また、subjects.txtもあります。後ほど使います。
このsampleフォルダを先ほど作成したconn_practiceの下に置いてください。

CONNチュートリアル 02: プロジェクトの作成【重要】

CONNで絶対に忘れてはいけないことは、【最初にプロジェクトファイルを作成すること】です。

プロジェクトファイルに、すべての解析情報が残されます。
逆に、プロジェクトファイルを最初に作らないで解析をすると、
解析はできてしまうのですが、CONNを終了するとすべて消えます。

CONNの解析時間はそれなりにかかりますので、なくなった時の落胆は結構大きいです。
私はこのミスを3回やって、学びました。

「愚者は経験に学び、賢者は歴史に学ぶ。」という名言にあるように、
皆様は私のように愚者にならないでください。

こんなことを書いていたら、バージョン17eでは、新規ファイルを作成する際に最初にプロジェクトファイルを指定するようになりました。

プロジェクトファイルは以下の2つの方法のどちらかで、簡単にできます。

  • CONNの中央のNewをクリックする
  • CONNの左上のProject -> New(blank) を選ぶ。

そうすると、プロジェクトファイルを保存するダイアログが出てきます。

注意しておくことは、以下の2点です。

  • CONNのデータはかなり大きなものになります。十分に容量の大きい領域を選びます。
  • プロジェクト1つあたり、専用のディレクトリ(フォルダ)を作成してそこに保存するようにしましょう。そうしないと、後で後悔します。
  • 今、私は、自分が普段画像解析を行うディレクトリimg_dataの下にconn_practiceというディレクトリを作成し、その下にデフォルトのままconn_project01.matを保存することにしました。

    そうすると、CONNの一番下の画面にプロエジェクトが保存されているディレクトリが表示されます。

この下に、ハードディスクの空きがあとどのくらいあるかも示されます。CONNではひとつのプロジェクトで100GB程度使うことも稀ではありません。もし、ノートパソコンなどでトライされる場合には、十分な容量のある外付けHDDで作業をすることをオススメします。

この2つが準備されれば、次に進みましょう。

CONNチュートリアル 01: インストール

2016年4月にボストンで開催されたCONNのワークショップに参加してきました。

このワークショップに日本人で参加したのは私がはじめてということで、学んだことをこのブログでフィードバックしていきたいと思います。

  • 必要なソフトウェア
  • MatlabおよびSPM8以降が必要です。

  • ダウンロード
  • NITRCからダウンロードします。

    CONNのダウンロードページ

    2017年6月現在の最新バージョンは17.eです。conn17e.zipをダウンロードします。

  • インストール
  • インストールはSPMと同じ要領です。適当なところにダウンロードしたzipファイルを展開し、そのディレクトリをMatlabのパスに追加します。SPMよりも下に置いておいた方がいいと思います。

    Linux環境ですが、私の場合、下図conn000のようになっています。

  • 起動
  • 起動は簡単です。Matlabから

    conn
    

    とタイプするだけです。

    下図の画面が出れば成功です。

  • アップデート
  • CONNのアップデートは簡単です。画面左上の Help -> Update を選択するだけです。アップデートがあれば教えてくれます。

これでCONNのインストールは完了です。

How to run FSL on Windows 10 using Bash on Ubuntu on Windows

FSL_on_Windows

Since Aug 2016, Bash is available inside Windows.
That means, several neuroimaging software such as FSL or AFNI can be run from Windows.

I gave a try and confirmed FSL can run on Windows 10.

Below is what I did.

  1. Install Bash on Ubuntu on Windows
  2. First of all, we need to install bash on Windows.

    There is a good tutorial on this topic, so please follow the link below.

    How to Install and Use the Linux Bash Shell on Windows 10

  3. Install Xming
  4. Next, we neet to get Xming and install it. It seems the latest version is not free, but FSL can run with free version.

    You can get free version of Xming from here.

    Installation is simple. Default setting should work.

    After reboot, run xming. Though nothing seems to happen, please check the task bar of Windows on the right bottom corner.

    xming

    If you move cursor on the icon of Xming, it shows something like “Xming Server:0.0”. We use the information “0.0” later.

  5. Install FSL
  6. Next we run bash. type

    bash
    

    in the command prompt. (You already did this when you install bash on the first step)

    Ubuntu on Windows is based on Ubuntu 14.04 LTS, so we utilize Neurodebian repository for installation.

    Type the following in the command prompt.

    sudo apt-get update
    sudo apt-get dist-upgrade
    wget -O- http://neuro.debian.net/lists/trusty.us-nh.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
    

    (There are some mirrors of Neurodebian, so please check http://neuro.debian.net/ to find the closest mirror for you.)

    Here we do

    • Update repository
    • Update the system to the latest
    • Setup neurodebian repository
    • Get key for neurodebian repository
    • update repository again to enable neurodebian
    • Install FSL
  7. Add some lines to .bashrc
  8. Finally, type the following.

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

    This operation writes the following lines to .bashrc

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

    First line is necessary to run FSL, and the second line is to show the system where display is for GUI.

  9. Check the installation
  10. To enable change on .bashrc you need to exit bash once.

    exit
    

    Then type “bash” again.

    bash
    

    Then type

    fsl
    

    will bring up FSL menu.

    fslview
    

    will bring up FSLView.

Lin4Neuroのアップデート (14 Aug 2016)

Lin4Neuroのアップデートを行いました。

主な更新点は以下になります。

  • UEFIに対応するようにいたしました。
  • 画像解析ソフトをすべて最新バージョンにアップデートしました。
  • GitHub上にLin4Neuroを作成するスクリプトを公開しました。
  • https://github.com/kytk/lin4neuro-trusty

    これを用いればLin4Neuroを自分の使いたいようにカスタマイズしていただくことも可能かと思います。

  • 起動時画面のロゴに少し修正を加えました。Lin4NeuroがUbuntuのどのバージョンに基づいているかがひと目でわかります。

現在、Ubuntu 16.04に基づいたLin4Neuroを開発中です。できたら年末までに公開できたらと思っています。

最新版のLin4Neuroは
You can download the latest Lin4Neuro from こちらからどうぞ。

Update of Lin4Neuro (13 Aug 2016)

Lin4Neuro is updated.

Below is the points of update.

  • Now Lin4Neuro ISO is UEFI bootable.
  • All of the neuroimaging software packages are up-to-date.
  • Now I made the building scripts of Lin4Neuro publicly available on GitHub.
  • https://github.com/kytk/lin4neuro-trusty

    You can make your version of Lin4Neuro based on the repository above. I wrote instruction how to use in the repository.

  • I made some changes to the Lin4Neuro logo on splash. You will find L4N you are using is based on Ubuntu 14.04 or other.

Now I’m in the process of developing Lin4Neuro based on Ubuntu 16.04. Hopefully this version will be released by the end of this year.

You can download the latest Lin4Neuro from here.

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も起動します。

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

UbuntuにおけるAFNIのアップデート

AFNIのインストール方法は、公式ページにしたがって行えばできます。AFNIにはコマンドラインからのアップデート機能があり、@update.afni.binaries -dで基本的にアップデートもできます。

しかし、この場合、NIHから新しいバージョンのAFNIをまるごとダウンロードしてきます。wgetでダウンロードするのですが、結構時間がかかります。ブラウザのアドオンについてくるダウンローダで入手するほうが短時間でダウンロードします。

https://afni.nimh.nih.gov/pub/dist/tgz/

ここからダウンロードできます。

ダウンロードしたものを使ってアップデートする際には以下でうまくできます。

インストール先を /usr/local/afni/bin
ダウンロードしたものが、~/Downloads/linux_openmp_64.tgz だとすると、
以下のようになります。

sudo /usr/local/afni/bin/@update.afni.binaries       \
     -bindir /usr/local/afni/bin/                    \
     -local_package ~/Downloads/linux_openmp_64.tgz 

私の場合、/usr/local/afni/binにインストールしたかったので、sudoを使っていますが、デフォルトの~/abinの場合には、sudoは必要ありません。

現在のバージョンは

afni -ver

で簡単に確認できます。

Matlab R2016aでも動作するための修正版spm_figure.m

21/Oct/2016 SPM12がアップデートされました。このアップデートで下記の対処はもう必要なくなります。したがって、この記事は意味がないです。私のウェブサイトからの配布も終了します。

過日、Matlab R2016a日本語版では、SPM12を起動するときにエラーが出るという記事を投稿しました。その後、修正版spm_figure.mがあるという情報をいただき、さらに、開発者のGuillaume Flandinからも了承をいただきましたので、ここに修正版spm_figure.mを公開します。

修正方法は簡単で、下にあるspm_figure.mをダウンロードしていただき、SPM12の中にあるspm_figure.mと置き換えていただくだけです。
心配な方は、まず現在のspm_figure.mをspm_figure.m.origなどに修正してから置き換えられるとよいかと思います。

なお、Guillaume Flandinからの情報だと、この修正は、次のSPM12のアップデートで適応されるとのこと。
次のSPMアップデートが出た時点で、私のウェブサイトからの配布は終了します。

SPM12でのreset origin

SPM12から、Display機能にあったReset Originがなくなりましたが、
先ほど、SPMのMLで、コマンドが紹介されていたので、紹介します。

spm_image('resetorient');

spm_imageで、SPMのDisplay機能を呼び出すことができるのですね。
そして、引数に’resetorient’を指定することでオリジン情報をクリアできます。

これは、とんでもない位置合わせをやってしまった時に、元に戻す便利な機能なので、共有しておきます。

FSLを用いたシェルスクリプト演習:脳3次元T1強調MRIの水平断一覧画像の作成

あるプロジェクトにおいて、「MRI画像の一覧画像を作成してもらいたい」という依頼を受けました。

イメージとしては、下記のようなものです。

LB_example

以前、FSLのシェルスクリプトチュートリアルを翻訳していた際に、演習に
Lightbox Viewerがあったのを思い出して、改めて、それを見ながら、さらに機能を追加したスクリプトを考えてみました。

作成しながら勉強になることがいくつもあったので、細かくわけてみたいと思います。

続きを読む

Ubuntuのapt-get updateで「ハッシュサムが適合しません」と出た時の対処法

先日、Ubuntuでapt-get updateを行った所、以下のエラーに遭遇しました。

W: http://jp.archive.ubuntu.com/ubuntu/dists/trusty-updates/main/source/Sources 
の取得に失敗しました  
ハッシュサムが適合しません

このような場合の解決法がいくつか提示されています。よくみられているもののひとつに、Ubuntuフォーラム内の投稿があります。

これでいいのですが、本質は何か考えてみました。

本質は、

/var/lib/apt/lists

の中にあるファイルとの比較で失敗しているようです。

したがって、消せばいいのは、この中身で、apt-getはその下にあるpartialディレクトリがなかったら自動で作成してくれます。

なので、やればいいのは、たった一つです。

$ sudo rm -r /var/lib/apt/lists/*

これでapt-get updateを行えば問題は解決するはずです。

自分の備忘録として残しておきます。

Matlab R2016a日本語版では、SPM12を起動するときにエラーが出る

タイトル通りなのですが、

Matlab R2016a日本語版では、SPM12を起動しようとするとエラーが出ます。

詳しい現象は、こちらに説明されていますので、下記をご覧ください。

SPM12がMATLAB R2016aで動かない

こちらに解決法が書いてあり、「デスクトップの言語を英語にする」と書いてあります。

Linuxではこれは簡単です。

ターミナルを起動し、

LANG=C matlab &

で英語環境でMatlabが起動します。

Macで同じことができるかと思ったらダメでした。
Macでは、ターミナルでLANG変数を変更しても、Matlab起動時に無視されてしまうとのこと。Mathworks本家が言っているのでどうしようもないです。

Mac プラットフォームのロケール設定

決して賢くはないですが、なんとかする方法がわかりましたので書いておきます。

Matlabを起動する前に、

システム環境設定→言語と地域

で、優先する言語を”English”にします。

そして、そのウィンドウを閉じようとすると、再起動しますかと聞かれますが、再起動しなくてOKです。

そこで、Matlabを起動すると、英語モードで起動します。

そうすると、SPMは問題なく起動します。

終わったあとに、もう一度 System Preferences… で同様にJapaneseを優先言語にもってきます。

これで終了すれば、日本語に戻ります。

もっとスマートな方法があるかと思いましたが、ありませんでした…。

今後、時間があるときに、SPMのMailing listにバグ報告を出しておこうと思いますが、
一番の対策は、Matlab R2015b以降にはしばらくアップデートしないということになります。

ご参考まで。

Ubuntu 16.04 における plymouth

Ubuntu 16.04になってから、Plymouthの挙動が変なので、いろいろ調べたところ、以下のことがわかりました。

これまでは、テーマは、/lib/plymouth/themesの下に保存されていましたが、これからは、/usr/share/plymouth/themesの下に保存されるようになったようです。

したがって、自作のテーマを使いたい場合、以下を行う必要があります。今、テーマはmytheme/mytheme.plymouthと仮定します。

  • 自作の mytheme.plymouth の中のファイルのパスを “/lib/plymouth” -> “/usr/share/plymouth” に変更
  • update-alternativesで新たにdefault.plymouthを設定
  • $ sudo update-alternatives --install \
    /usr/share/plymouth/themes/default.plymouth 
    default.plymouth \
    /usr/share/plymouth/themes/mytheme/mytheme.plymouth 100
    
  • テーマの変更
  • $ sudo update-alternatives --config default.plymouth
    
  • システムに反映
  • $ sudo update-initramfs -u
    

場所が変更になったことだけ頭においておけば、そこまで悩む必要はなさそうです。

FreeSurfer前処理結果のQuality Check

FreeSurferのrecon-allで前処理を行った後、Quality Checkを行うことはとても大事です。

広島大の北村先生と一緒に、やり方を確認しました。北村先生がまとめてくださいましたので、その方法を以下に記します。

原典はFreeSurferのホームページを参考にしています。
https://surfer.nmr.mgh.harvard.edu/fswiki/FsTutorial/OutputData_freeview

続きを読む

Ubuntu 14.04 に parted を利用して 8TBのHDDを増設したときのメモ

gdiskを用いる方法もあります。こちらをご参照ください。

Linuxには2TBの壁があり、2TBより大きいHDDを増設しようとすると、少し工夫が必要です。
結論からいうと、partedを使うことで、問題なくいけます。
今回、解析用に8TBのHDDを4台増設しました。

備忘録のためにどうやったか書いておきます。

続きを読む

FreeSurferをインストールした後の第一歩

FreeSurferをインストールした後、自分のデータを用いてどうしたらいいか困る人が多くいます。

まず、1例を試してみるといいと思います。

以下のようにされてはいかがでしょうか。

  1. ターミナルを開きます。
  2. 画像があるディレクトリに移動します。
  3. たとえば、画像が、/Users/foo/img_dataにあるとすれば、

    $ cd /Users/foo/img_data/
    

    となります。

  4. 画像の被験者IDを決めます
  5. FreeSurferでは実はこれが大事です。ここをきちんとしていないと、話が次に進みません。

  6. 以下の書式でコマンドをうちます。
  7. $ recon-all -s 【被験者ID】 -i 【NIFTI画像ファイル】 -all
    

    今、被検者IDがHC001、NIFTI画像がV_HC001.niiだとすると、

    $ recon-all -s HC001 -i V_HC001.nii -all
    

    となります。

これでしばらく待ちます。私の最近のPCでは、9時間程度で1例の処理が終わります。

スクリプト化してみましょう。画像のファイル名(拡張子抜き)をIDとして扱うことにします。

#!/bin/sh

if [ $# -lt 1 ]
then
        echo "Please specify image files!"
        echo "Usage: $0 imagefiles"
        echo "Wild card can be used."
        exit 1
fi

for f in "$@"
do
        subjid=`imglob $f`
        recon-all -i $f -s $subjid -all
done

という感じになりますね。

出力ファイルは、$SUBJECTS_DIRに出力されます。
私の場合、
$SUBJECTS_DIRはホームディレクトリの下のfreesurfer/subjectsにしてあります。
この設定の仕方は、こちらをご覧ください。

どこにあるかすぐにわからなかったら、以下をしたらいいと思います。

$ cd $SUBJECTS_DIR

ここに先ほど入力したIDがあります。その中にいろいろ入っています。

$SUBJECTS_DIRはHDDの容量をくいますので、十分なスペースを確保しないと容量不足に陥りますのでご注意ください。

ANTsのUbuntu 14.04へのインストール方法(ソースからのコンパイル)

2018.09.09追記:この記事は古くなっています。最新版は、こちらに準備しましたので、こちらをご覧ください。

先日、ANTsをMacにインストールする方法を記載しましたが、Ubuntuでも同じことができるので、記載します。

開発者によるHow-toはこちらに記載されています。

続きを読む