美文网首页
PIL保存dicom slice为16位灰度图

PIL保存dicom slice为16位灰度图

作者: Williamongh | 来源:发表于2020-01-15 01:48 被阅读0次
from PIL import Image

# img 为利用SimpleITK读取的医学影像 volume
img = sitk.GetArrayFromImage(img)
# 查询所需切片
for i in slices:
    img_i = Image.fromarray(img[i]).convert('I;16B')   # 转化格式为16位灰度图
    img_i.save('%d.tiff' % i)  # 16位灰度图仅支持保存为tiff格式

注意, 将图片转换为I;16B, 是为了节省保存空间, 否则会默认保存32位的I灰度图片类型下. 若有此需求, 一定要使用 img_i = Image.fromarray(img[i]).convert('I;16B'), 而不是 img_i = Image.fromarray(img[i], mode='I;16B'). 前者是保持灰度值不变的情况下, 将numpy数据转变为Image. 而后者会将灰度值缩放至[0, 65535]. 以上是通过np.unique(img)观察出来的.

其实直接存成numpy矩阵也可以, 但是存成图片格式, 方便后续直接使用torchvision.transformer, 尽管图片是全黑的, 无法肉眼阅读. 至于是否8位灰度图就足够了, 有没有必要保存成16位, 还有待验证.

准备后续同时保存一个加窗的8位带mask图片, 以方便肉眼阅片.

Reference
https://www.cnblogs.com/dylancao/p/9134790.html
https://www.xuebuyuan.com/882710.html

相关文章

  • pytorch/torchvision处理32位/16位灰度图的

    之前利用PIL把dicom的slice保存为了16位灰度图, 用torchvision.transform做图像增...

  • PIL保存dicom slice为16位灰度图

    注意, 将图片转换为I;16B, 是为了节省保存空间, 否则会默认保存32位的I灰度图片类型下. 若有此需求, 一...

  • 创意终端影集

    左侧效果图: 实现思路: 通过python的PIL库,将彩色转黑白(256种灰度),创建字符集,建立字符集与灰度的...

  • 什么是窗宽和窗位

    要理解什么是窗宽和窗位的概念,首先得知道图片灰度(可参考DICOM图像中灰度理解[https://www.jian...

  • numpy

    灰度图保存为三通道 数据类型转换问题

  • 零碎示例整理

    记录一些遇到的坎,为自己为他人 File 读取Image 不保存 File读取PIL.Image,但不保存到本地。...

  • DICOM图像中灰度理解

    背景 前段时间项目组开发了一款在线影像文件质控的web工具,当时研究员提出了这样一个需求,当点击图像的某一个点时,...

  • 9.4直方图均衡化

    原图 原图直方图 灰度图 灰度直方图 均衡灰度图 均衡灰度直方图 均衡彩色图 均衡彩色直方图

  • ITK 实现 RBG 图片读取、平移旋转等操作

    灰度图读取介绍 itk 默认读取图片的格式为灰度图,读取过程分为下面三个部分: 定义 PixelType,一般 为...

  • opencv python版-lesson 01

    此为读取显示保存的方法,cv2.imread('opencv.jpg',0)读取灰度图 选择分支

网友评论

      本文标题:PIL保存dicom slice为16位灰度图

      本文链接:https://www.haomeiwen.com/subject/kqvzactx.html