dcmqrti: ターミナルイニシエータ用 Telnet クライアントプログラム
書式
dcmqrti [options] peer...
説明
dcmqrti プログラム(telnet イニシエータ)は対話式のキャラクタベースのプログラムで、dcmqrscp の画像データベースを調べたり、そのデータベース内の画像をベンダーノードへ送信したりするために使います。DICOM デモンストレーションでは、ベンダーが dcmqrscp を実行しているコンピュータにログオンすることで dcmqrti を起動できます。各ベンダーには専用のログインアカウントが与えられ、ログイン時には通常のシェルの代わりに dcmqrti が起動されます。
dcmqrti は主要な引数を 1 つ取ります。すなわちベンダーのホスト名、または(設定ファイルの VendorTable に記載された)ベンダーのシンボリック名です。次に設定ファイルを検索して、このホスト名またはベンダー名に対応するすべての AE Title と、それらの AE Title からアクセスできるすべてのストレージ領域を調べます。したがって、dcmqrti のユーザーインターフェイスで選べるのは、設定ファイルから見つかったアクセス可能なデータベースと相手アプリケーションだけです。
引数
peer peer host name or symbolic name from cfg file
オプション
general options
-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 を使います
-c --config [f]ilename: string- 指定した設定ファイルを使います (default: /usr/local/etc/dcmtk-
/dcmqrscp.cfg)
network options
-to --timeout [s]econds: integer (default: unlimited)- 接続要求のタイムアウト
-ta --acse-timeout [s]econds: integer (default: 30)- ACSE メッセージのタイムアウト
-td --dimse-timeout [s]econds: integer (default: unlimited)- DIMSE メッセージのタイムアウト
-xi --propose-implicit- implicit VR little endian TS のみを提案します
-aet --aetitle [a]etitle: string- 自分の AE Title を設定します (default: TELNET_INITIATOR)
-pdu --max-pdu [n]umber of bytes: integer (4096..131072)- 受信 PDU の最大サイズを n バイトに設定します (default: 設定ファイルの値を使う)
other options
-u --disable-new-vr- 新しい VR のサポートを無効化し、OB に変換します
-rmt --remote [t]itle: string- 設定ファイルで定義したリモートデータベースに接続します
dcmqrti_NOTES
コマンド
すべてのコマンドは省略形で入力できます。他のコマンドと衝突しない限り、省略が認められます。
"help" コマンド
"help" コマンドは利用できるすべてのコマンドの一覧を表示します。出力例を以下に示します。例を本文と区別するため、すべての例は破線で囲んでいます。これらの破線は実際にプログラムを実行したときには表示されません。
------------------------------------------------------------
Command Summary:
help list this summary
? short help
title [#] list [set] current peer AE title
database [#] list [set] current database
study [#] list [set] current study
series [#] list [set] current series
image [#] list [set] current image
display [#] display current [specific] image
send study [#] send current [specific] study
send series [#] send current [specific] series
send image [#] send current [specific] image
echo [#] verify connectivity [# times]
quit quit program
exit synonym for quit
------------------------------------------------------------
"title" コマンド
引数なしの "title" コマンドは、既知のリモート Application Entity (AE) を一覧表示します。出力例は次のようになります。
------------------------------------------------------------
Peer AE Titles:
Peer AE HostName:PortNumber
* 0) ACME1 (swallow:2001)
1) ACME2 (swallow:2002)
2) UNITED1 (kolibri:2001)
3) UNITED2 (kolibri:2002)
------------------------------------------------------------
現在の相手 AE にはアスタリスク (*) が付きます。各相手 AE には添字(2 列目)があり、"title" コマンドの引数として渡すことで現在の相手 AE を設定できます。3 列目は相手 AE の AE Title を示します。4 列目は相手 AE のホスト名と TCP/IP ポート番号を示します。
添字を引数に与えて実行すると、"title" コマンドは現在の相手 AE を設定します。study/series/image の送信や echo の送信を指示されると、dcmqrti は現在の相手 AE へアソシエーションを開始しようとします。
"database" コマンド
引数なしの "database" コマンドは、既知のローカルデータベース(これらは dcmqrscp の AE Title に対応する)を一覧表示します。出力例は次のようになります。
------------------------------------------------------------
Database Titles:
Database
* 0) COMMON
1) ACME_QUERY
2) ACME_STORE
3) UNITED_QUERY
------------------------------------------------------------
現在のデータベースにはアスタリスク (*) が付きます。各データベースには添字(2 列目)があり、"database" コマンドの引数として渡すことで現在のデータベースを設定できます。3 列目はデータベースの名前(すなわち当該ストレージ領域に対応する dcmqrscp の AE Title)を示します。
添字を引数に与えて実行すると、"database" コマンドは現在のデータベースを設定します。現在のデータベースは、以降のデータベース固有の操作の対象になります。
"study" コマンド
引数なしの "study" コマンドは、現在のデータベース内の study を一覧表示します。出力例は次のようになります。
------------------------------------------------------------
Patient PatientID StudyID
* 0) JACKSON^ANDREW^^^ M4997106 20001
1) GRANT^MARY^^^ F4997108 20002
2) ARTHUR^CHESTER^^^ M4997107 20003
3) JEFFERSON^THOMAS^^^ M4997096 9465
4) MADISON^DOLLY^^^ F4997097 9443
4 Studies in Database: COMMON
------------------------------------------------------------
現在の study にはアスタリスク (*) が付きます。各 study には添字(2 列目)があり、"study" コマンドの引数として渡すことで現在の study を設定できます。3 列目は患者名、4 列目は患者 ID、5 列目は study ID を示します。
添字を引数に与えて実行すると、"study" コマンドは現在の study を設定します。現在の study は、以降の study 固有の操作の対象になります。
"series" コマンド
引数なしの "series" コマンドは、現在の study 内の series を一覧表示します。出力例は次のようになります。
------------------------------------------------------------
Series Modality SeriesInstanceUID
* 0) 1 MR 1.2.840.113654.2.3.1993.201
1) 2 MR 1.2.840.113654.2.3.1993.202
2) 3 MR 1.2.840.113654.2.3.1993.203
3) 4 MR 1.2.840.113654.2.3.1993.204
4) 5 MR 1.2.840.113654.2.3.1993.205
5 Series in StudyID 05381,
Patient: MONROE^JAMES^^^ (Database: COMMON)
------------------------------------------------------------
現在の series にはアスタリスク (*) が付きます。各 series には添字(2 列目)があり、"series" コマンドの引数として渡すことで現在の series を設定できます。3 列目は series 番号、4 列目は series のモダリティ、5 列目は series instance UID を示します。
添字を引数に与えて実行すると、"series" コマンドは現在の series を設定します。現在の series は、以降の series 固有の操作の対象になります。
"image" コマンド
引数なしの "image" コマンドは、現在の series 内の画像を一覧表示します。出力例は次のようになります。
------------------------------------------------------------
Image ImageInstanceUID
* 0) 1 1.2.840.113654.2.3.1993.9.123.6.2674
1) 2 1.2.840.113654.2.3.1993.9.123.6.2675
2) 3 1.2.840.113654.2.3.1993.9.123.6.2676
3) 4 1.2.840.113654.2.3.1993.9.123.6.2677
4) 5 1.2.840.113654.2.3.1993.9.123.6.2678
5) 6 1.2.840.113654.2.3.1993.9.123.6.2679
6) 7 1.2.840.113654.2.3.1993.9.123.6.2680
7) 8 1.2.840.113654.2.3.1993.9.123.6.2681
8) 9 1.2.840.113654.2.3.1993.9.123.6.2682
9) 10 1.2.840.113654.2.3.1993.9.123.6.2683
10) 11 1.2.840.113654.2.3.1993.9.123.6.2684
11) 12 1.2.840.113654.2.3.1993.9.123.6.2685
12) 13 1.2.840.113654.2.3.1993.9.123.6.2686
13 Images in MR Series, StudyID 05381,
Patient: MONROE^JAMES^^^ (Database: COMMON)
------------------------------------------------------------
現在の画像にはアスタリスク (*) が付きます。各画像には添字(2 列目)があり、"image" コマンドの引数として渡すことで現在の画像を設定できます。3 列目は画像番号、4 列目は image instance UID (SOP Instance UID) を示します。
添字を引数に与えて実行すると、"image" コマンドは現在の画像を設定します。現在の画像は、以降の画像固有の操作の対象になります。
"display" コマンド
display コマンドは、現在のバージョンの DCMTK では何も行いません。以前のリリースでは、CTN Display Program に画像の表示を要求するために使われていました。
"send" コマンド
"send" コマンドは、study/series 全体や個々の画像をリモート AE へ保存します。このコマンドを実行すると、dcmqrti は DICOM Storage Service Class の SCU として動作し、("title" コマンドで指定した)現在の相手 AE とのアソシエーションを開始しようとします。関連するすべての Storage SOP Class のプレゼンテーションコンテキストが提案されます。指定したすべての画像の保存が試みられます。アソシエーションをネゴシエーションできなかった場合はエラーメッセージが表示されます。保存操作が失敗した場合や、適切なプレゼンテーションコンテキストが利用できない場合にもエラーメッセージが表示されます。
The "send" command exists in three forms:
send study [#]
send series [#]
send image [#]
"study" キーワードは、現在の study 内のすべての画像を送信することを意味します。添字を引数に与えて実行すると、現在のデータベース内の指定した study が保存されます。"series" キーワードは、現在の series 内のすべての画像を送信することを意味します。添字を引数に与えて実行すると、現在の study 内の指定した series が保存されます。"image" キーワードは、現在の画像を送信することを意味します。添字を引数に与えて実行すると、現在の series 内の指定した画像が保存されます。
画像が保存されると、次の形式のメッセージが表示されます。
------------------------------------------------------------
New Association Started (swallow:2001,ACME1)
[MsgID 1] Store,
PatientName: JACKSON^ANDREW^^^, StudyID: 20001,
Series: 2, Modality: CR, Image: 1,
Image UID: 1.2.840.113654.2.3.1993.9.123.6.1834
0%________25%_________50%__________75%________100%
--------------------------------------------------
[MsgID 1] Complete [Status: Success]
Released Association (swallow:2001,ACME1)
------------------------------------------------------------
"echo" コマンド
"echo" コマンドは、("title" コマンドで指定した)現在の相手 AE との接続性を確認するために使います。実行すると、dcmqrti は Verification Service Class の SCU として動作します。
引数なしで実行すると、C-ECHO メッセージは 1 通だけ生成されます。引数を与えて実行すると、指定した数だけ C-ECHO メッセージが送信されます。次の形式のメッセージが表示されます。
------------------------------------------------------------
New Association Started (localhost:2001,CMOVE)
[MsgID 1] Echo, Complete [Status: Success]
Released Association (localhost:2001,CMOVE)
------------------------------------------------------------
"quit", "exit" コマンド
"quit" コマンドと "exit" コマンドの効果は同じです。どちらも dcmqrti を終了します。
DICOM 適合性
dcmqrti は、SCU として dcmqrscp と同じ SOP Class の集合をサポートします。dcmqrscp のドキュメントを参照してください。
dcmqrti は、上記のサポート対象 SOP Class すべてに対して、次の転送構文を用いたプレゼンテーションコンテキストを提案します。
LittleEndianImplicitTransferSyntax 1.2.840.10008.1.2
LittleEndianExplicitTransferSyntax 1.2.840.10008.1.2.1
BigEndianExplicitTransferSyntax 1.2.840.10008.1.2.2
dcmqrti は拡張ネゴシエーションをサポートしません。
設定
dcmqrti は dcmqrscp と同じ設定ファイルを使います。詳しくは設定に関するドキュメント(dcmqrcnf.txt および設定ファイルの例 dcmqrscp.cfg)を参照してください。
ロギング
各種コマンドラインツールおよびその基盤となるライブラリのロギング出力のレベルは、ユーザーが指定できます。既定では、エラーと警告のみが標準エラー出力に書き出されます。–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)。このようなコマンド引数は、以降の評価に先立って、対応するテキストファイルの内容で置き換えられます(連続する空白は、引用符で囲まれていない限り 1 つの区切り文字として扱われます)。コマンドファイルの中に別のコマンドファイルを含めることはできない点に注意してください。この単純ながら効果的な仕組みにより、よく使うオプションや引数の組み合わせをまとめておけるため、長く分かりにくいコマンドラインを避けられます(例は < datadir>/dumppat.txt にあります)。
環境変数
dcmqrti ユーティリティは、DCMDICTPATH 環境変数で指定された DICOM データ辞書を読み込もうとします。既定では、すなわち DCMDICTPATH 環境変数が設定されていない場合、データ辞書がアプリケーションに組み込まれていない限り(Windows では組み込みが既定)、< datadir>/dicom.dic が読み込まれます。
通常はこの既定の動作が望ましく、DCMDICTPATH 環境変数は別のデータ辞書が必要な場合にのみ使うべきです。DCMDICTPATH 環境変数は Unix シェルの PATH 変数と同じ形式で、コロン (":") でエントリを区切ります。Windows システムでは、区切り文字としてセミコロン (";") を使います。データ辞書のコードは、DCMDICTPATH 環境変数で指定された各ファイルを読み込もうとします。データ辞書を 1 つも読み込めない場合はエラーになります。
ファイル
< docdir>/dcmqrcnf.txt - 設定情報
< docdir>/dcmqrset.txt - セットアップ情報
< etcdir>/dcmqrscp.cfg - 設定ファイルの例
関連項目
dcmqrscp(1)
著作権
Copyright (C) 1993-2025 by OFFIS e.V., Escherweg 2, 26121 Oldenburg, Germany.