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

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

【脳画像定量値】自由水イメージング(Free-Water Imaging: FWI)

f:id:AIProgrammer:20201209225920p:plain

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

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

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

目次

目的

  • 自由水イメージング(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で動作するソフトウェアで実行可能である。

理論

準備中。。。

準備するデータ

FWIで必要なデータは、次の通り。

以下の拡散MRIデータは、b値が1000, 2000 [s/mm2]、各b値に対して64軸 (vectors)のデータである。

.
├── DWI.nii.gz  # Diffusion image
├── DWI_mask.nii.gz  # Mask of Diffusion image
├── bvals.bval  # b-values
└── bvecs.bvec  # b-vectors

実行

FWIを実行するには、Pythonでrun_freewater.pyを実行する。

基本的な使い方は、次の通り。

usage: run_freewater.py [-h] [--bval bval_file] [--bvec bvec_file] [-m MASK]
                        [--bvmin bval_min] [--bvmax bval_max] [--bs b_step]
                        [--eddy] [--bet]
                        DWI_file

すべてのb値を使う場合

multi-shellデータの場合で、すべてのb値を用いてFWIをする場合、次のようにコマンドを実行する。

run_freewater.py --bval bvals.bval \
    --bvec bvecs.bvec \
    -m DWI_mask.nii.gz \
    DWI.nii.gz

b値を指定して使う場合

multi-shellデータの場合で、解析するb値を指定したい場合、b値の最小値--bvminと最大値--bvmaxを設定して、b値の解析範囲を指定できます (※指定にかかわらず必ずb0は解析に使用される)。

b=1000のみを用いて解析する場合、次のようなコマンドを実行する。

run_freewater.py --bval bvals.bval \
    --bvec bvecs.bvec \
    -m DWI_mask.nii.gz \
    --bvmin 1000 --bvmax 1000 \
    DWI.nii.gz

結果

計算中。。。

処理が完了すると、「freewater」フォルダが生成され、そこにConventional DTIとFree-water eliminated DTI (FWE-DTI) の定量値画像が保存される。

freewater/
├── DWI_AD_DTI.nii.gz
├── DWI_AD_diff.nii.gz
├── DWI_AD_fwe.nii.gz
├── DWI_FA_DTI.nii.gz
├── DWI_FA_diff.nii.gz
├── DWI_FA_fwe.nii.gz
├── DWI_FWElim.bval
├── DWI_FWElim.bvec
├── DWI_FWElim.nii.gz
├── DWI_L1_fwe.nii.gz
├── DWI_L2_fwe.nii.gz
├── DWI_L3_fwe.nii.gz
├── DWI_MD_DTI.nii.gz
├── DWI_MD_diff.nii.gz
├── DWI_MD_fwe.nii.gz
├── DWI_RD_DTI.nii.gz
├── DWI_RD_diff.nii.gz
├── DWI_RD_fwe.nii.gz
├── DWI_V1_fwe.nii.gz
├── DWI_V2_fwe.nii.gz
├── DWI_V3_fwe.nii.gz
├── DWI_freewater.nii.gz
├── DWI_tensor.nii.gz
├── DWI_tensor9.nii.gz
├── DWI_tissue.nii.gz
└── bvalues_freewaterDTI.txt

Conventional DTIとFWE-DTIの画像は、次の通り。

f:id:AIProgrammer:20201210105511p:plain


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

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

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

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