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

dcmdecap: DICOMカプセル化保存オブジェクトからカプセル化ファイルを取り出す

書式

dcmdecap [options] dcmfile-in encfile-out

説明

dcmdecap ユーティリティは、Encapsulated Storage SOP クラスのいずれかに該当する DICOM ファイル(dcmfile-in)を読み込み、埋め込まれた文書を取り出して出力ファイル(encfile-out)へ書き出します。出力ファイルの作成後に、任意でコマンドを実行することもできます。

引数

dcmfile-in   DICOM input filename ("-" for stdin)

encfile-out  Encapsulated document 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 リトルエンディアン転送構文で読み込みます
-tb --read-xfer-big
explicit VR ビッグエンディアン転送構文で読み込みます
-ti --read-xfer-implicit
implicit VR リトルエンディアン転送構文で読み込みます。奇数長属性の解析:
+ao --accept-odd-length
奇数長の属性を受け入れます(既定値)
+ae --assume-even-length
実際の長さは1バイト大きいと仮定します。長さ未定義の UN 要素の扱い:
+ui --enable-cp246
長さ未定義の UN を implicit VR として読み込みます(既定値)
-ui --disable-cp246
長さ未定義の UN を explicit VR として読み込みます。長さ定義済みの UN 要素の扱い:
-uc --retain-un
要素を UN のまま保持します(既定値)
+uc --convert-un
VR が判明していれば実際の VR に変換します。自動データ補正:
+dc --enable-correction
自動データ補正を有効にします(既定値)
-dc --disable-correction
自動データ補正を無効にします。deflate 圧縮された入力のビットストリーム形式:
+bd --bitstream-deflated
deflate ビットストリームを期待します(既定値)
+bz --bitstream-zlib
deflate zlib ビットストリームを期待します

処理オプション

実行オプション:

  -x   --exec  [c]ommand: string
         execute command c after document extraction

注記

オプション –exec は、PDF 文書の作成後に特定のコマンドラインを実行できるようにします。実行するコマンドラインは、このオプションの引数として渡します。指定したコマンドラインにはプレースホルダ '#f' を含められ、これは実行時に出力ファイル名へ置き換えられます。指定したコマンドラインはフォアグラウンドで実行されるため、コマンドが終了するまで dcmdecap はブロックされます。

ロギング

各種コマンドラインツールおよびその基盤となるライブラリのロギング出力のレベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力へ書き出されます。オプション –verbose を使うと、処理の詳細といった情報メッセージも報告されます。オプション –debug は、デバッグ目的などで内部動作の詳細を得るために使えます。その他のロギングレベルはオプション –log-level で選択できます。–quiet モードでは致命的なエラーのみが報告されます。そのような非常に深刻なエラーが起きた場合、アプリケーションは通常そこで終了します。各ロギングレベルの詳細については、モジュール "oflog" のドキュメントを参照してください。

ロギング出力をファイルへ書き出す(任意でログファイルのローテーションを伴う)、syslog(Unix)やイベントログ(Windows)へ書き出す場合は、オプション –log-config を使えます。この設定ファイルでは、特定のメッセージだけを特定の出力ストリームへ振り分けることや、メッセージの生成元となるモジュールやアプリケーションに基づいてメッセージをフィルタリングすることもできます。設定ファイルの例は < etcdir>/logger.cfg に用意されています。

終了コード

dcmdecap ユーティリティは終了時に以下の終了コードを使用します。これにより、アプリケーションが終了した理由をユーザーが確認できます。

全般

EXITCODE_NO_ERROR                         0
EXITCODE_COMMANDLINE_SYNTAX_ERROR         1

入力ファイルのエラー

EXITCODE_CANNOT_READ_INPUT_FILE          20
EXITCODE_NO_INPUT_FILES                  21
EXITCODE_INVALID_INPUT_FILE              22

出力ファイルのエラー

EXITCODE_CANNOT_WRITE_OUTPUT_FILE        40

処理のエラー

EXITCODE_EXEC_FAILED                     91

コマンドライン

すべてのコマンドラインツールは、引数について以下の表記法を用います。角括弧は省略可能な値(0〜1個)を囲み、末尾の3つのドットは複数の値を指定できる(1〜n個)ことを示します。両者を組み合わせた場合は0〜n個の値を意味します。

コマンドラインオプションは、先頭の '+' または '-' 記号によって引数と区別されます。通常、コマンドラインオプションの順序や位置は任意です(つまりどこに現れてもかまいません)。ただし、オプションが互いに排他的な場合は、最も右に現れたものが使われます。この挙動は一般的な Unix シェルの標準的な評価規則に従います。

さらに、ファイル名の先頭に '@' 記号を付けることで、1つ以上のコマンドファイルを指定できます(例: @command.txt)。このようなコマンド引数は、それ以降の評価に先立って、対応するテキストファイルの内容に置き換えられます(連続する空白は、引用符で囲まれていない限り単一の区切りとして扱われます)。なお、コマンドファイルの中に別のコマンドファイルを含めることはできません。この単純ながら効果的な方法により、よく使うオプションや引数の組み合わせをまとめられ、長く分かりにくいコマンドラインを避けられます(例は < datadir>/dumppat.txt にあります)。

環境

dcmdecap ユーティリティは、DCMDICTPATH 環境変数で指定された DICOM データ辞書の読み込みを試みます。既定では、つまり DCMDICTPATH 環境変数が設定されていない場合は、辞書がアプリケーションに組み込まれていない限り(Windows の既定)、ファイル < datadir>/dicom.dic が読み込まれます。

通常はこの既定の動作が望ましく、DCMDICTPATH 環境変数は別のデータ辞書が必要なときにのみ使うべきです。DCMDICTPATH 環境変数は Unix シェルの PATH 変数と同じ形式で、コロン(":")でエントリを区切ります。Windows システムでは、区切り文字にセミコロン(";")を使います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルの読み込みを試みます。データ辞書を1つも読み込めない場合はエラーになります。

関連項目

dcmencap(1)

Copyright (C) 2007-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.