dcmconv: DICOMファイルのエンコーディングを変換する
書式
dcmconv [options] dcmfile-in dcmfile-out
説明
dcmconv ユーティリティはDICOMファイル(dcmfile-in)を読み込み、エンコーディング変換を行って、変換後のデータを出力ファイル(dcmfile-out)に書き出します。
引数
dcmfile-in DICOM input filename to be converted ("-" for stdin)
dcmfile-out DICOM output filename to write to ("-" for stdout)
オプション
全般オプション
-h --help- このヘルプを表示して終了します
--version- バージョン情報を表示して終了します
--arguments- 展開後のコマンドライン引数を表示します
-q --quiet- quietモード。警告やエラーを表示しません
-v --verbose- verboseモード。処理の詳細を表示します
-d --debug- debugモード。デバッグ情報を表示します
-l --log-level [l]evel: string constant- (fatal, error, warn, info, debug, trace) ロガーにレベル l を使います
-l --log-config [f]ilename: string- ロガーに設定ファイル f を使います
入力オプション
+f --read-file- ファイル形式またはデータセットを読み込みます(既定値)
+fo --read-file-only- ファイル形式のみ読み込みます
-f --read-dataset- ファイルメタ情報なしでデータセットを読み込みます。入力転送構文:
-t= --read-xfer-auto- TS自動認識を使います(既定値)
-td --read-xfer-detect- ファイルメタヘッダで指定されたTSを無視します
-te --read-xfer-little- explicit VR little endian TSで読み込みます
-tb --read-xfer-big- explicit VR big endian TSで読み込みます
-ti --read-xfer-implicit- implicit VR little endian TSで読み込みます。ファイルメタ情報の解析:
+ml --use-meta-length- ファイルメタ情報のグループ長を使います(既定値)
-ml --ignore-meta-length- ファイルメタ情報のグループ長を無視します。奇数長属性の解析:
+ao --accept-odd-length- 奇数長の属性を受け入れます(既定値)
+ae --assume-even-length- 実際の長さを1バイト大きいものとみなします。explicit VRの扱い:
+ev --use-explicit-vr- データセットのexplicit VRを使います(既定値)
-ev --ignore-explicit-vr- explicit VRを無視します(データ辞書を優先)。非標準VRの扱い:
+vr --treat-as-unknown- 非標準VRをunknownとして扱います(既定値)
-vr --assume-implicit- implicit VR little endian TSでの読み込みを試みます。長さ未定義のUN要素の扱い:
+ui --enable-cp246- 長さ未定義のUNをimplicit VRとして読みます(既定値)
-ui --disable-cp246- 長さ未定義のUNをexplicit VRとして読みます。長さ定義済みのUN要素の扱い:
-uc --retain-un- 要素をUNのまま保持します(既定値)
+uc --convert-un- 判明していれば本来のVRに変換します。プライベートな最大長要素(implicit VR)の扱い:
-sq --maxlength-dict- 辞書の定義どおりに読みます(既定値)
+sq --maxlength-seq- 長さ未定義のシーケンスとして読みます。誤った区切りアイテムの扱い:
-rd --use-delim-items- データセットの区切りアイテムを使います(既定値)
+rd --replace-wrong-delim- 誤ったシーケンス/アイテムの区切りアイテムを置き換えます。不正な長さ未定義OB/OW要素の扱い:
-oi --illegal-obow-rej- 不正な要素を含むデータセットを拒否します(既定値)
+oi --illegal-obow-conv- 長さ未定義のOB/OW要素をSQに変換します。OW VRかつ明示長を持つVOI LUT Sequenceの扱い:
-vi --illegal-voi-rej- 不正なVOI LUTを含むデータセットを拒否します(既定値)
+vi --illegal-voi-conv- 不正なVOI LUTをSQに変換します。カプセル化転送構文での明示長ピクセルデータの扱い:
-pe --abort-expl-pixdata- 明示長のピクセルデータで中断します(既定値)
+pe --use-expl-pixdata- 明示長のピクセルデータを使います
+Ep --ignore-parse-errors- パースエラーからの復旧を試みます
-Ep --handle-parse-errors- パースエラーを処理してパースを停止します(既定値)。その他のパースオプション:
+st --stop-after-elem [t]ag: "gggg,eeee" or dictionary name- t で指定した要素の後でパースを停止します。自動データ補正:
+dc --enable-correction- 自動データ補正を有効にします(既定値)
-dc --disable-correction- 自動データ補正を無効にします。deflate入力のビットストリーム形式:
+bd --bitstream-deflated- deflateされたビットストリームを期待します(既定値)
+bz --bitstream-zlib- deflateされたzlibビットストリームを期待します
処理オプション
+U8 --convert-to-utf8- Specific Character Set (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- 変換先の文字セットで表現できない文字を破棄します。その他の処理オプション:
-ig --no-invalid-groups- 無効なグループ番号を持つ要素を削除します
出力オプション
+Fm --write-new-meta-info- 新しいメタ情報を付けてファイル形式で書き出します(既定値)
+F --write-file- ファイル形式で書き出します
-F --write-dataset- ファイルメタ情報なしでデータセットを書き出します。出力転送構文:
+t= --write-xfer-same- 入力と同じTSで書き出します(既定値)
+te --write-xfer-little- explicit VR little endian TSで書き出します
+tb --write-xfer-big- explicit VR big endian TSで書き出します
+ti --write-xfer-implicit- implicit VR little endian TSで書き出します
+td --write-xfer-deflated- deflate explicit VR little endian TSで書き出します
+tg --write-xfer-ge- プライベートなGE implicit VR little endian(ピクセルデータはbig endian)TSで書き出します(非標準)。1993年以降の値表現:
+u --enable-new-vr- 新しいVR(UN/UT)のサポートを有効にします(既定値)
-u --disable-new-vr- 新しいVRのサポートを無効にし、OBに変換します。グループ長の符号化:
+g= --group-length-recalc- グループ長が存在すれば再計算します(既定値)
+g --group-length-create- 常にグループ長要素を付けて書き出します
-g --group-length-remove- 常にグループ長要素を付けずに書き出します。シーケンスとアイテムの長さ符号化:
+e --length-explicit- 明示長で書き出します(既定値)
-e --length-undefined- 長さ未定義で書き出します
+eo --write-oversized- 過大な明示長のシーケンスとアイテムを長さ未定義で書き出します(既定値)
-eo --abort-oversized- 過大な明示長のシーケンス/アイテムで中断します。データセット末尾のパディング(--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圧縮レベル(--write-xfer-deflated時のみ):
+cl --compression-level [l]evel: integer (default: 6)- 0=無圧縮, 1=最速, 9=最高圧縮
ロギング
各コマンドラインツールおよびその基盤となるライブラリのロギング出力レベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力に書き出されます。–verbose オプションを使うと、処理の詳細といった情報メッセージも報告されます。–debug オプションは、内部動作のより詳しい情報を得る(デバッグ目的など)のに使えます。その他のロギングレベルは –log-level オプションで選択できます。–quiet モードでは致命的エラーのみが報告されます。このような非常に重大なエラーが起きると、アプリケーションは通常終了します。各ロギングレベルの詳細については、モジュール「oflog」のドキュメントを参照してください。
ロギング出力をファイル(必要に応じてログファイルのローテーション付き)、syslog(Unix)、イベントログ(Windows)に書き出したい場合は、–log-config オプションを使えます。この設定ファイルでは、特定のメッセージだけを特定の出力ストリームに振り向けたり、メッセージが生成されたモジュールやアプリケーションに基づいて特定のメッセージをフィルタリングしたりすることもできます。設定ファイルの例は < etcdir>/logger.cfg に用意されています。
コマンドライン
すべてのコマンドラインツールは、引数について次の表記法を用います。角括弧は省略可能な値(0〜1個)を囲み、末尾の3つのドットは複数の値が許されること(1〜n個)を示し、両者の組み合わせは0〜n個の値を意味します。
コマンドラインオプションは、先頭の '+' または '-' 記号によって引数と区別されます。通常、コマンドラインオプションの順序と位置は任意です(つまりどこに現れてもかまいません)。ただし、オプションが相互排他的である場合は、最も右に現れたものが使われます。この挙動は、一般的なUnixシェルの標準的な評価規則に従います。
加えて、ファイル名の前に '@' 記号を付けることで、1つ以上のコマンドファイルを指定できます(例 @command.txt)。このようなコマンド引数は、以降の評価に先立って、対応するテキストファイルの内容に置き換えられます(連続する空白は、引用符で囲まれていない限り、単一の区切りとして扱われます)。コマンドファイルが別のコマンドファイルを含むことはできない点に注意してください。この単純ながら効果的な方法により、よく使うオプション/引数の組み合わせをまとめておくことができ、長く分かりにくいコマンドラインを避けられます(例は < datadir>/dumppat.txt に用意されています)。
環境変数
dcmconv ユーティリティは、DCMDICTPATH 環境変数で指定されたDICOMデータ辞書の読み込みを試みます。既定では、つまり DCMDICTPATH 環境変数が設定されていない場合は、辞書がアプリケーションに組み込まれていない限り(Windowsでは既定で組み込み)、ファイル < datadir>/dicom.dic が読み込まれます。
既定の動作を優先すべきであり、DCMDICTPATH 環境変数は別のデータ辞書が必要なときにのみ使うべきです。DCMDICTPATH 環境変数は、エントリをコロン(":")で区切るという点でUnixシェルの PATH 変数と同じ形式を持ちます。Windowsシステムでは、区切りにセミコロン(";")を使います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルの読み込みを試みます。データ辞書を1つも読み込めない場合はエラーとなります。
指定されたコマンドラインオプションによっては、dcmconv ユーティリティは文字セットマッピングテーブルの読み込みを試みます。これは、DCMTKがoficonvライブラリ(これが既定)でコンパイルされ、かつマッピングテーブルがライブラリに組み込まれていない(DCMTKが共有ライブラリを使う場合の既定)ときに起こります。
マッピングテーブルのファイルは、DCMTKの < datadir> に置かれていることが期待されます。別の場所を指定するには DCMICONVPATH 環境変数を使えます。別の場所を指定した場合、それらのマッピングテーブルは組み込みのテーブルも置き換えます。
関連項目
dcmdump(1)
著作権
Copyright (C) 1994-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.