python 设定mha文件中的窗位窗宽

打开一个mha文件,image intensity范围太广。我理解的image intensity就是像素强度值。在我们的项目中,我们只需要保留-125~225之间的像素强度。
在这里插入图片描述
调整代码如下:

def adjust_img_level_window():
    """
    调整CT图像的窗位窗宽,把像素强度低于minimum的都改为minimum,把大于maximum都改为maximum
    读取指定路径的mha文件,调整后,另存到指定路径中
    """
    # 读入原始CT图像
    images_names = os.listdir(env.TRAIN_IMAGES_DIR)
    for file_name in images_names:
        # 读取图片
        img_path = os.path.join(env.TRAIN_IMAGES_DIR, file_name)
        mha_img = sitk.ReadImage(img_path)
        img_arr = sitk.GetArrayFromImage(mha_img)  # ndarray类型,每个数据的type是什么呢?

        # 调整窗位窗宽(pixel intensity < minimum的变成纯黑,pixel intensity > maximux的变成纯白)
        # 相当于去噪?
        level = 50  # 窗位
        window = 350  # 窗宽
        window_minimum = level - window / 2  # 设定窗位窗宽后,这就是对应的最小强度值和最大强度值
        window_maximum = level + window / 2
        img_arr[img_arr < window_minimum] = window_minimum
        img_arr[img_arr > window_maximum] = window_maximum

        # 保存图片
        mha_img = sitk.GetImageFromArray(img_arr)
        save_name = os.path.splitext(file_name)[0] + ' - processed.mha'
        sitk.WriteImage(mha_img, os.path.join(env.TRAIN_PROCESSED_IMAGES_DIR, save_name))

代码完成的功能只是把矩阵里面的数值改变了,像素点还是原来那么多。
下面是调整后。可以从图中明显看出首尾多了很多像素点。
在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值