dcmmklut: DICOM ルックアップテーブルの作成
書式
dcmmklut [options] dcmimg-out
説明
dcmmklut ユーティリティは、各種の DICOM Modality LUT・Presentation LUT・VOI ルックアップテーブル(LUT)を作成するためのもので、テスト画像の作成を目的としています。既存の DICOM 画像ファイルを読み込み、コマンドラインオプションに従って LUT を作成し、新しいオブジェクトをファイルへ書き戻せます。既存の DICOM 画像ファイルを読み込まずに、指定した LUT だけを持つ新しいオブジェクトを作成することもできます。これは、異なる LUT を DICOM 形式の構造に格納しておくだけの用途などに便利です。既定では、出力ファイルは入力ファイルと同じ転送構文でエンコードされますが、転送構文をコマンドラインオプションで指定することもできます。
LUT データは、ガンマ曲線の形状から導出する(ガンマ係数の既定値は 1)か、ファイルから読み込めます(現在サポートしているのは Ulead の PhotoImpact の MAP 形式と、単純なテキスト形式です)。LUT の入力幅と出力幅も、DICOM 規格で許容される範囲で指定できます。入力範囲の補間は、多項式曲線フィッティングアルゴリズムで行われます。
DICOM 出力ファイルに加えて、LUT データをタブ区切りのテキストファイルへ書き出すこともでき、これにより一般的な表計算アプリケーション(Microsoft Excel など)で曲線を手軽に可視化できます。
引数
dcmimg-out DICOM output filename ("-" for stdout)
オプション
全般オプション
-h --help- このヘルプを表示して終了します
--version- バージョン情報を表示して終了します
--arguments- 展開後のコマンドライン引数を表示します
-q --quiet- quiet モード。警告とエラーを表示しません
-v --verbose- 詳細表示モード。処理の詳細を表示します
-d --debug- debug モード。デバッグ情報を表示します
-ll --log-level [l]evel: string constant- (fatal, error, warn, info, debug, trace) ロガーにレベル l を使用します
-lc --log-config [f]ilename: string- ロガーに設定ファイル f を使用します
LUT 作成オプション
+Tm --modality- Modality LUT として作成します
+Tp --presentation- Presentation LUT として作成します
+Tv --voi- VOI LUT として作成します(既定) LUT の配置:
+Pa --add- 既存の変換に追加します(--voi の場合のみの既定)
+Pr --replace- 既存の変換を置き換えます(--modality と --presentation の既定) LUT の内容:
+Cg --gamma [g]amma: float- ガンマ値を使用します(既定値: 1.0)
+Cm --map-file [f]ilename: string- MAP ファイルから入力データを読み込みます
+Ct --text-file [f]ilename: string- テキストファイルから入力データを読み込みます LUT オプション:
+Og --inverse-gsdf- 逆 GSDF を適用します(Presentation LUT を OD で出力する)
--min-density [v]alue: integer (0..65535, default: 20)- 最小濃度を v に設定します(OD の 1/100 単位)
--max-density [v]alue: integer (0..65535, default: 300)- 最大濃度を v に設定します(OD の 1/100 単位)
+Oi --illumination [v]alue: integer (0..65535, default: 2000)- 照度を v に設定します(cd/m^2 単位)
+Or --reflection [v]alue: integer (0..65535, default: 10)- 反射環境光を v に設定します(cd/m^2 単位) LUT の構造:
-b --bits [n]umber: integer- n ビット値の LUT を作成します(8..16、既定値: 16)
-e --entries [n]umber: integer- n エントリの LUT を作成します(1..65536、既定値: 256)
-f --first-mapped [n]umber: integer- マッピングされる最初の入力値(-31768..65535、既定値: 0)
-r --random [n]umber: unsigned integer- LUT に対して n 回のランダムな置換を行います
-rs --random-seed [n]umber: unsigned integer- 乱数生成器を n で初期化します(既定値: 0、再現可能な結果のため)
-o --order [n]umber: integer- 次数 n の多項式曲線フィッティングアルゴリズムを使用します(0..99、既定値: 5)
-E --explanation [n]ame: string- LUT の説明(既定: 自動生成) LUT データの境界整列:
-a --byte-align- バイト境界に整列した LUT を作成します(8 ビット値の場合のみの既定)
+a --word-align- ワード境界に整列した LUT を作成します(9〜16 ビット値の既定) LUT データの VR:
+Dw --data-ow- LUT データを OW として書き込みます(既定)
+Du --data-us- LUT データを US として書き込みます
+Ds --data-ss- LUT データを SS として書き込みます(最小限のサポート)
ファイルオプション
+Fi --dicom-input [f]ilename: string- DICOM ファイル f からデータセットを読み込みます
+Fo --text-output [f]ilename: string- LUT データをタブ区切りのテキストファイル f へ書き込みます
注記
ルックアップテーブルの構造に関するその他の制約については、DICOM 規格を確認してください。特に、テーブルエントリあたりのビット数は、特定の IOD で制限される場合があります。
ロギング
各種コマンドラインツールおよびその基盤ライブラリのロギング出力のレベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力へ書き出されます。オプション –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 に用意されています)。
環境変数
dcmmklut ユーティリティは、DCMDICTPATH 環境変数で指定された DICOM データ辞書の読み込みを試みます。既定では、すなわち DCMDICTPATH 環境変数が設定されていない場合は、データ辞書がアプリケーションに組み込まれていない限り、ファイル < datadir>/dicom.dic が読み込まれます(Windows では組み込みが既定)。
通常はこの既定の挙動が望ましく、DCMDICTPATH 環境変数は代替のデータ辞書が必要な場合にのみ使うべきです。DCMDICTPATH 環境変数は、Unix シェルの PATH 変数と同じ形式で、コロン(":")でエントリを区切ります。Windows システムでは、区切り文字としてセミコロン(";")を使います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルの読み込みを試みます。データ辞書を 1 つも読み込めない場合はエラーとなります。
ファイル
< datadir>/philips.lut - テキスト形式の LUT サンプル
著作権
Copyright (C) 1998-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.