【初心者向け】基礎&実践プログラミング

初心者がつまづきやすいところ、最短で実力が身につく方法をお伝えします。

【まとめ】MRI脳画像解析の基本

f:id:AIProgrammer:20201209152419p:plain

動かしながら学ぶ PyTorchプログラミング入門

動かしながら学ぶ PyTorchプログラミング入門

  • 作者:斎藤勇哉
  • 発売日: 2020/11/30
  • メディア: Kindle版

目次

目的

  • 脳MRI画像を用いた解析手法を紹介

0. はじめの一歩

脳画像解析をする上で、まず初めに覚えておきたいことをまとめています。

画像表示ソフト(Viewer)について

さまざまな、画像表示ソフトがありますが、ソフトによってできることが様々で使用目的も異なります。

MRIcron

公式ホームページは、こちら

基本的な画像表示ソフトウェア。他のソフトウェアよりも動作が軽く、一番使うかも。

www.aiprogrammers.net

ITK-SNAP(準備中。。。)

公式ホームページは、こちら

自分はROI作成をするのに、よく用いるソフトウェア。ITK-SNAPでは3Dの球形・立方体のVOIを作成することもできる。また、x, y, zの解像度がことなっていてもiso tropicデータとして補完して表示してくれるのもITK-SNAPの特徴で、ROI作成をする上では大変便利。

使用例は、こちら。

www.aiprogrammers.net

FSLeyes(準備中。。。)

FSLで解析した結果を見るのに、よく用いる画像表示ソフトウェア。複数の画像を同時に重ねて表示したり、4D画像(ex. 拡散MRI画像)のVolumeを切り替えたりするのに便利。また、複数の断面を一度に表示したりすることもできる(Lightbox)。

公式ホームページは、こちら

使用例は、こちら。

www.aiprogrammers.net

MRView(準備中。。。)

公式ドキュメントはこちら

MRtrixで生成した結果を見るのによく用いる、画像表示ソフトウェアでトラクトグラフィー、Constrained spherical deconvolution (CSD)のresponse function、fiber orientation distribution (FOD)を可視化することができる。

使用例は、こちら。

www.aiprogrammers.net

FreeView(準備中。。。)

公式ホームページは、こちら

構造画像解析FreeSurferの結果を、見る際に用いる画像表示ソフトウェア。

使用例は、こちら。

www.aiprogrammers.net

Linuxのお作法(基本)

(準備中。。。)

1. 前処理

1.1. DICOMのソート (Sort) 処理(準備中。。。)

MRIでは、様々な種類の画像を撮像するが、MRIから出力する際には撮像シリーズ (Series) ごとに分けられていない。そこで、ごちゃ混ぜになったデータを撮像シリーズごとに分けるという処理をする。これをDICOMのソート処理という。

DICOMのソート処理の例は、こちら。

www.aiprogrammers.net

1.2. DICOMをNIfTIに変換

MRIで撮像したデータは、DICOM形式で保存される。脳画像解析では、NIfTI(The Neuroimaging Informatics Technology Initiative)と呼ばれる画像形式(フォーマット)を用いる。

www.aiprogrammers.net

1.3. 拡散MRIの前処理(歪み補正&頭の動き補正)

拡散MRI (Diffusion MRI) はEcho Planer Imaging (EPI)というシーケンスで撮像されているが、EPIは磁化率効果による影響に敏感であり、画像が歪むという問題がある。

拡散MRIでは、水分子拡散状態を可視化する技術である。水分子の動きをとらえるためには、Motion Probing Gradient (MPG)という水分子の動きを検出するための傾斜磁場を何種類(何軸)も用いる。その結果、脳の拡散MRIでは脳画像というVolumeデータが、MPGの数に応じて複数Volume撮像されることになるが、撮像中に頭が動くことによってVolume間の位置が合わないという問題がある。特に脳画像解析では、Voxel単位という小さなマスの中で解析をするので、撮像中の頭の動きで生じる、Volume間の位置ずれは解析結果に影響する。

そこで、拡散MRIで得られた脳画像に対して、「画像の歪み補正」と「頭の動き補正」をする。

www.aiprogrammers.net

2. 定量値の計算

2.1. 基本的な拡散定量値 (DTI/DKI/NODDI)

拡散MRIは、単に水分子の拡散状態をMRIの信号値で可視化した画像であるが、MRIの信号値は絶対量ではないので、この画像では群間比較のような相対評価はできない。そこで、拡散MRIから水分子の拡散状態を定量し、絶対量を計算する。定量方法はさまざまであり、次のような手法が提案されている。

  • 拡散テンソルイメージング (Diffusion Tensor Imaging: DTI)
    • Fractional Anisotropy (FA)
    • Mean Diffusivity (MD)
    • Axial Diffusivity (MD)
    • Radial Diffusivity (MD)
  • 拡散尖度イメージング (Diffusion Kurtosis Imaging: DKI)
    • Mean Kurtosis (MK)
    • Axial Kurtosis (AK)
    • Radial Kurtosis (RK)
  • 神経突起方位分散・密度イメージング (Neurite Orientation Dispersion and Density Imaging: NODDI)
    • Intracellular Volume Fraction (ICVF)
    • Orientation Dispersion Index (ODI)
    • Isotropic Volume Fraction (ISO)

以上の定量値は、我々が導入したMATLABで動作するソフトウェアで計算可能である。

www.aiprogrammers.net

2.2. Diffusional Kurtosis Estimator (DKE) を用いた拡散尖度イメージング

Diffusional Kurtosis Estimator (DKE) は、DTIおよびDKIの定量値を算出する無償のソフトウェアである。Windows/Mac/Linuxに対応している。

www.aiprogrammers.net

2.3. 自由水イメージング(Free-Water Imaging: FWI)

脳拡散MRIの1つのボクセルには、何100万もの神経細胞が存在する。さらにその1つのボクセル内に脳脊髄液 (CSF)や浮腫のような自由水が存在する場合、DTIの定量値は影響を受ける(部分容積効果)。脳画像解析では、神経細胞や神経白質路の状態を正確に評価したいので、これらの自由水の影響を排除して定量値を求めたい。そこで、拡散MRIで得られる信号値は、脳実質 (intracell) と自由水 (extracell)の2種類componentから得られるとしてDTIを計算する。そうすることで、自由水による影響を取り除いたDTI定量値を計算することができる。もちろん、Voxelに存在する自由水体積分率 (free-water volume fraction)も計算することができる。

自由水イメージング(Free-water Imaging: FWI)を用いた定量値算出は、我々が導入したPythonで動作するソフトウェアで実行可能である。

www.aiprogrammers.net

2.4. 脳構造解析 (FreeSurfer)

脳には様々な領域が存在するが、FreeSurferを用いることで様々な脳領域を同定・分割することができる。さらに、それぞれの領域ごとに厚さ・面積・容積を計測することもできる。

FreeSurferで分割された脳領域を関心領域 (ROI)として、Diffusion MRIの定量値を脳領域ごとに計測することも可能。

www.aiprogrammers.net

3. 画像の統計解析

3.1. Tract-Specific Analysis (TBSS)

Tract-Specific Analysis (TBSS)は、白質路の統計解析をするための手法。

神経線維束の中心線(skeleton)に定量値を投影する。通常の脳画像の統計解析では、脳構造の個人差を除外するために空間的「平滑化」を用いる。しかし、平滑化の程度に原則がなく、平滑化をかけては情報があいまいになり、MRIの高空間分解能を生かせないという問題がある。一方、TBSSでは、神経線維束の中心線と思われるところにskeletonを生成し、そこに個人ごとの定量値を投影するという手法をとる。これにより、平滑化せずに群間比較をすることができるため、平滑化による問題を回避できるという利点がある。

www.aiprogrammers.net

3.2. Gray Matter Based Spatial Statistics (GBSS)

Gray Matter Based Spatial Statistics (GBSS)は、灰白質の統計解析をするための手法。TBSSの灰白質版。

(GBSS手法準備中)

3.3. Fixel-Based Analysis (FBA)

(FBA記事準備中)

3.4. FMRIB's Linked Independent Component Analysis (FLICA)

FMRIB's Linked Independent Component Analysis (FLICA)は、FMRIB'sが提供する独立成分分析 (ICA)であり、さまざまな画像を用いた、マルチモーダルな独立成分分析が可能。

www.aiprogrammers.net

4. その他

4.1. その他の脳画像解析

4.2. ROI解析

4.3. 脳画像解析における結果のまとめ方

4.3.1. 図(Figure)作成
4.3.2. 評価指標

4.4. 知っておくと後々幸せになるかもシリーズ

4.5. 機械学習

4.5.1. 実装例
4.5.2. 実装技術
4.5.3. PyTorchチュートリアル(日本語)

4.6. 趣味

4.6.1. 実装例
4.6.2. 実装技術


頑張れ!喝!!の代わりにB!ブックマークを押していただけるとただただうれしいです(^^)! ↓

動かしながら学ぶ PyTorchプログラミング入門

動かしながら学ぶ PyTorchプログラミング入門

  • 作者:斎藤勇哉
  • 発売日: 2020/11/30
  • メディア: Kindle版