【FSL】ROI(VOI)を用いた画像計測



1. 目的
2. 計測コマンド
3. 複数人被験者がいる場合
3.1. フォルダ構造
3.2. ソースコード



1. 目的

  • 関心領域ROI(VOI)内の画像の定量値を計測

2. 計測コマンド

FSLのfslstatsを使う。
各オプションは、以下の通り。

  • -K: 関心領域ROI
  • -M: ROI内の平均値の算出
1
fslstats -K <ROI> <input> -M

3. 複数人被験者がいる場合

複数人の被験者がいる場合、以下のようなフォルダ構造にならって各被験者ごとにファイルを用意し、後述するソースコードを実行することで、すべての被験者の計測結果をresult_mapstats.csvにまとめてくれる。

3.1. フォルダ構造

01
02
03
04
05
06
07
08
09
10
data
├── sub001
│   ├── basalganglia_roi_in_qsm.nii.gz
│   └── qsm_map.nii.gz
├── sub002
│   ├── basalganglia_roi_in_qsm.nii.gz
│   └── qsm_map.nii.gz
└── sub003
    ├── basalganglia_roi_in_qsm.nii.gz
    └── qsm_map.nii.gz

3.2. ソースコード

すべての被験者のデータが入っている「data」フォルダと同じ階層で以下のコマンドを実行。

01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# define name
foldername="data"
map="std_qsm_map"
roi="basalganglia_roi_in_qsm"
 
# make ROI name file
for roiname in \
"Region" \
"Left-Thalamus-Proper" \
"Left-Caudate" \
"Left-Putamen" \
"Left-Pallidum" \
"Brain-Stem/4th/Ventricle" \
"Left-Hippocampus" \
"Left-Amygdala" \
"Left-Accumbens-area" \
"Right-Thalamus-Proper" \
"Right-Caudate" \
"Right-Putamen" \
"Right-Pallidum" \
"Right-Hippocampus" \
"Right-Amygdala" \
"Right-Accumbens-area"
do
echo $roiname >> tmp1
done
 
# segment basal ganglia and calc volume
cd $foldername
for k in *;do
echo "processing $k"
echo $k > ../tmp2  # make ID name file
# measure mean value from QSM map using basal ganglia ROI
fslstats -K $k/$roi $k/$map -M \
|grep -v missing >> ../tmp2
## save ID and volume ,and accumulate them in result_vol.csv
cat ../tmp2 > ../tmp3
paste ../tmp1 ../tmp3 > ../result_mapstats.csv
cat ../result_mapstats.csv > ../tmp1
# cd ..
done
cd ..
 
# remove temporaly files
rm tmp*

コメントを残す

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