dcmcrle: DICOMファイルをRLE転送構文にエンコードする
書式
dcmcrle [options] dcmfile-in dcmfile-out
説明
dcmcrle は、非圧縮のDICOM画像(dcmfile-in)を読み込んでRLE圧縮(すなわちカプセル化されたDICOM転送構文への変換)を行い、変換後の画像を出力ファイル(dcmfile-out)へ書き出すユーティリティです。
引数
dcmfile-in DICOM input filename to be converted ("-" for stdin)
dcmfile-out DICOM output filename ("-" for stdout)
オプション
全般オプション
-h --help- このヘルプを表示して終了します
--version- バージョン情報を表示して終了します
--arguments- 展開後のコマンドライン引数を表示します
-q --quiet- クワイエットモード。警告やエラーを表示しません
-v --verbose- 詳細表示モード。処理の詳細を表示します
-d --debug- デバッグモード。デバッグ情報を表示します
-ll --log-level [l]evel: string constant- (fatal, error, warn, info, debug, trace)ロガーにレベル l を使用します
-lc --log-config [f]ilename: string- ロガーに設定ファイル f を使用します
入力オプション
+f --read-file- ファイル形式またはデータセットを読み込みます(既定値)
+fo --read-file-only- ファイル形式のみを読み込みます
-f --read-dataset- ファイルメタ情報なしでデータセットを読み込みます。入力転送構文:
-t= --read-xfer-auto- 転送構文の自動認識を使用します(既定値)
-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 の転送構文で読み込みます
カプセル化ピクセルデータのエンコードオプション
+ff --fragment-per-frame- 各フレームを1つのフラグメントとしてエンコードします(既定値)
+fs --fragment-size [s]ize: integer- フラグメントサイズを s キロバイトに制限します(非標準)。基本オフセットテーブルのエンコード:
+ot --offset-table-create- オフセットテーブルを作成します(既定値)
-ot --offset-table-empty- オフセットテーブルを空のままにします。SOP Class UID:
+cd --class-default- SOP Class UID を維持します(既定値)
+cs --class-sc- Secondary Capture Image に変換します(--uid-always を含意します)。SOP Instance UID:
+un --uid-never- 新しいUIDを割り当てません(既定値)
+ua --uid-always- 常に新しいUIDを割り当てます
出力オプション
+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- 未定義の長さで書き出します。データセット末尾のパディング:
-p= --padding-retain- パディングを変更しません(既定値)
-p --padding-off- パディングしません
+p --padding-create [f]ile-pad [i]tem-pad: integer- ファイルを f バイトの倍数に、アイテムを i バイトの倍数に揃えます
注記
dcmcrle ユーティリティは、すべてのSOPクラスのDICOM画像を圧縮します。データセット内のすべてのPixel Data(7fe0,0010)要素を処理します。すなわち、アイコン画像に対しても圧縮が行われます。
DICOM規格では、(RLE圧縮を使用する場合に)1フレームあたり複数のフラグメントでピクセルデータを格納することは認められていない点に注意してください。そのため、オプション –fragment-size(または +fs)でフラグメントサイズを制限すると、規格に準拠しないDICOM画像になる場合があります。
転送構文
dcmcrle は入力(dcmfile-in)に対して次の転送構文をサポートします:
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
DeflatedExplicitVRLittleEndianTransferSyntax 1.2.840.10008.1.2.1.99 (*)
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
(*) zlib サポートを有効にしてコンパイルした場合
dcmcrle は出力(dcmfile-out)に対して次の転送構文をサポートします:
RLELosslessTransferSyntax 1.2.840.10008.1.2.5
ロギング
各コマンドラインツールおよび基盤となるライブラリのロギング出力のレベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力に書き出されます。オプション –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 に用意されています)。
環境変数
dcmcrle ユーティリティは、DCMDICTPATH 環境変数で指定されたDICOMデータ辞書を読み込もうとします。既定では、つまり DCMDICTPATH 環境変数が設定されていない場合、データ辞書がアプリケーションに組み込まれていない限り(Windowsでは既定で組み込まれる)、ファイル < datadir>/dicom.dic が読み込まれます。
既定の動作を優先すべきであり、DCMDICTPATH 環境変数は代替のデータ辞書が必要な場合にのみ使用してください。DCMDICTPATH 環境変数は、エントリをコロン(":")で区切るという点でUnixシェルの PATH 変数と同じ形式です。Windowsシステムでは、区切り文字としてセミコロン(";")を用います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルを読み込もうとします。データ辞書を1つも読み込めない場合はエラーとなります。
関連項目
dcmdrle(1)
著作権
Copyright (C) 2002-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.