見出し画像

画像情報をまとめて見る

画像のインフォメーション(ex.ボリューム数、解像度、b値や軸数など)をにまとめて見たい

例えばFSLのコマンドのfslhdを使ってDWI画像のボリューム数を見る場合、通常は

fslhd DWI.nii 

とすると

filename DWI.nii
・・・
dim0 4
dim1 256
dim2 256
dim3 74
dim4 54
・・・
dim4が四次元方向のボリューム数になります。

でも複数の被験者(C1, C2, C3・・・)の画像を一人ずつ調べるのは面倒・・・という時に、

cd image_folder
sublist=$(ls | sort -V)
for sub in $sublist; do echo $sub; fslhd $sub/DWI/DWI.nii | grep ^dim4; done

こうすると、
C1
 dim4 65 
C2
 dim4 21 
C3
 dim4 129
C4
 dim4 102
・・・

必要な情報だけまとめて吐き出してくれます。

ちなみに
$sub/DWI/DWI.nii
この部分はパスを書きます。つまり各被験者フォルダにどのように画像が入っているかです。この例の場合には被験者の下にDWIフォルダがあり、その中にDWI.niiが入っている状態です。
C1
  └── DWI
                 └── DWI.nii
こんな感じです。

改行なしで出力したい場合は

sublist=$(ls | sort -V)
for sub in $sublist; do echo -en "$sub\t"; fslhd $sub/DWI/DWI.nii | grep ^dim4; done

echo -en "$sub\t" 
だと改行せずタブをいれてくれるので

C1     dim4 65 
C2     dim4 21 
C3     dim4 129
C4     dim4 102
・・・

となります。

MRtrix3のmrinfoは(mif形式の画像に限りますが)b値ごとの枚数を教えてくれる便利なコマンドです。
【20240910追記】DICOMでもいけることがわかりました。下記コマンドのDWI.mifの代わりにDICOMフォルダ名を入れると同様に表示されます。(mrinfoだけだと拡散画像以外も含め概要を出力してくれます)
前もってnifti変換等をする必要はないので、とても便利です。

mrinfo -shell_sizes -shell_bvalues DWI.mif  

0 1000 
6 48 
上段がb値、下段がそれぞれのボリューム数になります。
この場合だとb0が6枚、b1000が48枚あるということです。

これも上記と同様にして

sublist=$(ls | sort -V)
for sub in $sublist; do echo $sub; mrinfo -shell_sizes -shell_bvalues $sub/DWI/DWI.mif; done

C1
0 1000 
1 64 
C2
0 1000 
1 20 
C3
0 600 1200 
1 64 64
・・・

簡単に必要な情報だけを集められます。

以下にMRtrix3のダウンロードリンクを貼っておきます。

Macはパッケージをダウンロードしてインストールできるのでとても便利です。
Windowsはひと工夫必要ですが可能です。
LinuxはAnaconda経由で入れるか、もしくは自分でコンパイルする必要があります。


いいなと思ったら応援しよう!