2

C# を使用して読み取り、16 ビットのビットマップに変換する DICOM 画像があります。ビットマップは作成されますが、画像には DICOM オーバーレイがあります。最終的な dicom ビットマップを作成する際に、オーバーレイをビットマップに焼き付けたいと考えています。私にはそれができません。何か助けはありますか?

1 つの方法は、オーバーレイ データのビットマップを作成し、2 つのビットマップをマージすることですが、オーバーレイ データをビットマップとして取得することもできません。バイナリ オーバーレイ データをキャプチャしましたが、ビットマップに焼き付けるにはどうすればよいですか?

ありがとう

4

3 に答える 3

7

オーバーレイには次の 2 種類があります。

1) Burned-In:オリジナルのものです。モノクロ ピクセルデータの上位ビットを使用します (ピクセル範囲外です。たとえば、BitsAllocated が 16 で BitsStored が 12 の場合、ピクセルあたり 4 つの未使用ビット (ビット 12..15) があり、次の目的で使用できます)。オーバーレイ. 署名された画像に対してどのように行われるかはわかりません.
画像にそのようなオーバーレイがあるかどうかを指定するタグがないことに注意してください. (Burned In Annnotation (0028,0301) というタグがありますが、それは別のことを意味します) .

2)オーバーレイ モジュール:一連のタグ (グループ 0x600xx) はオーバーレイ用に予約されています。1このような各グループには、オーバーレイの存在を意味するピクセルあたり 1 ビットのビットマップと共に複数のタグが含まれています。
これは標準の GDI ビットマップではないことに注意してください。行は DWORD 境界に配置されていません。(そして、同じビットエンディアンを使用しているかどうかはわかりません。)

DICOM 画像には、そのようなオーバーレイを複数 (最大 16 個?) 含めることができます。正確な仕様については、規格のパート 3 を参照してください。

于 2011-02-01T00:44:00.477 に答える
3

DICOM オーバーレイは単なるビットマップ マスクです。画像をレンダリングするときは、ピクセルをトラバースするだけで、ピクセルを白に設定することをお勧めします。

グレースケール画像の場合、測光解釈をチェックして、MONOCHROME1 か MONOCHROME2 かを確認する必要があります。次に、割り当てられたビットをチェックして最大ピクセル値を確認し、MONOCHROME1 画像の場合はオーバーレイがその値に設定されているピクセル値を強制する必要があります。MONOCHROME2 画像の場合、オーバーレイを有効にしたピクセルを最小ピクセル値に設定する必要があります。

カラー画像の場合、オーバーレイを表示するために、必要に応じてピクセルを特定の色または白に変更できます。

于 2011-01-31T14:57:28.833 に答える