1

fo-dicom を使用して超高速の PACS サーバーを実装しました。この時点での唯一の本当の問題は、CMove 要求の処理です。

IDicomCMoveProvider には 1 つのメソッドIEnumerable<DicomCMoveResponse> OnCMoveRequest(DicomCMoveRequest request);がありますが、実装した方法は間違っているように見え、かなり遅いです。

私の実装の要点

具体的には CMove メソッド内で、スタディを受信する必要があるモダリティに送信する新しい CStore リクエストを作成しています。インスタンスごとに、新しい CStore リクエスト、新しい DicomClient を作成し、それを送信して応答を待ちます。次に発生するのは遅い部分です。各インスタンスは、DICOM 通信のシバン、接続、関連付け、インスタンスの送信、分離、切断をすべて実行し、研究全体を送信するには時間がかかります。

私の質問は、これを適切に実装して、1 つの接続のみを開き、すべての画像を送信して閉じるようにする方法です。これが fo-dicom でどのように行われるかの例が理想的です。

4

1 に答える 1

3

C-STORE アソシエーションを開く前に C-MOVE リクエストを受け取ると、次のことが可能になります。

  • リクエストによって影響を受ける、一致する SOP インスタンス (画像) のリストを決定する
  • 一致するすべてのインスタンスのプレゼンテーション コンテキストのリストを作成します (つまり、SOP クラス UID によるグループ化)。
  • C-MOVE 宛先 AE への単一のアソシエーション要求ですべてのプレゼンテーション コンテキストをネゴシエートする
  • この関連付けの各画像を送信します

このように実装することで、C-MOVE-request の影響を受ける個々の画像ごとの「DICOM 通信シバン」を取り除くことができます。

于 2016-09-13T08:16:26.267 に答える