DCMTKを学ぶ - [dcmconv] dcmdata: a data encoding/decoding library and utility apps -
DICOMファイルエンコーディングを変換します。
説明を飛ばしてやり方だけ知りたい方は、ページ最後を参照ください。
説明
dcmconvユーティリティはDICOMファイルを読み取り、エンコーディング変換を実行し、変換されたデータを出力ファイルに書き込みます。画像の圧縮や解凍に利用します。
コマンドラインインターフェースからの基本的な使い方
>dcmconv [options] dcmfile-in dcmfile-out- dcmconv :コマンド
- [options] :オプションを指定するデフォルト位置
- dcmfile-in:入力されるdcmファイルのURI/URL
- dcmfile-out:出力されるdcmファイルのURI/URL
一般的なオプション
(左:省略記載、右:略なし記載)-h --help
この機能のヘルプを表示します
--version
この機能に必要なライブラリを含めてバージョンを表示します
--arguments
コマンドライン引数を拡張します
-q --quiet
クワイエットモード。エラーやワーニングを表示しません
-v --verbose
詳細モード。詳細ログを表示します
-d --debug
デバッグモード。デバッグ情報を表示します
-ll --log-level [l]evel: string constant (fatal, error, warn, info, debug, trace)
ロガーレベルを指定します
-lc --log-config [f]ilename: string
ロガーにコンフィグファイルを指定します。
インプットオプション
input file format:
+f --read-file
ファイルフォーマットまたはデータセットを読み取る(default)
+fo --read-file-only
ファイルフォーマットのみ読み取る
-f --read-dataset
ファイルメタ情報を除くデータセットを読み取る
input transfer syntax:
-t= --read-xfer-auto
転送構文を認識する (default)
-td --read-xfer-detect
指定された転送構文を持つファイルメタヘッダーを無視する
-te --read-xfer-little
explicit VR little endianで読み込む
-tb --read-xfer-big
explicit VR big endianで読み込む
-ti --read-xfer-implicit
implicit VR little endianで読み込む
parsing of file meta information:
+ml --use-meta-length
ファイルメタ情報グループ長を使用する (default)
-ml --ignore-meta-length
ファイルメタ情報グループ長を無視する
parsing of odd-length attributes:
+ao --accept-odd-length
奇数長の属性を許可する (default)
+ae --assume-even-length
奇数長の属性に1byte加算して真の値を仮定する
handling of explicit VR:
+ev --use-explicit-vr
explicit VRのデータセットを利用する (default)
-ev --ignore-explicit-vr
explicit VRを無視する (data dictionaryを優先)
handling of non-standard VR:
+vr --treat-as-unknown
非標準のVRはUnKnownとして取り扱う (default)
-vr --assume-implicit
implicit VR little endianとして読み込みを試す
handling of defined length UN(Unknown) elements:
-uc --retain-un
バイト長が定義されているUnknown属性のVRをUNのまま残す (default)
+uc --convert-un
バイト長が定義されているUnknown属性のVRがわかれば、真のVRに変換する
handling of undefined length UN elements:
+ui --enable-cp246
バイト長が未定義かつVRがUNの属性をimplicit VRとして読み込む (default)
-ui --disable-cp246
バイト長が未定義かつVRがUNの属性をexplicit VRとして読み込む
handling of defined length UN elements:
-uc --retain-un
バイト長が定義済みかつVRがUNの属性をUNとして取り扱う (default)
+uc --convert-un
バイト長が定義済みかつVRがUNの属性を、もしVRがわかれば真のVRに変換する
handling of private max-length elements (implicit VR):
-sq --maxlength-dict
dicom.dicの定義に従う (default)
+sq --maxlength-seq
未定義のバイト長として読み込む
handling of wrong delimitation items(区切りアイテム属性の誤り):
-rd --use-delim-items
データセットからの区切り項目を使用する (default)
+rd --replace-wrong-delim
誤っているシーケンスの区切り項目(アイテム属性)を置き換える
handling of illegal undefined length OB/OW elements:
-oi --illegal-obow-rej
不正な要素を含むデータセットを拒否する (default)
+oi --illegal-obow-conv
定義されていない長さのOB/OW要素をSQに変換する
handling of VOI LUT Sequence with OW VR and explicit length(OW VRと明示的な長さのVOI LUTシーケンスの処理):
-vi --illegal-voi-rej
不正なVOI LUTをもつデータセットを拒否する (default)
+vi --illegal-voi-conv
不正なVOI LUTをSQに変換する
handling of explicit length pixel data for encaps. transfer syntaxes:
-pe --abort-expl-pixdata
明示的な長さのピクセルデータで中断する (default)
+pe --use-expl-pixdata
明示的な長さのピクセルデータを使用する
general handling of parser errors:
+Ep --ignore-parse-errors
パースエラーのリカバーにトライする
-Ep --handle-parse-errors
パースエラーを検出し、処理を中断する (default)
other parsing options:
+st --stop-after-elem [t]ag: "gggg,eeee" or dictionary name
タグ番号で要素を指定した後にパースを中断する
automatic data correction:
+dc --enable-correction
自動データ補正を許可する (default)
-dc --disable-correction
自動データ補正を許可しない
bitstream format of deflated input:
+bd --bitstream-deflated
deflated bitstreamを使用 (default)
+bz --bitstream-zlib
deflated zlib bitstreamを使用
処理オプション
specific character set:# the following options require support from an underlying character
# encoding library (see output of --version on which one is available)
+U8 --convert-to-utf8
影響を受けるすべての要素値を変換する
特定の文字セット(0008,0005)からUTF-8へ
+L1 --convert-to-latin1
影響を受けた要素の値をISO 8859-1に変換する
+A7 --convert-to-ascii
影響を受ける要素の値を7ビットのASCIIに変換する
+C --convert-to-charset [c]harset: string
影響を受けた要素の値をDICOMで定義された用語cで指定された文字に変換する
-Ct --transliterate
類似文字で表現できない文字の近似
-Cd --discard-illegal
destinationの文字セットで表現できない文字を破棄する
other processing options:
-ig --no-invalid-groups
無効なグループ番号を持つ要素を削除する
アウトプットオプション
output file format:
+F --write-file
ファイル形式を書き込む (default)
+Fm --write-new-meta-info
新しいメタ情報を含むファイル形式を書き込む
-F --write-dataset
ファイルメタ情報なしでデータセットを書き込む
output transfer syntax:
+t= --write-xfer-same
入力と同じ転送構文で書き込み(デフォルト)
+te --write-xfer-little
explicit VR little endianで書き込み
+tb --write-xfer-big
explicit VR big endianで書き込み
+ti --write-xfer-implicit
implicit VR little endianで書き込み
+td --write-xfer-deflated
deflated explicit VR little endianで書き込み
+tg --write-xfer-ge
big endian pixel dataを持つprivate GE implicit VR little endianを書き込む (non-standard)
post-1993 value representations:
+u --enable-new-vr
新しいVR(UN/UT)のサポートを有効にする (default)
-u --disable-new-vr
新しいVRのサポートを無効にし、VRをOBに変換する
group length encoding:
+g= --group-length-recalc
もしあればグループ長を再計算する (default)
+g --group-length-create
常にグループ長の要素を書き込む
-g --group-length-remove
グループ長要素なしで常に書き込み
length encoding in sequences and items:
+e --length-explicit
明示的なバイト長の書き込み (default)
-e --length-undefined
定義されていないバイト長の書き込み
+eo --write-oversized
大きすぎる明示的な長さのシーケンスを書き込む
未定義のバイト長でも。 (default)
-eo --abort-oversized
大きすぎる明示的なシーケンス/アイテムは中断する
data set trailing padding (not with --write-dataset)(データセット末尾のパディング(--write-datasetではなく)):
-p= --padding-retain
パディングを変更しない(デフォルト以外の場合は--write-dataset)
-p --padding-off
パディングなし(暗黙的に--write-datasetの場合)
+p --padding-create [f]ile-pad [i]tem-pad: integer
ファイルを複数のfバイトに整列させ、アイテムを複数のiバイトに整列させる
deflate compression level (only with --write-xfer-deflated)(圧縮レベルを収縮させます(--write-xfer-deflatedでのみ)):
+cl --compression-level [l]evel: integer (default: 6)
0 =非圧縮、1 =高速、9 =最適圧縮
使用例
サンプルDICOMデータ:http://www.jira-net.or.jp/dicom/dicom_data_01_03.htmlNM_LEE_IR6.dcm
サンプルデータが圧縮されている場合、変換できません(https://forum.dcmtk.org/viewtopic.php?t=739)。下記のコマンドプロンプトキャプチャ画面に例を示します。
サンプルデータをデスクトップに移動しておきます。
コマンドプロンプトで、次のように入力しました。
>dcmconv +te C:\Users\tatsu\Desktop\NM_LEE_IR6.dcm C:\Users\tatsu\Desktop\NM_ExLEE_IR6.dcm
(コマンドの意味)
dcmconv :コマンド
+te :オプション
dcmfile-in:C:\Users\tatsu\Desktop\NM_LEE_IR6.dcm
dcmfile-out:C:\Users\tatsu\Desktop\NM_ExLEE_IR6.dcm
※コマンドとオプションの間、オプションとdcmfile-inの間、また、dcmfile-in と dcmfile-outのパスの間には半角スペースを入れてください。
入力後、Enterで実行します。出力に設定しているNM_ExLEE_IR6.dcmファイルが新規作成されます。
CMD画面
(一行目に、JPEG圧縮画像からの変換でエラーキャッチ)
(2度目のコマンドでImLEE→ExLEE変換)
左(原画像):Implicit VR Little Endian
右(変換後):Explicit VR Little Endian
Transfer Syntax UID
(原画像)1.2.840.10008.1.2 Implicit VR Endian(Default Transfer Syntax for DICOM.)
(変換後)1.2.840.10008.1.2.1 Explicit VR Little Endian
(変換後)1.2.840.10008.1.2.1 Explicit VR Little Endian
以上
Visionary Imaging Services, Inc.
Tatsuaki Kobayashi
コメント
コメントを投稿