
- 作者:斎藤勇哉
- 発売日: 2020/11/30
- メディア: Kindle版
目次
目的
- 様々なSeriesDescriptionで撮像されたDICOMデータから特定のSeriesDescriptionのDICOMデータのみを取り出す。
- シェルスクリプトで実行
dcmdump
dcmdump
を使うことでDICOMのヘッダー情報を取得することができる。
dcmdumpのインストール
$ apt-get install dcmtk
使い方
使い方は、dcmdumpのあとにDICOM fileを指定するだけです。 タグごとに情報が吐き出されます。
$ dcmdump <DICOM file>
フォルダ構造
一つのフォルダにすべてのDICOMデータが入っていれば、フォルダ構造はどのような形でも構いません。
1_rawdata/ ├── 2014年 │ ├── 2014.10月 │ ├── 2014.11月 │ ├── 2014.12月 │ ├── 2014.3月 │ │ ├── 2014.3.10 │ │ ├── 2014.3.11 │ │ ├── 2014.3.12 │ │ │ ├── Sub100.IMA │ │ │ ├── Sub134.IMA │ │ │ ├── Sub198.IMA
ソースコード
以下がソースコードです。以下のソースコードをpickup_dcm.sh
として「1_rawdata」と同じ階層に保存します。
注意事項は、
inputfolder
: すべてのDICOMデータが入ったフォルダoutputfolder
: 出力先true_series
: 必要なSeriesDescriptionを指定(前もってdcmdumpで調べておいてください)。- 集めたい各DICOMのファイル名がそれぞれ違うことを前提に、コードがかかれています。
この例では、「1_rawdata」から、DATのデータのみを「only_DAT」にコピーします。
pickup_dcm.sh
inputfolder="1_rawdata" outputfolder="only_DAT" true_series="(0008,103e) LO [DAT [Standard Recon]] # 20, 1 SeriesDescription" mkdir $outputfolder for file in $(find $inputfolder -type f|sort);do series=$(dcmdump $file |grep SeriesDescription) if [ "$a" = "$b" ];then cp $file $outputfolder fi done
実行
保存した「pickup_dcm.sh」を実行します。
「only_DAT」というフォルダが生成され、そこにDATのデータのみが保存されます。
bash pickup_dcm.sh
終わりに
今回は、特定のSeriesDescriptionを対象にしましたが、すべてのSeriesDescriptionに対してそれぞれファイルを集めれば、DICOMデータをSeriesDescriptionでソートすることができます。
頑張れ!、喝!!の代わりにB!ブックマークを押していただけるとただただうれしいです(^^)! ↓

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