gpt4 book ai didi

android - 正确的 DICOM JPEG(RGB) 像素处理逻辑以应用窗口宽度和级别过滤器

转载 作者:太空狗 更新时间:2023-10-29 12:44:51 27 4
gpt4 key购买 nike

我正在尝试对从 DICOM 文件中提取的 JPEG 图像应用窗口宽度和级别过滤器。

这是我用来处理 RGB 图像的每个 channel 的逻辑,例如我在 android 中的渲染脚本中操作红色 channel ,如下面的代码

我展示了如何操作图像的红色 channel 的示例代码。(我对绿色和蓝色 channel 也这样做)

它确实操纵了 JPEG Image Widow Width and Level 但不确定它是否正确地操纵 DICOM JPEGS 如果有人知道用正确的像素处理数学操纵 RGB JPEGS Window Width 和 Level 的正确方法请帮助我作为其结果什么 (20%) 与基于 Windows 的 DicomViewers 不同(我知道窗口级别和宽度仅适用于单色图像,但一些 DicomViewers,例如“ShowCase”,它们确实在 RGB 上应用此类过滤器)

    displayMin = (windowLevel- windowWidth/2);
displayMax = (windowLevel+ windowWidth/2);

/*Manipulate Red Channel */
if(current.r < displayMin)
{
current.r = 0;
}
else if(current.r > displayMax)
{
current.r = 1;
}

最佳答案

您当前的方法只是截断输入数据以适合窗口,这当然很有用。但是,它并不能真正让您看到窗口/级别的好处,尤其是在大于 8bpp 的图像上,因为它不会增强任何细节。

您通常希望以某种方式将窗口输入范围(displayMin 到 displayMax)重新映射到输出范围(0 到 1)。我认为没有确定的“正确”方法,尽管这是我认为有用的简单线性映射:

if (current.r <= displayMin || displayMin == displayMax)
{
current.r = 0;
}
else if (current.r >= displayMax)
{
current.r = 1;
}
else
{
current.r = (current.r - displayMin) / (displayMax - displayMin);
}

它所做的只是获取您的受限窗口,并将其扩展以使用整个色彩空间。您可以将其视为放大细节。

(displayMin == displayMax 条件只是防止被零除。)

关于android - 正确的 DICOM JPEG(RGB) 像素处理逻辑以应用窗口宽度和级别过滤器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19904504/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com