【MRtrix】MRtrixを用いたトラクトグラフィー: Tractography


1. 目的
2. データ準備
3. MIFフォーマットに変換
4. 渦電流および頭部の動き補正
5. 脳マスクの作成
6. 応答関数(Response function)の推定
7. 白質配向分布の推定
8. Tractographyの実行
9. Track Density Imaging (TDI)


1. 目的

2. データ準備

次のようなデータを準備する。今回のデータはSingle Phase encodingかつSingle Shell (b=0, 1000 s/mm^2)のデータとする。

- DWI.nii.gz
- bvecs
- bvals
- headers.json

3. MIFフォーマットに変換

【MRtrix】NIfTI形式からMIF形式の変換を参考に、NIfTIをMIFフォーマットに変換する。

mrconvert -fslgrad bvecs bvals -json_import headers.json DWI.nii.gz DWI.mif

4. 渦電流および頭部の動き補正

【MRtrix】MRtrixを用いた拡散MRIの前処理 ~歪み・頭の動き・渦電流の補正~を、参考に前処理。

dwifslpreproc DWI.mif DWI_preproc.mif -rpe_header

5. 脳マスクの作成

MRtrixを用いた拡散MRIのマスク画像の作成を参考にして、脳マスクを作成。

dwi2mask DWI_preproc.mif DWI_mask.mif

6. 応答関数(Response function)の推定

DWI信号値に逆畳み込みをして、白質の配向分布を推定するため応答関数を推定する。

dwi2response tournier DWI_preproc.mif WM_response_function.txt

7. 白質配向分布の推定

Constrained Spherical Deconvolution (CSD)を使って、白質配向分布を推定。

dwi2fod csd DWI_preproc.mif WM_response_function.txt WM_FOD.mif -mask DWI_mask.mif

8. Tractographyの実行

以下のようにして、Tractographyを実行する。ここでは、1万本のTrackをひくことにします。

tckgen WM_FOD.mif track.tck -seed_image DWI_mask.mif -mask DWI_mask.mif -select 10000

生成したTractographyを表示するためには、以下のコマンドを実行。

mrview DWI_preproc.mif -tractography.load track.tck &

9. Track Density Imaging (TDI)

ボクセル当たりに存在するTrackの本数、つまりトラクトの密度を反映したMapを生成することができます。

tckmap track.tck TDI.mif -vox 0.5

生成したTDI mapを表示するためには、以下のコマンドを実行。

mrview TDI.mif &

【MRtrix】MRtrixを用いたトラクトグラフィー: Tractography” へのコメント

  1. お世話になっております。いつも先生の投稿を参考に、Tractographyについて研究させていただいております。現在、私は腰神経のTractography描画システムの構築を行なっています。こちらの記事を参考にしながら、マスク画像の部分のみ、こちらで作成した神経根のマスクファイルを用い、Tractographyを作成することができました。ありがとうございます。
    しかし、この方法では神経全体にマスクを施す必要があり、手間がかかってしまいます。こちらの記事で紹介されている拡散MRIのマスク画像の作成をもとに自動でマスク画像を作成した場合は、腰全体がマスク画像となり、Streamlineの長さに閾値を設けることで描画が可能ですが、みたい神経部分以外でもstreamlineが作成されてしまいます。そこで、神経根の1or2スライスのみマスク画像を作成し、そこからFAのベクトルが進む方向、もしくはstreamlineが作成される方向にシフトして新しくstreamlineを作成するといった流れでTractographyを描画することはできないかと現在模索しております。(共同で研究している病院のWorkStation(GE, voxel viewer)ではこのような方法で追跡ができています。)病院のWS以外で、このようにTractographyを作成する方法について、使用できるライブラリなど、何かアドバイスなどありましたらご教示いただきたいです。よろしくお願いいたします。

    • まず私はspineの解析をしていないので、確証がないことはご容赦ください。正しくない可能性があります。

      MRtrix3 を使う場合では、

      -seed_image に 神経根の1or2スライスのみのマスク画像を指定するのはどうでしょうか?

      以下の2つのマスク画像を準備します。
      脊髄のマスク画像 spine_mask.mif
      神経根の1or2スライスのみのマスク画像 nerve_root_seed_1-2slices.mif

      # Response function推定
      dwi2response tournier DWI_preproc.mif response.txt
      
      # FOD計算
      dwi2fod csd DWI_preproc.mif response.txt FOD.mif -mask spine_mask.mif
      
      # Tractography実行
      tckgen FOD.mif nerve_tract.tck \
        -seed_image nerve_root_seed_1-2slices.mif \
        -mask spine_mask.mif \
        -select 5000 \
        -maxlength 150 \
        -step 0.5
      

      こういう感じです。

      他に、GUIでいくのならば、DSI studio あたりがいいんじゃないかなと思いました。

      • 早速のご返信、誠にありがとうございます。
        ご提示いただいた方法を試したところ、実装したかった仕組みを無事に構築することができました!
        大変有用なご助言をいただき、心より感謝申し上げます。

コメントを残す

This site uses Akismet to reduce spam. Learn how your comment data is processed.