首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >渐升斜率与渐升截距

渐升斜率与渐升截距
EN

Stack Overflow用户
提问于 2012-04-17 15:15:16
回答 2查看 22.6K关注 0票数 20

我对rescale斜率渐升截距CT DICOM中没有几个问题。

  1. 是否用于将原始数据从扫描仪传输到Hounsfield数据集,其中水为0,空气为-1000?
  2. I在图像显示组中。如何才能知道渐升斜率和渐升截距values?
  3. What's,以及渐升斜率和渐升截距的确切含义?他们是如何确定的?
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-04-17 19:30:13

正如标签0028,1054中所指定的,渐变斜率和渐强截取允许将像素值转换为HU或其他单元。

对于CT图像,单元应该是HU (Hounsfield),当标签0028,1054不存在时,默认值实际上是HU。然而,标签可能存在并且可以指定不同的单元(OD=optical密度,US=unspecified)。

渐升斜率和截距由硬件制造商决定。

如果从原始像素值到Hounsfield或光密度的转换不是线性的,则应用LUT。

请查看标准C.11的第3部分,以获得更详细的信息,以及这个答案Window width and center calculation of DICOM image

票数 25
EN

Stack Overflow用户

发布于 2019-09-19 20:37:43

这就是我的实现:

代码语言:javascript
复制
def window_ct(dcm, w, c, ymin, ymax):
    """Windows a CT slice.
    http://dicom.nema.org/medical/dicom/current/output/chtml/part03/sect_C.11.2.html

    Args:
        dcm (pydicom.dataset.FileDataset):
        w: Window Width parameter.
        c: Window Center parameter.
        ymin: Minimum output value.
        ymax: Maximum output value.

    Returns:
        Windowed slice.
    """
    # convert to HU
    b = dcm.RescaleIntercept
    m = dcm.RescaleSlope
    x = m * dcm.pixel_array + b

    # windowing C.11.2.1.2.1 Default LINEAR Function
    #
    y = np.zeros_like(x)
    y[x <= (c - 0.5 - (w - 1) / 2)] = ymin
    y[x > (c - 0.5 + (w - 1) / 2)] = ymax
    y[(x > (c - 0.5 - (w - 1) / 2)) & (x <= (c - 0.5 + (w - 1) / 2))] = \
        ((x[(x > (c - 0.5 - (w - 1) / 2)) & (x <= (c - 0.5 + (w - 1) / 2))] - (c - 0.5)) / (w - 1) + 0.5) * (
                ymax - ymin) + ymin

    return y
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10193971

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档