dcmsend - クラウドでオンライン

これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド dcmsend です。

プログラム:

NAME


dcmsend - シンプルな DICOM ストレージ SCU (送信者)

SYNOPSIS


dcmsend [オプション] ピア ポート dcmfile-in...

DESCRIPTION


当学校区の dcmsend アプリケーションはストレージ サービスのサービス クラス ユーザー (SCU) を実装します。
クラス。 よく知られているものとは対照的に、 ストアスク ユーティリティ、 dcmsend 選択肢が少なく、
したがって、使いやすくなっています。これは、タイトルの「シンプル」という用語の説明にもなります。 メイン
このアプリケーションの目的は、大量の DICOM ファイルをストレージ サービスに送信することです
クラスプロバイダー (SCP)。 dcmsend 両方の複数の関連付けをサポートします (次々と)
DICOM SOP インスタンスを転送するために必要な場合は、それらを解凍します。

パラメーター


DICOMピアのピアホスト名

ポートtcp / ipピアのポート番号

dcmfile-in 送信する DICOM ファイルまたはディレクトリ

OPTIONS


一般的な オプション
-h --ヘルプ
このヘルプテキストを印刷して終了します

- バージョン
バージョン情報を印刷して終了します

--リストデコーダー
デコーダの転送構文をリストして終了します

-引数
拡張されたコマンドライン引数を出力する

-q -- 静かに
クワイエットモード、警告やエラーを出力しない

-v --verbose
詳細モード、印刷処理の詳細

-d --デバッグ
デバッグモード、デバッグ情報の出力

-ll --log-level [l] evel:文字列定数
(致命的、エラー、警告、情報、デバッグ、トレース)
ロガーにはレベルlを使用します

-lc --log-config [f] ilename:文字列
ロガーには設定ファイルfを使用します

+ v --verbose-pc
詳細モードでプレゼンテーションコンテキストを表示する

オプション
入力ファイル形式:

+ f --read-file
ファイル形式またはデータセットを読み取る

+ fo--read-file-only
ファイル形式のみを読み取ります (デフォルト)

-f --read-dataset
ファイルメタ情報なしでデータセットを読み取る

入力ファイル:

+rd --dicomdir から読み取り
DICOMDIR から入力ファイルの情報を読み取る

+sd --スキャンディレクトリ
入力ファイルのディレクトリをスキャンします (dcmfile-in)

+sp --scan-pattern [p]attern: 文字列 (--scan-directories を使用した場合のみ)
ファイル名マッチングのパターン(ワイルドカード)

#すべてのシステムで利用できるとは限りません

-r--no-recurse
ディレクトリ内で再帰しない(デフォルト)

+ r --recurse
指定されたディレクトリ内で再帰

処理 オプション
転送構文変換:

-dn --decompress-never
圧縮されたデータセットを決して解凍しないでください

+dls --decompress-lossless
可逆圧縮のみを解凍します (デフォルト)

+dly --解凍-非可逆性
非可逆圧縮と可逆圧縮の両方を解凍する

deflate 圧縮レベル:

+ cl --compression-level [l] evel:整数(デフォルト:6)
0 =非圧縮、1 =最速、9 =最高の圧縮

その他の処理オプション:

-nh --停止なし
最初の無効な入力ファイルで停止しません
または失敗したストアが発生した場合

-nip --違法提案なし
プレゼンテーションコンテキストを提案しないでください。
デフォルトの転送構文は含まれません (必要な場合)

-nuc --no-uid-checks
入力ファイルのUID値をチェックしない

ネットワーク オプション
アプリケーションエンティティのタイトル:

-aet --aetitle [a] etitle:文字列
通話 AE タイトルを設定します (デフォルト: DCMSEND)

-aec --call [a] etitle:string
ピアのAEタイトルと呼ばれるセット(デフォルト:ANY-SCP)

関連付けの処理:

+ma --複数の関連付け
複数の関連付けを (次々に) 使用する
インスタンスを転送する必要がある場合 (デフォルト)

-ma --単一関連付け
常に単一の関連付けを使用する

その他のネットワークオプション:

-to --timeout [s] econds:integer(デフォルト:無制限)
接続要求のタイムアウト

-ta --acse-timeout [s] econds:整数(デフォルト:30)
ACSEメッセージのタイムアウト

-td --dimse-timeout [s] econds:整数(デフォルト:無制限)
DIMSEメッセージのタイムアウト

-pdu --max-pdu [n]バイト数:整数(4096..131072)
最大受信pduをnバイトに設定します(デフォルト:16384)

--max-send-pdu [n] バイト数: 整数 (4096..131072)
最大送信 PDU を n バイトに制限する

出力 オプション
一般:

+crf --create-report-file [f]ファイル名: string
転送に関する詳細なレポートを作成する
(成功した場合)それをテキスト ファイルに書き込みます。

注意事項


分解能 使用法
典型的な使用例は、 dcmsend DICOMとして保存された任意のSOPインスタンスを送信します。
ファイルをストレージ SCP にコピーします。 次のコマンドはまさにこれを実行します。

dcmsend --verbose *.dcm

DICOM ファイルがディレクトリ「IMAGES」の下のディレクトリ階層に保存されている場合、
次のコマンドを使用できます。

dcmsend -v --scan-directories --recurse 画像

複数のディレクトリを指定し、上記を組み合わせることも可能です。
アプローチ (ファイル名とディレクトリ名の両方を使用):

dcmsend -v +sd +r IMAGES_1 IMAGES_2 test.img *.dcm

SOP インスタンスが DICOMDIR ファイルから参照されている場合、オプション --dicomdir からの読み取り (または
+rd) を使用すると、参照されているすべての DICOM ファイルをロードせずに送信できます。
アソシエーションネゴシエーション:

dcmsend -v --read-from-dicomdir DICOMDIR

繰り返しになりますが、上記のアプローチはすべて次のように組み合わせることができます。

dcmsend -v +sd +r +rd IMAGES_1 IMAGES_2 test.img DICOMDIR *.dcm

デフォルトのオプション --読み取り専用 DICOM ファイル (つまり、
メタヘッダーとプリアンブル後のマジックワード「DICM」)が処理されます。 通常、次の場合、
大量のファイルを処理する場合は、最初の無効なファイルで停止しないこともお勧めします。
入力ファイル、またはストアの失敗が発生した場合。 これは次を使用して実現できます
オプション --停止なし。 ただし、「失敗したストア」とは、
C-STORE 応答の DIMSE ステータスはエラーを示します。 これは、C-STORE リクエストが
ストレージ SCP に送信できませんでした。

128 を超えるプレゼンテーション コンテキストが必要な場合、これが許可される最大数です
DICOM 標準によれば、新しい関連付けは、前の関連付けが完了した後に開始されます。
完成しました。 この動作が望ましくない場合は、オプションを使用して無効にすることができます。
--単一関連付け。 さらに、可逆圧縮データセットのみが圧縮されるかどうか
圧縮解除 (必要な場合) (デフォルト)、または非可逆圧縮データ セットも実行できます。
を使用して指定 --解凍-xxx オプション。

DICOM SOPの移転に関する概要と詳細情報の両方を取得するため
インスタンス、オプション --レポートファイルの作成 を使用して、対応するテキスト ファイルを作成できます。
ただし、このファイルはアプリケーションが終了しなかった場合の最終ステップとしてのみ作成されます。
前(エラーあり)。

スキャニング ディレクトリ
コマンドラインにパラメータとしてディレクトリを追加することは、オプションが指定されている場合にのみ意味を持ちます。 - スキャン-
ディレクトリ も与えられます。 提供されたディレクトリ内のファイルを選択する必要があるかどうか
特定の名前パターンに従って (例: ワイルドカード一致を使用)、オプション --スキャンパターン
使用する必要があります。 このファイル パターンは、
スキャンされたディレクトリ、および外部のコマンド ラインで他のパターンが指定されている場合
  --スキャンパターン オプション(例:さらにファイルを選択するため)、これらは適用されません
指定されたディレクトリ。

したがって、上記の例の 1 番目は、ディレクトリ IMAGES_2 と IMAGES_XNUMX に対して再帰的に実行されます。
これら XNUMX つのフォルダーとそのすべてのサブフォルダーに含まれるファイルを送信します (
オプションへ +r) さらに、 dcmsend 「test.img」と拡張子が付いているすべてのファイルを転送します
現在の作業フォルダーからの「dcm」。 ディレクトリ名を指定しないことに注意してください。
オプションを有効にする +SD 意味を成さない。

DICOM 適合
基本的には、 dcmsend アプリケーションは、以下を含むすべてのストレージ SOP クラスを SCU としてサポートします。
プライベートのもの。 デフォルトでは、アプリケーションは DICOM ファイルの SOP クラス UID をチェックします。
有効な SOP インスタンスのみが送信されるようにするためです。 オプションあり --no-uid-checks
このチェックは無効にすることができます。

当学校区の dcmsend アプリケーションは、DICOM で定義されているすべての転送構文もサポートしています
標準。 プライベート転送構文は、UID チェックが無効になっている場合にのみ使用できます。
オプション --no-uid-checks。 ただし転送数には限りがあるので注意してください
構文は、デフォルトの転送構文 (Implicit VR) への変換がサポートされています。
リトルエンディアン)。 オプションあり --リストデコーダー ネイティブまたはサポートされる転送構文
デコーダがリストされています。 通常、出力は次のようになります。

ネイティブにサポートされる転送構文:
- 暗黙的なリトルエンディアン
- リトルエンディアン明示的
- 明示的なビッグエンディアン

デコーダでサポートされる転送構文:
- デフレートされた明示的な VR リトル エンディアン
- JPEGベースライン
- JPEG拡張、プロセス2+4
- JPEG スペクトル選択、非階層、プロセス 6+8
- JPEG フルプログレッション、非階層、プロセス 10+12
- JPEG ロスレス、非階層、プロセス 14
- JPEG ロスレス、非階層、一次予測
- JPEG-LSロスレス
- JPEG-LS 非可逆 (ほぼ可逆)
- RLEロスレス

Since dcmsend デフォルトのプレゼンテーションでは、ユーザーにとってできるだけシンプルになるように努めます
厳密に言えば「違法」なコンテキストが SCP に提案される可能性があります。 これは
DICOM 標準によれば、SCU は常にデフォルトを提案する必要があるためです。
各抽象構文に関連付けられた少なくとも XNUMX つのプレゼンテーション コンテキスト内の転送構文
(つまり、SOP クラス)。 SCU が SOP にのみアクセスできる場合、この要件は免除されます。
非可逆圧縮形式のインスタンス。 オプションあり --違法な提案なし 厳格なDICOM-
準拠した動作を強制することができます。つまり、違法である可能性のあるプレゼンテーション コンテキストは無効になります。
提案されましたが、対応する SOP インスタンスは拒否されます (必要な場合)。

ただし、「ロスレス JPEG 圧縮」のデフォルトの転送構文は、
「非可逆 JPEG 圧縮」などは、DICOM で要求されているように、常に提案されているわけではありません。
標準。 同じ制限が他の圧縮方式にも適用されます。 DICOM PS 3.5を参照
詳細については、セクション10を参照してください。

ロギング


さまざまなコマンドラインツールと基盤となるライブラリのログ出力のレベルは、
ユーザーが指定します。 デフォルトでは、エラーと警告のみが標準に書き込まれます
エラーストリーム。 オプションの使用 -詳細 処理の詳細などの情報メッセージもあります
報告されています。 オプション - デバッグ 内部アクティビティの詳細を取得するために使用できます。
たとえば、デバッグの目的で。 オプションを使用して、他のログレベルを選択できます - ログ-
レベル。 に - 静かな モードのみの致命的なエラーが報告されます。 このような非常に重大なエラーイベントでは、
通常、アプリケーションは終了します。 さまざまなログレベルの詳細については、
モジュール 'oflog'のドキュメントを参照してください。

ロギング出力をファイルに書き込む必要がある場合(オプションでログファイルローテーションを使用)、
syslog(Unix)またはイベントログ(Windows)オプションへ --log-config に使える。 この
構成ファイルでは、特定のメッセージのみを特定の出力に送信することもできます
ストリームおよびモジュールまたはアプリケーションに基づいて特定のメッセージをフィルタリングするため
が生成されます。 構成ファイルの例は、に提供されています。 /logger.cfg.

COMMAND LINE


すべてのコマンドラインツールは、パラメータに次の表記を使用します。角かっこで囲みます
オプションの値(0-1)、末尾のXNUMXつのドットは、複数の値が許可されていることを示します
(1-n)、両方の組み合わせは0からnの値を意味します。

コマンドラインオプションは、先頭の「+」または「-」記号によってパラメータと区別されます。
それぞれ。 通常、コマンドラインオプションの順序と位置は任意です(つまり、
どこにでも表示できます)。 ただし、オプションが相互に排他的である場合、右端の外観
使用されている。 この動作は、一般的なUnixシェルの標準的な評価ルールに準拠しています。

さらに、XNUMXつ以上のコマンドファイルは、接頭辞として「@」記号を使用して指定できます。
ファイル名(例: @ command.txt)。 このようなコマンド引数は、次の内容に置き換えられます。
対応するテキストファイル(複数の空白は、次の場合を除いて単一の区切り文字として扱われます)
さらに評価する前に、XNUMXつの引用符の間に表示されます)。 その点に注意してください
コマンドファイルに別のコマンドファイルを含めることはできません。 このシンプルだが効果的なアプローチ
オプション/パラメータの一般的な組み合わせを要約することができ、長くなり、
紛らわしいコマンドライン(例はファイルで提供されています /dumppat.txt).

EXIT コード


当学校区の dcmsend ユーティリティは終了時に次の終了コードを使用します。 これにより、ユーザーは
アプリケーションが終了した理由を確認します。

一般的な
EXITCODE_NO_ERROR 0
EXITCODE_COMMANDLINE_SYNTAX_ERROR 1

file エラー
EXITCODE_CANNOT_READ_INPUT_FILE 20 (*)
EXITCODE_NO_INPUT_FILES 21
EXITCODE_INVALID_INPUT_FILE 22
EXITCODE_NO_VALID_INPUT_FILES 23

出力 file エラー
EXITCODE_CANNOT_WRITE_OUTPUT_FILE 40 (*)
EXITCODE_CANNOT_WRITE_REPORT_FILE 43

ネットワーク エラー
EXITCODE_CANNOT_INITIALIZE_NETWORK 60
EXITCODE_CANNOT_NEGOTIATE_ASSOCIATION 61
EXITCODE_CANNOT_SEND_REQUEST 62
EXITCODE_CANNOT_ADD_PRESENTATION_CONTEXT 65

(*) 実際には、これらのコードは現在使用されていません。 dcmsend ただし、プレースホルダーとして機能します
対応する終了コードのグループ。

ENVIRONMENT


当学校区の dcmsend ユーティリティは、で指定されたDICOMデータディクショナリを読み込もうとします。
DCMDICTPATH 環境変数。 デフォルトでは、つまり DCMDICTPATH 環境変数
設定されていない、ファイル /dicom.dic 辞書が作成されない限りロードされます
アプリケーションに(Windowsのデフォルト)。

デフォルトの動作が優先され、 DCMDICTPATH 環境変数のみ
代替データディクショナリが必要な場合に使用されます。 NS DCMDICTPATH 環境変数
Unixシェルと同じ形式です パス コロン( ':')で区切る変数
エントリ。 Windowsシステムでは、セミコロン( ';')が区切り文字として使用されます。 データディクショナリ
コードは、で指定された各ファイルをロードしようとします DCMDICTPATH 環境変数。 それ
データディクショナリをロードできない場合はエラーです。

onworks.net サービスを使用してオンラインで dcmsend を使用する



最新のLinuxおよびWindowsオンラインプログラム