CONNチュートリアル (20.b対応): SETUP – Covariates (2nd-level)

前処理のQAで今回準備したサンプルデータでは、Subject 16は解析に不適ということがわかりました。なので、これを省きたいと思いますが、その前に準備している Covariates を登録しておきます。(そうでないと Covariates を入れてある subjects.txt を編集し直さないといけないからです。)

続きを読む

CONNチュートリアル (20.b対応): ワーキングディレクトリの設定

脳画像解析を行う際には、「ワーキングディレクトリ」を意識することがとても大切になります。なぜならば、ワーキングディレクトリの中に画像データが保存されていくからです。CONNも例外ではありません。

そして、忘れられがちですが、Matlabでまずワーキングディレクトリに移動してからCONNやSPMを起動すると、ファイルの選択などが非常に容易になります。

今は、conn_practice.zip を展開してできた conn_practice をワーキングディレクトリとして設定したいと思います。

続きを読む

CONNチュートリアル (20.b対応): 必要なデータ

CONNのために必要なMRIデータ

CONNを使うために必要なデータは、3次元T1強調画像と安静時脳機能画像です。安静時脳機能画像は、4次元画像の方がとりまわしがしやすいです。3次元fMRIデータを4次元fMRIデータに変換する方法は、こちらの記事にまとめましたので、そちらをご参照ください。

続きを読む

3次元fMRI データセットを4次元fMRIデータセットに変換する方法: SPMとFSLの比較

fMRIデータは3次元データで取り扱う場合と4次元データで取り扱う場合があります。

3次元データの場合、たとえば1つのセッションが240ボリュームで構成されているとすると、240のniftiファイルで構成されます。

4次元データの場合、1つのniftiファイルに240ボリュームがすべておさめられています。

個人的には、データ管理という点では、4次元データの方が取り扱いやすいと思っています。

そこで3次元データを4次元データに変換する方法をSPMの場合とFSLの場合でまとめたいと思います。

必要な情報としては、TRです。この情報がないといくつかのソフトはうまく動かなくなります。

続きを読む

Linuxで特定の時間より後に生成されたファイルを列挙する方法

画像解析などをしていると、しばしば、「今の作業で新しくできたファイルは何だろう?」と思うことがあります。

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

それって多重比較?

ある方から、「脳画像解析の他に心理検査と認知機能検査をやっているんだけれども、それらの検定を行う際は多重比較補正はしなくていいのでしょうか?」という質問をいただきました。

私がいつもいろいろ教わっている統計の専門家の佐賀大学の川口淳先生にお聞きしたところ、とてもわかりやすい説明をいただきました。川口先生の許可を得ましたので公開させていただきます。

続きを読む

ARMベース「Apple M1」搭載のmacbookに、FSLが対応しました(2021年4月)

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上のVirtualBoxで”Kernel driver not installed (rc=-1908)” が出た時の対処方法

macOSをBig Surにアップグレードした後、VirtualBoxから仮想マシンを起動しようとすると、”Kernel driver not installed (rc=-1908)”というエラーが出て、起動しないという現象にぶつかりました。

原因を探ったところ、”VirtualBoxのバージョンをあげること”が解決法として挙げられていました。

以下の方法でなんとか解決できたので、紹介します。キャプチャは全てmacOS Big Surのものです。

*22/Jan/2022 様々な方々とのやり取りの中で、うまくいかないこともたくさんありました。Homebrew経由でいくのが一番確実そうです。従って、記事をアップデートします。

続きを読む

FSLでFA画像を用いてMD画像を非線形変換する方法

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

Making use of eddy_cuda of FSL 6.0.4 on Ubuntu 18.04

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…

続きを読む

Ubuntu18.04上のFSL6.0.4でeddy_cudaを使う方法

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台のマシンでセットアップを行い問題ないことを確認していますが…)

続きを読む

fslroiやmrconvertを使ってNIfTI画像からスライスを1枚だけ削除する方法

拡散画像からZ軸(上下)方向に1枚だけスライスを除く必要がありました。

どんな方法があるか調べていたところ、fslroiがいいなと思いました。
そして、慶応大学病院の上田先生からMrtrixについてくるmrconvertでも同様のことができることを教わりました。
自分の備忘録も兼ねてここに記載しておきます。

実際に試せるように、サンプル画像を準備しました。この画像をベースに説明します。

続きを読む

第9回 ABiS脳画像解析チュートリアル

2021年1月30日(土)〜31日(日)に、完全オンラインで「第9回ABiS脳画像解析チュートリアル」を開催いたします。
多数の参加申し込みをお待ちしております。
2020年12月27日までに受講申し込みをしてくださった方々で、受講環境が整われた方々にZoomアドレスが周知されます。

続きを読む