画像情報をまとめて見る
画像のインフォメーション(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経由で入れるか、もしくは自分でコンパイルする必要があります。