【FSL】fslstatsを使ったROI解析


1. 目的
2. fslstats
2.1. binary maskを使う場合
2.2. index maskを使う場合
3. 使用例
3.1. フォルダ構造
3.2. コード
3.3. 結果


1. 目的

  • MRIデータをROIを用いて計測

2. fslstats

fslstatsを使った(non zeroボクセルの)平均値および標準偏差の計算方法は次のとおり。

2.1. binary maskを使う場合

[preparation]として-k <binary mask>を指定

# 平均値
fslstats -k <index mask> <input image> -M

# 標準偏差
fslstats -k <index mask> <input image> -S

2.2. index maskを使う場合

maskの中には、1以上の離散値を持つ場合もある(例:前頭葉: 1, 側頭葉: 2, 頭頂葉: 3, 後頭葉: 4)。このようなmaskをFSLでは「index mask」と呼ぶ。
[preparation]として-K <index mask>を指定(ラージKであることに注意)。

# 平均値
fslstats -K <index mask> <input image> -M

# 標準偏差
fslstats -K <index mask> <input image> -S

3. 使用例

firstというディレクトリにfactor 1.0 ~ 2.0の範囲で0.2刻みでデータ収集し、1つのfactorには5種類の画像がある。

さらに、3種類のindex maskがある(20190616_${map}.nii.gz)。

新たにデータセットを用意する場合、

  • index maskは、「_${map}.nii.gz(map =T1, T2, PD)」の部分だけ揃える
  • 画像データは、「_${i}.nii(i =1, 2, 3, 4, 5))」の部分は揃える

3.1. フォルダ構造

first/
├── 1.0
│   ├── 20190616_135659WIPCS103DSyMRIs901a1009_1.nii
│   ├── 20190616_135659WIPCS103DSyMRIs901a1009_2.nii
│   ├── 20190616_135659WIPCS103DSyMRIs901a1009_3.nii
│   ├── 20190616_135659WIPCS103DSyMRIs901a1009_4.nii
│   └── 20190616_135659WIPCS103DSyMRIs901a1009_5.nii
├── 1.2
├── 1.4
...
└──2.0
20190616_T1.nii.gz
20190616_T2.nii.gz
20190616_PD.nii.gz

3.2. コード

以上の準備ができたら、以下のコマンドをfirstフォルダのあるディレクトリと同じ場所で実行する。

計測結果は、「temp」フォルダにまとめられ、最終的なまとめ結果は「temp/summary」にまとめられる。

mkdir -p temp temp/summary
for img in $(seq 1 5);do
    echo "Calc image$img ..."
    for i in $(ls first);do
        for map in T1 T2 PD;do
            echo ${map}_img${img}_${i} > temp/${map}_img${img}_${i}.txt
            fslstats -K *_${map}.nii.gz first/$i/*_${img}.nii -M >> temp/${map}_img${img}_${i}.txt
        done
    done
    # summary
    paste temp/T1_img${img}_*.txt > temp/summary/T1_img${img}.txt
    paste temp/T2_img${img}_*.txt > temp/summary/T2_img${img}.txt
    paste temp/PD_img${img}_*.txt > temp/summary/PD_img${img}.txt
done

3.3. 結果

「temp/summary」フォルダの中身を確認すると次のようなファイルが生成されている。

これらの結果は、各index maskおよび各factorにおける5種類の画像ごとに計測結果をまとめたものである。

$ ls temp/summary/
PD_img1.txt  PD_img4.txt  T1_img2.txt  T1_img5.txt  T2_img3.txt
PD_img2.txt  PD_img5.txt  T1_img3.txt  T2_img1.txt  T2_img4.txt
PD_img3.txt  T1_img1.txt  T1_img4.txt  T2_img2.txt  T2_img5.txt

「PD_img1.txt」の中身は次の通り。

PD_1_1.0	PD_1_1.2	PD_1_1.4	PD_1_1.6	PD_1_1.8	PD_1_10	PD_1_2.0	PD_1_2.2	PD_1_2.4	PD_1_2.6	PD_1_2.8	PD_1_3.0	PD_1_3.5	PD_1_4.0	PD_1_4.5	PD_1_5.0	PD_1_5.5	PD_1_6.0	PD_1_6.5	PD_1_7.0	PD_1_7.5	PD_1_8.0	PD_1_8.5	PD_1_9.0	PD_1_9.5
56.071172 	53.571421 	57.104340 	65.576766 	56.634142 	164.695774 	59.164714 	66.530548 	64.210779 	72.075169 	88.882530 	68.767341 	78.006755 	82.362270 	102.866073 	95.148962 	157.649307 	135.169850 		136.416867 	209.898826 	143.974304 	206.080797 	144.660493 	152.182925 
59.219002 	59.634794 	67.469257 	57.990326 	68.822425 	135.478640 	61.384532 	70.464787 	71.207407 	73.836757 	85.293909 	69.715787 	85.544729 	98.812038 	120.032300 	113.378021 	137.899509 	162.424688 		186.341014 	182.449928 	168.822476 	226.915020 	168.971066 	156.942100 
65.593938 	73.217330 	78.069650 	72.319718 	72.329499 	229.141061 	72.960663 	85.006750 	71.576984 	86.298830 	101.787668 	68.924592 	111.201372 	124.327963 	136.776286 	160.195031 	187.189908 	202.490824 		222.796888 	278.856697 	198.264230 	250.119406 	227.780093 	328.350670 
60.599368 	73.082315 	75.607594 	78.199978 	77.303263 	264.188672 	82.484480 	87.064013 	90.335936 	86.806134 	99.869636 	91.716010 	100.842814 	124.390488 	152.835757 	158.187163 	190.057344 	231.426025 		255.339445 	233.320259 	210.198541 	268.658566 	277.634037 	304.397152 
62.596507 	73.224809 	73.435417 	74.447392 	82.949692 	200.789283 	95.077401 	76.603784 	91.650407 	86.794202 	97.143067 	96.004177 	91.693638 	114.771571 	147.396567 	128.985783 	156.368281 	180.671239 		219.410221 	212.203824 	191.402947 	209.449536 	208.555533 	208.911982 
70.904297 	74.822798 	82.031894 	81.959065 	81.159454 	204.884733 	84.416149 	84.009042 	105.231751 	102.618848 	109.251246 	87.436376 	87.707241 	103.725383 	124.369558 	148.823854 	178.081095 	170.385173 		216.685645 	324.138544 	221.210790 	270.552265 	221.176516 	209.839571 
73.786061 	76.172245 	78.538106 	88.747996 	75.945391 	210.691364 	96.988982 	93.988295 	92.378013 	94.479654 	102.801537 	105.931549 	100.643631 	119.402497 	133.575660 	158.669452 	168.026760 	208.149685 		216.036306 	200.196084 	221.846031 	254.239667 	222.523944 	208.206735 
87.495523 	88.813652 	87.880272 	85.964579 	98.281155 	349.093039 	98.692713 	94.235417 	101.215252 	112.179749 	109.359223 	92.050666 	103.862347 	126.171527 	137.595066 	170.217829 	185.742386 	242.152668 		271.305374 	222.041778 	273.485643 	306.670516 	315.758490 	264.002075 
98.739737 	100.720432 	97.328787 	99.053358 	97.533872 	316.762011 	103.369259 	113.277178 	99.181052 	109.115135 	118.181639 	109.618875 	118.613545 	125.297607 	148.418087 	162.936641 	185.542536 	241.243367 		219.280341 	239.735891 	205.617819 	270.702777 	229.903270 	235.547812 
103.277802 	106.846910 	104.091932 	106.542414 	102.750478 	207.280336 	102.150977 	113.678573 	109.015869 	102.060726 	112.479080 	106.674224 	115.947559 	116.607501 	144.210974 	143.748899 	149.864118 	209.414898 		207.632018 	212.082947 	221.947801 	243.473957 	262.798043 	187.095868 
126.149411 	128.146098 	123.403289 	129.219018 	120.576404 	307.939330 	127.342593 	130.534624 	136.748147 	135.015205 	130.025685 	127.302044 	129.562001 	181.892504 	175.129838 	214.058127 	226.497845 	261.011736 		293.147569 	369.290946 	318.991315 	334.730611 	391.036790 	375.232291 
142.132261 	136.881755 	140.397574 	139.790297 	137.662219 	372.306719 	144.546539 	141.836003 	157.273254 	146.306116 	172.242885 	156.343952 	157.901801 	186.644997 	198.501073 	221.079046 	239.737134 	273.049238 		337.570792 	359.821785 	327.865160 	385.884041 	403.470958 	392.444883 
153.414811 	149.560298 	153.284503 	153.066674 	161.247593 	389.665428 	167.865698 	162.732419 	163.929323 	170.265862 	175.904991 	159.839045 	172.798252 	191.501041 	201.477961 	243.534578 	247.816996 	296.709427 		355.380479 	385.017319 	365.828550 	409.998897 	380.333908 	410.494708 
123.627007 	125.429929 	125.827541 	128.563233 	124.580074 	305.157273 	133.259714 	136.405932 	140.542948 	138.670648 	136.025625 	134.278958 	149.233630 	156.115582 	180.495762 	207.980796 	201.333914 	247.976671 		304.193507 	306.642640 	293.506436 	327.611026 	335.249888 	354.644789 

これをエクセルに貼り付けると、次のようになる。行はindex maskのindexに対応し、列は各factorに対応する。factorのネーミングの仕方が悪く「PD_1_10」が6列目に出てきてしまっていることに注意。

PD_1_1.0 PD_1_1.2 PD_1_1.4 PD_1_1.6 PD_1_1.8 PD_1_10 PD_1_2.0 PD_1_2.2 PD_1_2.4 PD_1_2.6 PD_1_2.8 PD_1_3.0 PD_1_3.5 PD_1_4.0 PD_1_4.5 PD_1_5.0 PD_1_5.5 PD_1_6.0 PD_1_6.5 PD_1_7.0 PD_1_7.5 PD_1_8.0 PD_1_8.5 PD_1_9.0 PD_1_9.5
56.07117 53.57142 57.10434 65.57677 56.63414 164.6958 59.16471 66.53055 64.21078 72.07517 88.88253 68.76734 78.00676 82.36227 102.8661 95.14896 157.6493 135.1699 102.8661 136.4169 209.8988 143.9743 206.0808 144.6605 152.1829
59.219 59.63479 67.46926 57.99033 68.82243 135.4786 61.38453 70.46479 71.20741 73.83676 85.29391 69.71579 85.54473 98.81204 120.0323 113.378 137.8995 162.4247 120.0323 186.341 182.4499 168.8225 226.915 168.9711 156.9421
65.59394 73.21733 78.06965 72.31972 72.3295 229.1411 72.96066 85.00675 71.57698 86.29883 101.7877 68.92459 111.2014 124.328 136.7763 160.195 187.1899 202.4908 136.7763 222.7969 278.8567 198.2642 250.1194 227.7801 328.3507
60.59937 73.08232 75.60759 78.19998 77.30326 264.1887 82.48448 87.06401 90.33594 86.80613 99.86964 91.71601 100.8428 124.3905 152.8358 158.1872 190.0573 231.426 152.8358 255.3394 233.3203 210.1985 268.6586 277.634 304.3972
62.59651 73.22481 73.43542 74.44739 82.94969 200.7893 95.0774 76.60378 91.65041 86.7942 97.14307 96.00418 91.69364 114.7716 147.3966 128.9858 156.3683 180.6712 147.3966 219.4102 212.2038 191.4029 209.4495 208.5555 208.912
70.9043 74.8228 82.03189 81.95907 81.15945 204.8847 84.41615 84.00904 105.2318 102.6188 109.2512 87.43638 87.70724 103.7254 124.3696 148.8239 178.0811 170.3852 124.3696 216.6856 324.1385 221.2108 270.5523 221.1765 209.8396
73.78606 76.17225 78.53811 88.748 75.94539 210.6914 96.98898 93.9883 92.37801 94.47965 102.8015 105.9315 100.6436 119.4025 133.5757 158.6695 168.0268 208.1497 133.5757 216.0363 200.1961 221.846 254.2397 222.5239 208.2067
87.49552 88.81365 87.88027 85.96458 98.28116 349.093 98.69271 94.23542 101.2153 112.1797 109.3592 92.05067 103.8623 126.1715 137.5951 170.2178 185.7424 242.1527 137.5951 271.3054 222.0418 273.4856 306.6705 315.7585 264.0021
98.73974 100.7204 97.32879 99.05336 97.53387 316.762 103.3693 113.2772 99.18105 109.1151 118.1816 109.6189 118.6135 125.2976 148.4181 162.9366 185.5425 241.2434 148.4181 219.2803 239.7359 205.6178 270.7028 229.9033 235.5478
103.2778 106.8469 104.0919 106.5424 102.7505 207.2803 102.151 113.6786 109.0159 102.0607 112.4791 106.6742 115.9476 116.6075 144.211 143.7489 149.8641 209.4149 144.211 207.632 212.0829 221.9478 243.474 262.798 187.0959
126.1494 128.1461 123.4033 129.219 120.5764 307.9393 127.3426 130.5346 136.7481 135.0152 130.0257 127.302 129.562 181.8925 175.1298 214.0581 226.4978 261.0117 175.1298 293.1476 369.2909 318.9913 334.7306 391.0368 375.2323
142.1323 136.8818 140.3976 139.7903 137.6622 372.3067 144.5465 141.836 157.2733 146.3061 172.2429 156.344 157.9018 186.645 198.5011 221.079 239.7371 273.0492 198.5011 337.5708 359.8218 327.8652 385.884 403.471 392.4449
153.4148 149.5603 153.2845 153.0667 161.2476 389.6654 167.8657 162.7324 163.9293 170.2659 175.905 159.839 172.7983 191.501 201.478 243.5346 247.817 296.7094 201.478 355.3805 385.0173 365.8286 409.9989 380.3339 410.4947
123.627 125.4299 125.8275 128.5632 124.5801 305.1573 133.2597 136.4059 140.5429 138.6706 136.0256 134.279 149.2336 156.1156 180.4958 207.9808 201.3339 247.9767 180.4958 304.1935 306.6426 293.5064 327.611 335.2499 354.6448

【FSL】fslstatsを使ったROI解析” へのコメント

  1. fslmathsは、画像どうしを計算する際に用いるものと理解しておりました(SPMでのImCalcに相当)が、本ページにもあるような数値の計測の際にも(fslstatsのように)用いることができるのでしょうか。

    • fslmaths も SPM の ImCalc も、入力するものは画像です。

      入力画像の全ボクセルに対して、均一に数字を足したり引いたりすることもできますし、
      画像に画像を足したり引いたりすることもできます。
      出力は画像となります。

      基本的に、fslmathsもImCalcもほぼ同じと考えてもらって大丈夫だと思います。

      一方、fslstatsは、入力画像に対して、その画像のボクセルの平均値や、画像のボクセル値の範囲などが出力されます。なので、出力は数値です。

      • これを返信してから、この投稿を読んで気づきました。この記事は、fslstatsの解説ですね。修正を依頼させていただきます。

        • 大変よくわかりました。いつもわかりやすい解説をありがとうございます。

    • ご指摘ありがとうございます。
      fslstatsの間違えでした、記載ミスです。
      先生のおっしゃるように、fslstatsの記事だと思ってください。
      混乱をまねいて申し訳ございません。

      順天堂大学放射線診断学講座
      斎藤

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください