4

アプリケーションで、de Dicom 仕様のウィンドウ幅とレベル式を実装しようとしています。現時点ではグレースケールを返していません。dicom は次のように式を指定します。

これらの属性は、次の疑似コードに従って適用されます。ここで、x は入力値、y は ymin から ymax までの範囲の出力値、c は Window Center (0028,1050)、w は Window Width (0028,1051) です。 ):

if (x <= c - 0.5 - (w-1)/2), then y = ymin
else if (x > c - 0.5 + (w-1)/2), then y = ymax,
else y = ((x - (c - 0.5)) / (w-1) + 0.5) * (ymax - ymin)+ ymin

したがって、これを次の C# 構文に変換しました。

if (pixelData[i] <= wLevel - 0.5 - (wWidth - 1) / 2)
    oColor = 0;
else if (pixelData[i] > wLevel - 0.5 + (wWidth - 1) / 2)
    oColor = 255;
else
    oColor = (int)((pixelData[i] - (wLevel - 0.5)) / (wWidth - 1) + 0.5) * (255 - 0) + 0;

ただし、式の最後の部分

oColor = (int)((pixelData[i] - (wLevel - 0.5)) / (wWidth - 1) + 0.5) * (255 - 0) + 0;

0のみを返すようです

例

これがどのように可能か誰にもわかりますか?

4

1 に答える 1

7

VOI LUT の意味は、範囲外のピクセル値のクランプを使用して、特定のピクセル範囲を表示可能な値 (通常は 0..0xFF) にマップすることです。

これは、特定のウィンドウ/レベルについて、表示可能な範囲を計算できることを意味します。

level-window/2 , level + window/2.

その範囲内のピクセル値については、線形変換が使用されます。

((pixel - lower_window_limit) / window) * displayable_range

どこlower_window_limitですかlevel - window/2

これ-window/2が式にありません。

于 2010-11-04T18:15:03.413 に答える