【问题标题】:Dicom image window and level problems (sometimes)Dicom 图像窗口和级别问题(有时)
【发布时间】:2014-07-09 21:51:52
【问题描述】:

我正在使用 c# ClearCanvas 库制作图像查看器,并且我正在尝试显示图像,并将其存储的窗口中心和应用于图像的窗口宽度值。为此,我从 Dicom 文件中读取窗口中心、窗口宽度和原始像素数据,并将其转换为字节数组,然后使用以下代码应用窗口设置:

 int lower_bound = window_center - window_width / 2;
 int upper_bound = window_center + window_width / 2;



            //copy matrix and do window caluclations
            float[] wlpixels = new float[pixels.Length];
            for (int i = 0; i < w * h; i++)
            {

                if (pixels[i] <= lower_bound)
                    wlpixels[i] = 0;
                else if (pixels[i] > upper_bound)
                    wlpixels[i] = 255;
                else
                {
                    wlpixels[i] = ((pixels[i] - lower_bound) / window_width) * 255;


                }
            }

这对于某些图像来说就像一个魅力,而其他图像,特别是具有低或负窗口中心值的图像,显​​示不正确。它们显示了大量不应该是白色的白色像素。

我的窗口/级别计算是否正确?如果没有,我该如何正确执行它们?如果是这样,我还需要做什么才能使其适用于所有场景?

【问题讨论】:

  • 获取原始pixels 值时,是否考虑了Rescale Intercept (0028,1052) 和Rescale Slope (0028,1053) ?如果我没记错的话,窗口级别和宽度对应于重新缩放的像素(如果适用)。
  • 不,我还没有考虑到这一点,但我正在使用的工作图像和损坏图像的重新缩放斜率为 1,截距为 0
  • 您需要同时使用窗口和重新缩放,但是对于您的情况,重新缩放并不重要,因为它是身份调整。
  • 您的窗口/级别计算似乎是正确的,我将尝试查找一些测试数据,以便尝试此代码。当然,您的图像总是有可能具有不正确的窗口窗口/中心值,您可能想尝试在其他查看器中查看这些图像,看看他们的反应。
  • 谢谢。但是我得到了 clearcanvas 的 drawToBitmap() 函数来创建初始图像,然后可以从提取的像素矩阵中进行窗口/级别计算。

标签: c# pixels dicom clearcanvas


【解决方案1】:

所以我最终使用了 Clear Canvas 的 drawToBitmap() 函数来显示图像(我之前使用过,但是因为没有应用窗口设置而被划伤)。事实证明,为了考虑到窗口设置,您需要包含该行

using ClearCanvas.ImageViewer.Tools.Standard;

然后使用 drawToBitmap() 显示图像,您使用类似于以下的代码:

DicomFile dcm = new DicomFile();
dcm.Load("filename");
LocalSopDataSource lsds = new LocalSopDataSource(dcm);
ImageSop sop = new ImageSop(lsds);
Frame frame = sop.Frames[1];
IPresentationImage pres = PresentationImageFactory.Create(frame);
bitmap = pres.DrawToBitmap(frame.Columns, frame.Rows);

我已经使用其中没有原始像素数据的 Dicom 图像对此进行了测试,并且效果也很好(不知道为什么)...所以,是的,如果您使用的是 Clear Canvas,这就是要走的路。

我仍然最终将像素从这个位图复制到另一个矩阵,以通过滑块和其他东西来更改窗口中心/宽度,但要获得图像,这是你应该使用的。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-07-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多