2014年12月13日に包括脳MRI脳画像解析チュートリアルが開催されました。
私はVBMチュートリアルを担当しましたが、その時の配布資料を公開します。
このPDFは、「すぐできるVBM」の補足のような位置づけにあります。
すぐできるVBMのサンプルデータを使っていますし、チュートリアルを受講していない方々でも、このPDFを参考にしていただければ、さらなる知識が得られるのではないかと思います。
ダウンロードはこちらからどうぞ。
2014年12月13日に包括脳MRI脳画像解析チュートリアルが開催されました。
私はVBMチュートリアルを担当しましたが、その時の配布資料を公開します。
このPDFは、「すぐできるVBM」の補足のような位置づけにあります。
すぐできるVBMのサンプルデータを使っていますし、チュートリアルを受講していない方々でも、このPDFを参考にしていただければ、さらなる知識が得られるのではないかと思います。
ダウンロードはこちらからどうぞ。
5人の方の申し込みをいただいたので、開催決定です!
岩手医大の山下典生先生も助っ人で参加してくださることになりました!
※場所が確定しました。秋葉原駅徒歩5分のAP秋葉原です。
※事前登録制です。参加希望の方はコメント欄からご連絡をお願いします。
すぐできるVBMが無事に出版に至りましたが、「本は買ったけれどもやる時間がない」という方もいらっしゃるのではないかと思います。また、「ここはどうなの?」と質問をしたいという方もいらっしゃると思います。
そこで、VBMのミニ勉強会を開催させていただきます。
日時:2014年6月28日(土)15:00-18:00
場所:AP秋葉原
参加費:3000円程度(会議室の実費代のみ。)
持参していただくもの:SPMがセットアップされている自分のパソコン
人数:最小5名〜最大20名
テキスト:「すぐできるVBM」(前もってご準備ください)
内容:実習形式
・VBMを実際に動かしてみる
・自分の解析でわからないことの質疑応答
参加希望の方は、下記コメントにお名前(ニックネーム可)とメールアドレスを書きこんでいただけますでしょうか。
VBMに関心のある方はご検討ください。
友人の山下典生先生が、2014年8月31日に『第1回 IMU脳画像解析セミナー「VBM/ROI解析を極める」』を開催します。
SPMでのVBMだけでなく、3D-SlicerやITK-SNAPも利用するとのこと。とても楽しみです。
早速申し込みしました。
関心のある方はこちらをごらんください。
「すぐできるVBM」に、全脳容積の求め方を記載していませんでした…。
以下の方法で、求めることができます。
必要なものは以下のとおりです。
容積を簡便に求めることができるスクリプトは、Ged Ridgway氏によるget_totals.mです。右クリックで「名前をつけて保存」とし、SPMのディレクトリに保存してください。
Segmentで最初に作られる画像であるc1*.niiとc2*.niiを準備します。ここで*はワイルドカードを意味し、「c1からはじまり、そのあとは何でもOKで、最後は.niiで終わる」という意味です。c1画像は厳密には確率画像なのですが、標準化前のこの画像のボクセル値は、ほぼ容積とイコールであると考えられています。
それでは実際にやっていきましょう。
まずは、灰白質の容積を求めます。Matlabのコマンドウィンドウから以下のようにタイプします。
gmv = get_totals
(gmvは変数名なので、gray_matterでも、gmでもかまいません)
そうすると、ファイルを選択するダイアログがあらわれます。ここで、容積を求めたいc1画像を指定してください。ここでは、ためしに5つのファイルを選びました。そうすると、以下のような表示になると思います。(もちろん、数字は選択した画像で変わります)
gmv =
640.9410
664.4302
617.7647
874.1366
670.1864
次に、白質の容積を求めます。Matlabのコマンドウィンドウから以下のようにタイプします。
wmv = get_totals
同様に、ファイルを選択するダイアログがあらわれますので、容積を求めたいc2画像を指定します。重要なのは、c1画像と同じ順番で選択してください。以下のような表示になると思います。
wmv =
431.9188
463.1192
418.5571
572.9889
488.4050
そうしたら、2つを足して全脳容積を求めましょう。
tbv = gmv + wmv
tbv =
1.0e+03 *
1.0729
1.1275
1.0363
1.4471
1.1586
これは、1.0×10^3(すなわち1000)にそれ以下の数字をかけたものということです。つまり、
tbv =
1072.9
1127.5
1036.3
1447.1
1158.6
ということになります。
これを選択してコピーしても使えますが、ファイルに書き出しましょう。
コンマ区切りファイルというものに出力することができます。
出力ファイル名をtotal_brain_volume.csvとします。
csvwrite('total_brain_volume.csv',tbv)
csvwriteの書式は csvwrite(出力ファイル名, 変数名) となります。
変数tbvの内容をtotal_brain_volume.csvに出力したいので、上記のようになります。
そうすると、ワーキングディレクトリにtotal_barin_volume.csvが生成され、Excelのような表計算ソフトでも、テキストエディタでも開くことができます。
最後に少し応用しましょう。灰白質容積(GMV), 白質容積(WMV), 全脳容積(TBV)をすべてCSVファイルに出力したいとしましょう。
その場合は、まず、すべての情報をひとつの変数volumesにまとめます。
Matlabのコマンドウィンドウから次のようにタイプしてください。
volumes = [gmv wmv tbv]
そうすると下記のようになります。
volumes =
1.0e+03 *
0.6409 0.4319 1.0729
0.6644 0.4631 1.1275
0.6178 0.4186 1.0363
0.8741 0.5730 1.4471
0.6702 0.4884 1.1586
左からgmv, wmv, tbvという順番になっています。
これを、先程と同じようにしてCSVファイルに保存します。ファイル名をvolumes.csvとします。
csvwrite('volumes.csv',volumes)
このようにして、脳容積の情報を保存できます。
臨床では、1人の症例で健常者と比較して容積低下部位を求めたいことがあります。
SPMでどのようにするかというと、シンプルです。
そうすると、Design matrixを作るための設定画面は下図のようになるはずです。
これを普通にEstimateして、Contrast managerで症例の容積が低下している領域を求めたかったら、[-1 1]とすれば大丈夫です。
Twitterで疑問を投げかけてくださった@silverjet_jpさん、ありがとうございました。
ついにできました!VBMの教科書です。
薄い本(150ページ弱です)ですが、VBMについての基礎知識がぎっちり詰まっています。
この本のいいところは、以下のようなところです。
構成は以下の通りになっています。
第1章 はじめに
第2章 画像解析の準備
2.1 画像解析に必要なコンピュータのスペック
2.2 画像のファイル形式
2.3 画像解析の一連の流れ
2.4 SPMのインストール
2.5 サンプルデータ
第3章 SPMの動作の基本
3.1 SPMのウィンドウ構成
3.2 作業ディレクトリの設定
3.3 画像の表示
3.4 AC-PC位置合わせ
3.5 MATLABスクリプトを用いた半自動AC-PC補正プログラム
第4章 VBMの概要と前処理
4.1 VBMとは
4.2 分割化
4.3 DARTEL
4.4 バッチ(Batch)処理
第5章 統計モデルと結果表示
5.1 事前準備
5.2 群間比較(two-sample t-test)
5.3 相関解析
5.4 要因の分散分析
第6章 VBMの臨床への応用
6.1 VSRAD®
6.2 J-ADNI
6.3 VSRAD®の臨床応用例
ちなみに、総ページのだいたい半分が第5章に割かれています。VBMの前処理についての情報はそれなりにあるのですが、統計処理のところについての説明は非常に少ないので、統計処理について重点を置いています。
値段が5000円+消費税8%で5400円となっていますが、ここまで情報が詰め込まれているVBMの解説書はありませんので、形態MRI解析を志していて英語の文献を読むだけの気力がない方にはお手頃だと思います。(実は英語でもVBMの統計の部分の情報は系統的なものは少ないです…)
Amazonでも購入いただけます。リンクは下記。
VBMの前処理にはどのくらいの時間がかかりますか?という質問を受けましたので、様々なマシンで計測してみました。
3人の3D-T1 MRI画像(ボクセルサイズ 1x1x1mm)をVBM8でDARTELでノーマライズしています。
前処理の設定をvbm8_preproc.matという名前で保存して、以下のベンチマークスクリプトを用意しました。とても単純なMATLABのスクリプトで、処理の前後にtic, tocというコマンドを入れることで前処理にかかった時間を測定するというものです。
%vbm8_benchmark.m tic spm('defaults','pet'); spm_jobman('initcfg'); load vbm8_preproc.mat; spm_jobman('run',matlabbatch); toc
その結果は、以下のようになりました。
Machine | CPU | Core | Thread | Memory | OS | Matlab | Processed time |
Workstation BTO | AMD Opteron Processor 2425HE x 2 | 12 | 12 | 24GB | Xubuntu 12.04 | R2013b | 74m31s |
Desktop BTO | Core i7-960 3.2GHz | 4 | 8 | 24GB | Xubuntu 12.04 | R2011b | 34m47s |
Desktop BTO | Core i7-960 3.2GHz | 4 | 8 | 24GB | Xubuntu 12.04 | R2013b | 33m20s |
Mac Book Pro (Late 2011) | Core i7-2640M 2.8GHz | 2 | 4 | 8GB | Mac OSX 10.9 | R2011b | 30m29s |
Thinkpad T430s | Core i7-3520M 2.9GHz | 2 | 4 | 16GB | Windows 7 | R2013a | 35m0s |
Thinkpad T430s | Core i7-3520M 2.9GHz | 2 | 4 | 16GB | Xubuntu 12.04 | R2013b | 29m12s |
Desktop BTO | Core i7-3930K 3.2GHz | 6 | 12 | 32GB | Xubuntu 12.04 | R2013b | 26m52s |
この結果をまとめると、以下のようになります。
ということで、SPM-VBMという観点からでは、1コアあたりの周波数ができるだけ速いCPUを入手することをお勧めします。
We can calculate grey/white matter volume from segmented images.
You need the following script and SPM plugin.
VBMで得られる画像を用いて、灰白質や白質画像の容積を求めることができます。
事前の準備として、以下のことが必要です。
Ged Ridgwayが公開している容積算出のためのスクリプトです。http://www0.cs.ucl.ac.uk/staff/g.ridgway/vbm/get_totals.mここから入手できます(右クリックしてリンク先を保存としてください)。これをSPMのディレクトリに保存します。
これは、局所容積を求めたい時に便利です。マスク画像を簡単に作成することができます。http://fmri.wfubmc.edu/software/PickAtlasここから入手できます。今回はこのセットアップ方法は説明しませんのであしからず。
When you do VBM analysis, you see many files are generated in your stats directory. Suppose you are doing a two sample t-test. You see files like below.
Ged Ridgway made a clear explanation of these files in NITRC discussion forum. http://www.nitrc.org/forum/message.php?msg_id=6483
It is important to know what these files are, so I quote his post with some modification.
The estimated linear model parameters at each voxel. In a two-sample design, these are just the two group mean images. beta_0001 is a mean image of group A, and beta_0002 is a mean image of group B.
The contrasts of the parameters. If one makes a contrast of [-1 1], the con_0001 will simply be beta_0002 – beta_0001
A binary image indicating which voxels were considered in the analysis. If this mask is too small, you may miss the region you are interested in. If too big, it is less likely to survive multiple comparison. So it is worth checking the mask image before you draw some conclusion from your analysis.
The estimated variance (residual mean squares), from which the above-mentioned standard error is derived.
In more detail, the standard error is proportional to the square root of ResMS and a term that relates to the design matrix X and contrast c as sqrt(c’*pinv(X’*X)*c), which (in two sample t-test) roughly reflects the fact that the standard error is inversely proportional to the number of subjects one has.
The resels-per-voxel image related to the smoothness (roughness)
estimate needed for random field theory.
The t-statistic maps formed by dividing the contrast image by its estimated standard error.
VBMをされている方ならばChristian Gaserが開発しているVBM-toolsについて聞き及んだことがあると思います。
彼の許可を得て、このたびVBM8のマニュアルを訳しました。
訳がこなれていないところはありますが、英語を読むのがつらい方には多少はお役に立つかと。
それにしても、この世界にいる方々はみんな親切で協力的です。とてもありがたいことですね。
VBM8日本語マニュアルをダウンロード
*21/Aug/2013 リンク先をChristian Gaserのページに変更しました。
縦断解析の行列のところに修正がかかっています。
修正版をダウンロードしてご使用いただけたらと思います。
ご指摘いただいたM先生ありがとうございました。
これまで日本語でのVBMのドキュメントは非常に限られたものでした。
いいものが出てこないかなと思っていましたが、なかなか出てこないので、思い切って自分で日本語のドキュメントを作成してみました。といっても他の方々の協力をたくさん得てですが。
オリジナルは2010年5月にEdinburghで開催されたSPM couseのVBMクラスで使われた資料です。John Ashburner氏がSPMのメーリングリストで公開されていましたので、Johnから翻訳の承認をもらったうえで、翻訳しました。翻訳を助けてくださった高橋先生、草稿に目を通してくださってアドバイスをくださった松尾先生に感謝いたします。
興味のある方は以下のリンクからPDFをダウンロードしてみてください。