0

DCM4CHEE を PACS サーバーのレプリカとして使用しています。複数のスタディにまたがる 8 ビットと 16 ビットのイメージがあります。すべての画像は DCM4CHEE に保存されます。

サンプル画像で DICOM DUMP [DCM2TXT] を実行して、ビット割り当てを特定しています。これは長いプロセスです。

DCM4CHEE サーバーはビット表現を DB に保存しますか?もしそうなら、割り当てられたビットに関する情報はどこにありますか?

これに対する最善の解決策を見つけるのを手伝ってください。

ありがとう、

-アニル・クマール.C

4

1 に答える 1

1

はい、データベースにあり、非常に高速にアクセスできます。データベース/スキーマ「pacsdb」では、テーブル名は「instance」、列名は「inst_attrs」です。ほとんどの場合、データを検索/表示する方法に応じて、スタディ テーブルとシリーズ テーブルを含む結合で選択する必要があります。

ここでの問題は、inst_attrs がバイナリ データを含む BLOB であることです。内部では、次の 16 進文字列 (DICOM 転送構文から) を探す必要があります。 53 02 00 は「Unsigned Short (US) 2 バイト長」と表示され、その後に通常 16 ビットの場合は 10 00、8 ビット イメージの場合は 08 00 が続きます。したがって、実際には上記のバイトの「xx」値のみが必要です。

このデータを取得するために使用するデータベース アクセス ツールに応じて、最適な戦略を選択できます。これは、dcm4chee と一緒にデプロイされた Web アプリケーション (.war) である可能性があります。おそらく jsp の束だけで十分でしょう。それは別のJavaアプリでも.NETでもかまいません.選択するツールは、どこで何のために必要かによって異なります. Web アクセスの場合は、ステートレス セッション Bean を使用して完全な .ear を実行してデータを取得し、パスワードで保護された小さな Web アプリでデータを表示して外部からの JSON / WS アクセスを提供します。

以下の更新 は、スタディ UID、シリーズ UID、および 16 ビット画像の場合は 10、8 ビット画像の場合は 08 として割り当てられたビットを返す SQL の例 (MySQL のみ) です。

SELECT study_iuid as StudyUID, series_iuid as SeriesUID,
    SUBSTRING(HEX(inst_attrs),
               LOCATE('2800000155530200',HEX(inst_attrs))+16
             ,2) as BitsAllocatedHex 
    FROM instance i JOIN series s ON i.series_fk=s.pk 
        JOIN study st ON s.study_fk=st.pk

于 2011-01-11T23:22:46.973 に答える