⚠️ これは 非公式の翻訳サイトです。DCMTK / OFFIS とは無関係です。正確な情報は 原文(https://support.dcmtk.org/docs/dcmconv.html) を参照してください。

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.