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

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

【脳画像定量値】DKEを用いた拡散尖度イメージング

f:id:AIProgrammer:20201209223556p:plain

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

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

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

目次

目的

  • DKEを用いて、Diffusoin MRIからDTIおよびDKIの定量値を算出

Diffusional Kurtosis Estimator (DKE)

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

DKIの概要

準備中。。。

準備するデータ

DKEで準備するデータは、DKEのパラメータファイル、拡散MRI画像、b-vectorファイルである。

例えば、b値=0, 1000, 2000の拡散MRIの場合、次のようなファイルを準備する。

.
├── DKEParameters.dat  # DKEのパラメータファイル
├── DWI.nii  # Diffusion image
├── b1000_bvecs.txt  # b-vectorsファイル (b=1000用)
└── b2000_bvecs.txt  # b-vectorsファイル (b=2000用)

b-vectorファイル

上の例では、b-vectorsファイルとしてb1000_bvecs.txtとb2000_bvecs.txtといったように、b値ごとにb-vector情報を記載したテキストファイルを準備している。

b-vectorsファイルの中身は、次の通り。列がx, y, z、行が各vector(軸)情報となるように保存する。

b1000_bvecs.txt
0.9999755620956420   0.0000000000000000  -0.0069994898512960 
0.0000000000000000  0.9999755620956420  -0.0069994898512960 
-0.0260023493319750     0.6457849144935610  -0.7630765438079830 
-0.5919830799102780     0.7675754427909850  0.2457316815853120 
0.2378592491149900  0.5267987847328190  0.8160306215286250 
0.8949750065803530  0.2595488131046300  0.3628418743610380 
0.7931735515594480  0.1286978274583820  -0.5952416658401490 
0.2338892221450810  0.9280449748039250  -0.2898765504360200 
0.9338197112083440  0.1396350413560870  -0.3293674588203430 
-0.5050720572471620     0.8438593149185180  -0.1811176091432570 
-0.3454079329967500     0.8452606201171880  -0.4077103435993190 
-0.4548338651657100     0.6285692453384400  -0.6308938264846800 
0.4895068109035490  0.3909146487712860  0.7794669866561880 
-0.6162693500518800     0.6712273955345150  -0.4119051694870000 
0.5738187432289120  0.1048714295029640  -0.8122401237487790 
0.8277294039726260  0.5216303467750550  0.2067994475364690 
-0.8911169171333310     0.0400541797280312  -0.4520026743412020 
-0.2884476482868190     0.5383003950119020  -0.7918526530265810 
-0.1159939914941790     0.9610592126846310  -0.2508198916912080 
-0.8024664521217350     0.4042995572090150  0.4388503730297090 
0.5132204294204710  0.8390219807624820  -0.1806844621896740 
-0.7916299700736990     0.1536424309015270  0.5913679599761960 
-0.9506111145019530     0.2332054525613780  0.2048261463642120 
0.2316941916942600  0.7797892689704900  -0.5815896391868590 
0.0211017020046711  0.1869048923254010  -0.9821513891220090 
-0.2170265913009640     0.9569171667099000  0.1928964108228680 
-0.7748928070068360     0.6047383546829220  0.1839368045330050 
-0.1596436947584150     0.3537461757659910  -0.9216168522834780 
-0.1481072008609770     0.7345283031463620  0.6622178554534910 
0.8871886134147640  0.4162477552890780  -0.1990837007761000 
-0.5647298693656920     0.2333798408508300  0.7915895581245420 
-0.3780698478221890     0.1422789841890340  -0.9147786498069760 
0.3042910099029540  0.1982418298721310  -0.9317226409912110 
0.3338277935981750  0.1310883462429050  0.9334746003150930 
0.9635864496231080  0.2647641599178310  0.0374316610395908 
-0.9581847190856930     0.2049119621515270  -0.1997327059507370 
-0.4533323943614960     0.8891902565956120  0.0618903897702694 
-0.7725979089736940     0.6278809905052190  -0.0941166803240776 
0.7065970301628110  0.4065258502960210  -0.5791868567466740 
-0.6895411014556880     0.0238212291151285  -0.7238547205924990 
0.6839430928230290  0.5305842161178590  0.5007017254829410 
0.1427039355039600  0.7281101346015930  0.6704410910606380 
-0.7373750209808340     0.3868581056594850  -0.5537318587303160 
-0.1026881337165830     0.8190683126449590  -0.5644308924674990 
-0.5858656764030460     0.5980656147003170  0.5468811988830570 
0.0884167775511742  0.3368518352508540  0.9373971223831180 
0.5532421469688420  0.7937965989112850  0.2526067197322850 
-0.8364408016204830     0.4570796191692350  -0.3023989796638490 
-0.3650038838386540     0.5638059377670290  0.7408745288848880 
-0.1852856278419490     0.3944251537323000  0.9000545144081120 
0.7210962176322940  0.6928291916847230  0.0028266999870539 
0.4347432255744930  0.6845563054084780  0.5851333737373350 
0.5005839467048650  0.6875876188278200  -0.5259647965431210 
0.1696418523788450  0.5062519311904910  -0.8455357551574710 
0.4607522189617160  0.4207133352756500  -0.7814779281616210 
-0.3860408663749690     0.8115172386169430  0.4386481642723080 
0.7164261937141420  0.2476969063282010  0.6522114872932430 
0.2607864737510680  0.8870214819908140  0.3810294270515440 
0.0010102600790560  0.0772491395473480  0.9970113039016720 
-0.0368833653628826     0.9046925902366640  0.4244655966758730 
-0.5674147605896000     0.3014942109584810  -0.7662517428398130 
-0.2842073440551760     0.1463016867637630  0.9475347399711610 
0.7194153070449830  0.6067757010459890  -0.3380309343338010 
0.2669567167758940  0.9605263471603390  0.0782512947916985 

DKEParameters.dat

DKEのパラメータをDKEParameters.datに記載する。

% Mon Sep 14 06:37:41 PM
studydir = '.';
subject_list = {''};
preprocess_options.format = 'nifti';
preprocess_options.fn_nii = 'DWI.nii';
fn_img_prefix = 'rdki';
bval = [0 1000 2000];
ndir = 64;
idx_1st_img = 1;
Kmin  = 0;
NKmax = 3;
Kmin_final = 0;
Kmax_final = 3;
T = 50;
find_brain_mask_flag = 1;
dki_method.no_tensor = 0;
dki_method.linear_weighting = 1;
dki_method.linear_constrained = 1;
dki_method.nonlinear = 0;
dki_method.linear_violations = 0;
dki_method.robust_option = 0;
dki_method.noise_tolerance = 0.09;
dti_method.dti_flag = 1;
dti_method.dti_only = 0;
dti_method.no_tensor = 0;
dti_method.linear_weighting = 1;
dti_method.b_value = 1e+003;
dti_method.directions{1} = [1:ndir];
dti_method.robust_option = 0;
dti_method.noise_tolerance = 0.09;
fn_noise = '';
fwhm_img = 1.25*[1.8 1.8 1.8];
fwhm_noise = [0 0 0];
median_filter_method = 1;
map_interpolation_method.flag = 0;
map_interpolation_method.order = 1;
map_interpolation_method.resolution =      1;
fn_gradients{1} = 'b1000_bvecs.txt';
fn_gradients{2} = 'b2000_bvecs.txt';
idx_gradients{1} = [1:ndir];
idx_gradients{2} = [1:ndir];

ここで注意すべきパラメータは、次の通り。

  • studydir : DKEを実行するフォルダ
  • preprocess_options.fn_nii : 拡散MRI画像のファイル名
  • bval : b-values
  • ndir : The number of b-vector
  • fwhm_img : 平滑化フィルタのFWHM (カッコ[x, y, z]には拡散MRI画像のresolutionを記載 )
  • fn_gradients : b-vector file

実行方法

ここでは、Windowsで実行する場合の例を示す。

まず、エクスプローラーで準備したファイルがあるディレクトを開く。PATHが記載されているバーにcmdと記入し、Enterを押す。

f:id:AIProgrammer:20201209221941p:plain

そうすることで、準備したファイルがあるディレクトでコマンドプロンプトが立ち上がる。

f:id:AIProgrammer:20201209222008p:plain

DKEの基本的な使い方は、次の通りである。

Usage: dke <DKE parameter file>

次のコマンドをコマンドプロンプトで、実行することでDKEによる処理が始まる。

dke DKEParameters.dat

f:id:AIProgrammer:20201209222108p:plain

結果

DKEで計算されたDTIおよびDKIの定量値画像は、次の通り。

f:id:AIProgrammer:20201209223405p:plain


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

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

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

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