SETUP – Basic
Basicでは、被験者数、session数、Repetition Timeを設定します。
脳画像解析を行う際には、「ワーキングディレクトリ」を意識することがとても大切になります。なぜならば、ワーキングディレクトリの中に画像データが保存されていくからです。CONNも例外ではありません。
そして、忘れられがちですが、Matlabでまずワーキングディレクトリに移動してからCONNやSPMを起動すると、ファイルの選択などが非常に容易になります。
今は、conn_practice.zip を展開してできた conn_practice をワーキングディレクトリとして設定したいと思います。
CONNの記事を最初に書いてからほぼ5年が経ちました。
多くの方に「CONNを使えるようになりたい」という質問をいただくので、改めて、2021年8月時点の最新バージョン 20.b を用いてCONNの使い方を紹介していきたいと思います。
FreeSurfer 7.2.0が発表されました。
このバージョンからついに deb ファイルが提供されるようになりました。嬉しいことですね。
デフォルトのインストール先は、/usr/local/freesurfer/7.2.0 となります。
fMRIデータは3次元データで取り扱う場合と4次元データで取り扱う場合があります。
3次元データの場合、たとえば1つのセッションが240ボリュームで構成されているとすると、240のniftiファイルで構成されます。
4次元データの場合、1つのniftiファイルに240ボリュームがすべておさめられています。
個人的には、データ管理という点では、4次元データの方が取り扱いやすいと思っています。
そこで3次元データを4次元データに変換する方法をSPMの場合とFSLの場合でまとめたいと思います。
必要な情報としては、TRです。この情報がないといくつかのソフトはうまく動かなくなります。
画像解析などをしていると、しばしば、「今の作業で新しくできたファイルは何だろう?」と思うことがあります。
Linuxでは、find コマンドに、-newer というオプションがあります。findのmanページには以下の記載があります。
-newer file
ファイルが file よりも最近に内容を更新されていれば、真を返す。
であるならば、あるファイルを作成して、作業をして、その後に、findをかければ列挙できるはずです。
いろいろ調べた結果、touchコマンドで -t オプションを使うとタイムスタンプを決められるので、それをスクリプトに組み込めるなと思いました。
以下のスクリプトで、新たに生成されたファイルの一覧が generated_from_タイムスタンプ.txt に作成されます。
#!/bin/bash
#generate timestamp
ts=$(date +%Y%m%d%H%M.%S)
#generate a temporary file with current timestamp for find
touch -t $ts /tmp/_timestamp
# BEGIN commands to generate new files
#
# END
# list files which is generated after /tmp/_timestamp
find . -type f -newer /tmp/_timestamp | tee -a generated_from_${ts}.txt
ある方から、「脳画像解析の他に心理検査と認知機能検査をやっているんだけれども、それらの検定を行う際は多重比較補正はしなくていいのでしょうか?」という質問をいただきました。
私がいつもいろいろ教わっている統計の専門家の佐賀大学の川口淳先生にお聞きしたところ、とてもわかりやすい説明をいただきました。川口先生の許可を得ましたので公開させていただきます。
2021年4月9日にFSLのMLで、以下の情報が流れてきました。
The latest FSL installer script should be able to download and install FSL on Apple ARM machines.
You can download the latest installer here (after filling in the form):
https://fsl.fmrib.ox.ac.uk/fsldownloads_registration
FSL will run using Rosetta2 and passes the FSL test suite.
ということで、FSLはついにApple M1チップに対応したようです。
macOSをBig Surにアップグレードした後、VirtualBoxから仮想マシンを起動しようとすると、”Kernel driver not installed (rc=-1908)”というエラーが出て、起動しないという現象にぶつかりました。

原因を探ったところ、”VirtualBoxのバージョンをあげること”が解決法として挙げられていました。
以下の方法でなんとか解決できたので、紹介します。キャプチャは全てmacOS Big Surのものです。
*22/Jan/2022 様々な方々とのやり取りの中で、うまくいかないこともたくさんありました。Homebrew経由でいくのが一番確実そうです。従って、記事をアップデートします。
FSLにはFA画像を非線形変換する際、FA_2_FMRIB58_1mm という設定ファイルが準備されており、比較的簡単に非線形変換ができます。
しかし、MD画像を非線形変換したい場合にはすぐにはうまくできません。
この時、FA画像の非線形変換のパラメーターを利用することで、可能になります。
ポイントは、flirt, fnirt, applywarp を上手に使うことです。
以下、sub1_FA.nii.gz, sub1_MD.nii.gz があるという前提でこれらを標準化するコマンドを記載します。コメントに意味を記載しています。
# FA画像を線形変換で標準化
# パラメータを affine.mat として出力(変換後の画像は出力しない)
flirt -ref $FSLDIR/data/standard/FMRIB58_FA_1mm \
-in sub1_FA \
-omat affine.mat
# FA画像を非線形変換で標準化
# 非線形変換のパラメータ画像を、sub1_cout.nii.gz として出力
# FA画像の標準化された画像を、sub1_FA_fnirted.nii.gz として出力
fnirt --config=FA_2_FMRIB58_1mm \
--in=sub1_FA \
--aff=affine.mat \
--cout=sub1_cout \
--iout=sub1_FA_fnirted
# MD画像を非線形変換で標準化
# 上記で得られた、affine.mat, sub1_cout.nii.gz を利用して、
# sub1_MD を変換させる
# sub1_FA と sub1_MD は全く同じ次元なので、パラメータだけ当てはめることができる
# MD画像の標準化された画像を、sub1_MD_fnirted.nii.gz として出力
applywarp --ref=$FSLDIR/data/standard/FMRIB58_FA_1mm \
--in=sub1_MD \
--warp=sub1_cout \
--premat=affine.mat \
--out=sub1_MD_fnirted
eddy implemented in FSL is time-consuming program. FSL recommends using eddy_cuda, GPU version of eddy. They ship eddy_cuda8.0 and edddy_cuda9.1. If you use Ubuntu 18.04, you can make use of eddy_cuda9.1 with only 4 commands.
Disclaimer: Installing nvidia-driver could cause display problem. I am not responsible for the problem…
FSLにはeddyという拡散MRI画像の渦電流を補正するプログラムが搭載されています。
かつてはeddy_correctというシンプルなプログラムでしたが、
今のeddyは、計算量がとてつもなく大きな(=処理時間がかかる)プログラムとなっています。
Liux版のFSLには、eddy_openmp というCPU版と、eddy_cuda{8.0,9.1}というGPU版があります。
Ubuntu 18.04 が搭載されているLinuxで NVIDIA製のグラフィックボードが搭載されている場合、eddy_cudaを比較的簡単にセットアップできるので紹介します。
注意:NVIDIAのドライバを入れる時点で、ディスプレイの解像度が変になることがあります。現在の実働マシンに使う場合は相当注意しながら行ってください。個々人の環境があまりにも違うのでこの方法で不具合が起こっても責任は負いかねます。(すでに3台のマシンでセットアップを行い問題ないことを確認していますが…)
2021年1月30日(土)〜31日(日)に、完全オンラインで「第9回ABiS脳画像解析チュートリアル」を開催いたします。
多数の参加申し込みをお待ちしております。
2020年12月27日までに受講申し込みをしてくださった方々で、受講環境が整われた方々にZoomアドレスが周知されます。
UbuntuでRを使っていらっしゃる方は多いと思います。
R3.5以上を使う場合、https://cran.rstudio.com/bin/linux/ubuntu bionic-cran35 を使っている場合が多いです。
このリポジトリの署名が2020年10月16日に失効しました。
Appleは11月17日からCPUをこれまでのIntelからARMベースのApple M1を搭載したmacbookを発売しました。
脳画像解析をされる方は注意してもらいたいのですが、2020年11月18日現時点で、FSLはApple M1には対応していません。対応までに数カ月かかるとFSLのメーリングリストで中の人がおっしゃっていました。
その他にも未対応のソフトは多くあると思われるので注意してください。
個人的には、macに関しては「ちょっと枯れてから」がいいと思っています。
imglob or imcp provided with FSL requires numpy.testing.decorators. However, numpy.testing.decorators has been deprecated from numpy 1.18. So, if you use numpy >=1.18, you see the following error: