CONNの記事を最初に書いてからほぼ5年が経ちました。
多くの方に「CONNを使えるようになりたい」という質問をいただくので、改めて、2021年8月時点の最新バージョン 20.b を用いてCONNの使い方を紹介していきたいと思います。
年別アーカイブ
画像ファイル形式の種類
目次
1. 目的
2. 画像ファイル形式
2.1. DICOM(拡張子: .dcm)
2.2. ANALYZE(拡張子: .hdr/.img)
2.3. NIfTI(拡張子: .nii)
2.4. MIF形式(拡張子:.mif)
2.5. MGZ形式(拡張子:.mgz)
2.6. GZ形式(拡張子:.gz)
脳画像解析の概要
目次
1. 脳画像解析とは
2. 脳画像解析の種類と特徴
3. 画像解析一連の流れ
3.1. DICOMを脳画像解析用のファイル形式に変換(例: DICOM→NIfTI)
3.2. 画像に問題がないかチェック
3.3. 前処理
3.4. 統計解析
Ubuntu 18.04 への FreeSurfer 7.2.0 のインストール (debファイルの利用)
FreeSurfer 7.2.0が発表されました。
このバージョンからついに deb ファイルが提供されるようになりました。嬉しいことですね。
デフォルトのインストール先は、/usr/local/freesurfer/7.2.0 となります。
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台のマシンでセットアップを行い問題ないことを確認していますが…)