【问题标题】:convert 16 bit grayscale DICOM image to 8 bit: the correct procedure将 16 位灰度 DICOM 图像转换为 8 位:正确的程序
【发布时间】:2017-03-06 23:28:36
【问题描述】:

我一直在尝试为 DICOM 图像创建图像查看器。我的程序几乎可以正确读取所有 8 位彩色和灰度图像。但是当我尝试使用图像的前 8 位打开 16 位图像时,某些部分会丢失(使用 16 位的像素将显示为暗而不是白色)。我真的不知道如何使用窗口中心、窗口宽度、重新缩放斜率和截距。请通过给出将 16 位图像转换为 8 位图像的确切步骤来帮助我。此外,我不需要查看使用任何压缩技术来存储像素的文件。提前致谢。

【问题讨论】:

  • 你能使用另一边的前 8 位吗?可能是字节序。
  • 两种方法我都试过了。我认为问题在于它使用的值范围。图像仅使用 16 位中的 10 位来表示图像。 mhus缩放不准确,图像与使用任何DICOM查看器软件都可以看到的图像不一样。
  • 查看此链接了解如何使用的详细信息:stackoverflow.com/questions/44924335/…
  • HI 假设我们有 16 位的 winodw 中心 L 和窗口宽度 W 的 dicom 图像,如果我们将其转换为 8 位负图像,转换公式应该是什么?

标签: c++ image-processing dicom decoding grayscale


【解决方案1】:

关于Rescale Slope/Intercept:它是一个线性方程,所以每个像素值都是通过

<output pixel value> = <value from pixeldata attribute> * RescaleSlope + RescaleIntercept

这是窗口方程的输入。确切的窗口方程是here

关于倒置像素:属性(0028,0103)可能设置为MONOCHROME1,意思是:min=white,max=black(或“黑骨”约定,即图像包含管间组织引起的衰减和检测器)。这称为极性变换,发生在像素值变换管道的末端。

所以你的步骤:

  • 应用重新调整斜率/截距

  • 应用窗口

  • 如果 PixelRepresentation==MONOCHROME1 -> 反转生成的查找表

【讨论】:

    【解决方案2】:

    没有唯一的响应。

    您必须记住,16 位图像(存储的位)比具有 8 位图像的图像包含更多信息。这些信息一般不能同时显示,您必须更改用于显示图像的参数。

    在 DICOM 图像中,有不同的 DICOM 标记告诉您如何解释数据像素。 可能有查找表,和/或斜率截距,和/或窗口宽度-窗口中心标签。 我觉得你得看看这里

    Window width and center calculation of DICOM image

    【讨论】:

    • HI 假设我们有 16 位的 winodw 中心 L 和窗口宽度 W 的 dicom 图像,如果我们将其转换为 8 位负图像,转换它的公式应该是什么?
    猜你喜欢
    • 1970-01-01
    • 2015-08-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-07
    • 2013-01-06
    • 1970-01-01
    相关资源
    最近更新 更多