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

dsr2html: DICOM SRファイルとデータセットをHTML/XHTMLへ変換する

書式

dsr2html [options] dsrfile-in [htmlfile-out]

説明

dsr2html ユーティリティは、DICOM 構造化レポート(SR)ドキュメント(ファイル形式または生のデータセット)の内容を、HTML(Hyper Text Markup Language)バージョン 3.2 または 4.01、および XHTML(Extensible Hyper Text Markup Language)バージョン 1.1 へ変換します。

dsr2html が生のデータセット(ファイル形式のメタヘッダーを持たない DICOM データ)を読み込む場合、ファイル先頭の数バイトを調べて転送構文を推測しようとします。転送構文を常に正しく推測できるとは限らないため、可能な限り(dcmconv ユーティリティを使って)データセットをファイル形式に変換しておくほうがよいでしょう。また、-f オプションと -t[ieb] オプションを使い、特定の転送構文で読み込むよう dsr2html に強制することもできます。

引数

dsrfile-in    DICOM SR input filename to be rendered ("-" for stdin)

htmlfile-out  HTML/XHTML output filename (default: 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
TS の自動認識を使用します(既定値)
-td --read-xfer-detect
ファイルメタヘッダーで指定された TS を無視します
-te --read-xfer-little
explicit VR リトルエンディアン TS で読み込みます
-tb --read-xfer-big
explicit VR ビッグエンディアン TS で読み込みます
-ti --read-xfer-implicit
implicit VR リトルエンディアン TS で読み込みます

処理オプション

-Ip --processing-details
現在処理中のコンテンツ項目を表示します。エラー処理:
-Er --unknown-relationship
不明な/欠落した関連タイプを許容します
-Ev --invalid-item-value
不正なコンテンツ項目値を許容します(例: VR や VM 定義への違反)
-Ec --ignore-constraints
関連のコンテンツ制約を無視します
-Ee --ignore-item-errors
コンテンツ項目のエラーで中断せず、警告にとどめます(例: 値型固有の属性の欠落)
-Ei --skip-invalid-items
不正なコンテンツ項目(サブツリーを含む)をスキップします
-Dv --disable-vr-checker
文字列値が VR に適合するかのチェックを無効にします。特定文字集合:
+Cr --charset-require
拡張文字集合の宣言を要求します(既定値)
+Ca --charset-assume [c]harset: string
拡張文字集合が宣言されていない場合に文字集合 c を仮定します
--charset-check-all
文字列値を持つ全データ要素をチェックします(既定値: PN, LO, LT, SH, ST, UC, UT のみ) # このオプションは Specific Character Set (0008,0005) 属性が # 存在すべきかを判定する拡張チェックにのみ使われ、 # 影響を受けない要素値の UTF-8 への変換には使われない # (例: VR が CS の要素値)
+U8 --convert-to-utf8
Specific Character Set (0008,0005) の影響を受ける全要素値を UTF-8 へ変換します # 基盤となる文字エンコーディング # ライブラリのサポートが必要(利用可能なものは --version の出力を参照)

出力オプション

+H3 --html-3.2
HTML バージョン 3.2 互換の機能のみを使用します
+H4 --html-4.0
HTML バージョン 4.01 の全機能を許可します(既定値)
+X1 --xhtml-1.1
XHTML バージョン 1.1 仕様に準拠します
+Hd --add-document-type
SGML 文書型定義への参照を追加します。カスケーディングスタイルシート(CSS)、HTML 3.2 では不可:
+Sr --css-reference URL: string
指定した CSS への参照をドキュメントに追加します
+Sf --css-file [f]ilename: string
指定した CSS の内容をドキュメントに埋め込みます。全般的なレンダリング:
+Ri --expand-inline
短いコンテンツ項目をインライン展開します(既定値)
-Ri --never-expand-inline
コンテンツ項目をインライン展開しません
+Ra --always-expand-inline
コンテンツ項目を常にインライン展開します
+Rd --render-full-data
コンテンツ項目の全データをレンダリングします
+Rt --section-title-inline
セクションタイトルを別行にせずインラインでレンダリングします
+Rh --hyperlink-url-prefix [p]refix: string
複合オブジェクトへのハイパーリンクに URL プレフィックス p を使用します(既定値: http://localhost/dicom.cgi)。ドキュメントのレンダリング:
+Dt --document-type-title
文書型をドキュメントタイトルとして使用します(既定値)
+Dp --patient-info-title
患者情報をドキュメントタイトルとして使用します
-Dh --no-document-header
一般的なドキュメント情報をレンダリングしません。コードのレンダリング:
+Ci --render-inline-codes
コードを連続したテキストブロック内にレンダリングします
+Cn --concept-name-codes
概念名(concept name)のコードをレンダリングします
+Cu --numeric-unit-codes
数値計測単位のコードをレンダリングします
+Cv --code-value-unit
コード値を計測単位として使用します(既定値)
+Cm --code-meaning-unit
コードの意味を計測単位として使用します
+Cc --render-all-codes
全コードをレンダリングします(+Ci, +Cn, +Cu を含意する)
+Ct --code-details-tooltip
コードの詳細をツールチップとしてレンダリングします(+Cc を含意する)

注記

DICOM 適合性

dsr2html ユーティリティは以下の SOP クラスをサポートします:

SpectaclePrescriptionReportStorage           1.2.840.10008.5.1.4.1.1.78.6
MacularGridThicknessAndVolumeReportStorage   1.2.840.10008.5.1.4.1.1.79.1
BasicTextSRStorage                           1.2.840.10008.5.1.4.1.1.88.11
EnhancedSRStorage                            1.2.840.10008.5.1.4.1.1.88.22
ComprehensiveSRStorage                       1.2.840.10008.5.1.4.1.1.88.33
Comprehensive3DSRStorage                     1.2.840.10008.5.1.4.1.1.88.34
ProcedureLogStorage                          1.2.840.10008.5.1.4.1.1.88.40
MammographyCADSRStorage                      1.2.840.10008.5.1.4.1.1.88.50
KeyObjectSelectionDocumentStorage            1.2.840.10008.5.1.4.1.1.88.59
ChestCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.65
XRayRadiationDoseSRStorage                   1.2.840.10008.5.1.4.1.1.88.67
RadiopharmaceuticalRadiationDoseSRStorage    1.2.840.10008.5.1.4.1.1.88.68
ColonCADSRStorage                            1.2.840.10008.5.1.4.1.1.88.69
ImplantationPlanSRStorage                    1.2.840.10008.5.1.4.1.1.88.70
AcquisitionContextSRStorage                  1.2.840.10008.5.1.4.1.1.88.71
SimplifiedAdultEchoSRStorage                 1.2.840.10008.5.1.4.1.1.88.72
PatientRadiationDoseSRStorage                1.2.840.10008.5.1.4.1.1.88.73
PlannedImagingAgentAdministrationSRStorage   1.2.840.10008.5.1.4.1.1.88.74
PerformedImagingAgentAdministrationSRStorage 1.2.840.10008.5.1.4.1.1.88.75
WaveformAnnotationSRStorage                  1.2.840.10008.5.1.4.1.1.88.77

RenditionSelectionDocumentRealTimeCommunication 1.2.840.10008.10.4 (*)

(*) これは Storage SOP クラスではなく、リアルタイム通信に使用されます。

文字エンコーディング

HTML/XHTML のエンコーディングは、DICOM 属性 (0008,0005) "Specific Character Set" から以下のマッピングに従って自動的に決定されます:

ASCII         (ISO_IR 6)                       =>  (none)
UTF-8         "ISO_IR 192"                     =>  "UTF-8"
ISO Latin 1   "ISO_IR 100"                     =>  "ISO-8859-1"
ISO Latin 2   "ISO_IR 101"                     =>  "ISO-8859-2"
ISO Latin 3   "ISO_IR 109"                     =>  "ISO-8859-3"
ISO Latin 4   "ISO_IR 110"                     =>  "ISO-8859-4"
ISO Latin 5   "ISO_IR 148"                     =>  "ISO-8859-9"
ISO Latin 9   "ISO_IR 203"                     =>  "ISO-8859-15"
Cyrillic      "ISO_IR 144"                     =>  "ISO-8859-5"
Arabic        "ISO_IR 127"                     =>  "ISO-8859-6"
Greek         "ISO_IR 126"                     =>  "ISO-8859-7"
Hebrew        "ISO_IR 138"                     =>  "ISO-8859-8"
Thai          "ISO_IR 166"                     =>  "TIS-620"
Japanese      "ISO 2022 IR 13\ISO 2022 IR 87"  =>  "ISO-2022-JP"
Korean        "ISO 2022 IR 6\ISO 2022 IR 149"  =>  "ISO-2022-KR"
Chinese       "ISO 2022 IR 6\ISO 2022 IR 58"   =>  "ISO-2022-CN"
Chinese       "GB18030"                        =>  "GB18030"
Chinese       "GBK"                            =>  "GBK"

入力ファイルにこの DICOM 属性が必要であるにもかかわらず欠落している場合、–charset-assume オプションを使い、適切な文字集合を(DICOM 定義語のいずれかで)手動で指定できます。本ツールの旧バージョンとの後方互換性のため、以下の語も対応しており、対応する DICOM 定義語へ自動的にマッピングされます: latin-1, latin-2, latin-3, latin-4, latin-5, latin-9, cyrillic, arabic, greek, hebrew。

–convert-to-utf8 オプションを使うと、HTML/XHTML 形式へのレンダリングに先立ち、DICOM ファイルまたはデータセットを UTF-8 エンコーディングへ変換できます。

セキュリティ

–css-reference–css-file–hyperlink-url-prefix のいずれかのオプションを使用すると、セキュリティ上の問題につながりうる点に注意してください。攻撃者がこれらを悪用し、危険な内容を HTML/XHTML 出力へ注入できる可能性があります。これらのオプションに渡される値は、URL とプレフィックスも、指定された CSS ファイルの内容も、いずれも検証されません。

ロギング

各コマンドラインツールおよび基盤ライブラリのログ出力レベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力へ書き出されます。–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 に用意されています)。

環境変数

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

既定の挙動を優先すべきであり、DCMDICTPATH 環境変数は代替のデータ辞書が必要な場合にのみ使うべきです。DCMDICTPATH 環境変数は、エントリをコロン(":")で区切るという点で Unix シェルの PATH 変数と同じ形式を持ちます。Windows システムでは、区切りにセミコロン(";")が使われます。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルを読み込もうとします。データ辞書を1つも読み込めない場合はエラーとなります。

指定したコマンドラインオプションによっては、dsr2html ユーティリティは文字集合マッピングテーブルを読み込もうとします。これは DCMTK が oficonv ライブラリ付き(これが既定)でコンパイルされ、かつマッピングテーブルがライブラリに組み込まれていない場合(DCMTK が共有ライブラリを使う場合の既定)に起こります。

マッピングテーブルのファイルは DCMTK の < datadir> にあることが期待されます。別の場所を指定するには DCMICONVPATH 環境変数を使えます。別の場所を指定した場合、それらのマッピングテーブルは組み込みのテーブルも置き換えます。

ファイル

< datadir>/report.css - HTML 用のカスケーディングスタイルシートのサンプルファイル
< datadir>/reportx.css - XHTML 用のカスケーディングスタイルシートのサンプルファイル

関連項目

dcmconv(1)

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