dcm|dicm是医学图像常见格式(IMA可看作dicm同类型的格式[1]),是直接能从机器上获得的图像格式,但是如果使用深度神经网络进行处理和其他操作需要对原始的图像格式进行处理才能够使用。

首先对于CT图像需要明确的是我们从机器上获得的是X ray穿过物体后投影在探测器上,探测器接收的数据是投影的数值(projection data-->sinogram(projection image) 这个过程也要进行数值转换,如取对数等操作).

dicm应该是对投影后数据前处理完毕进行重建后的图像,但是图像的像素值并不一定以Hu为单位(应该跟厂家有关,比如IMA是西门子CT设备产生的图像,不是HU单位),因此要查看dicm文件的文件头信息确认像素值的单位,如果不是HU需要处理[2]。

对于IMA文件第一步转换为HU格式,第二步进行调窗,第三步可根据情况缩放范围自行选择处理或者不处理送给神经网络或者其他操作。

(1)转换为HU格式:[3,4]中大致讲清楚了转换的方法,但是实现对于我想使用单张图像转换不太好用,因此参考代码有如下改动。

def getCtHU(dicm):'''直接传入dicm文件/IMA文件'''img=np.array(dicm.pixel_array).astype('int32')img[img == -2000.0] = 0Hu = np.array(img).astype('float64')RescaleIntercept = dicm.RescaleInterceptRescaleSlope = dicm.RescaleSlopeif RescaleSlope != 1:Hu = Hu * RescaleSlopeHu += RescaleInterceptreturn Hu

(2)获得HU为单位的图像的矩阵后,需要针对HU图像进行调窗,以适应于我们对不同部位的图像进行分析(医学图像中不同部位的适用的HU范围不同,这个范围叫做窗口),在imageJ中窗口的大小叫做window,窗口的中心叫做level,在这几个参考的帖子中有不同的叫法,在此按照ImageJ 的名称[5,6]。

def windowsLevelTransform(Hu, window, level):img = Humin = level - float(window) * 0.5;max = level + float(window) * 0.5;img[img < min] = minimg[img > max] = maxnorm_ = (img - min) / windownorm_.astype('float32')return norm_

调窗后的数据就是想要查看的数据范围了,在这里对不同部位调窗的数据值设定也不相同[7].


调窗前

调窗后

reference

  1. (21条消息) python如何打开.ima文件格式的医学影像(已爬坑,.IMA为西门子CT设备的另一种医学影像文件格式)_巨魔战将-CSDN博客_ima文件

  2. (21条消息) Dicom 图像--像素值(灰度值)转为CT值_小可爱的博客-CSDN博客_ct值转灰度值
  3. 成熟的医学影像“调窗”(window-leveling)算法详解 - 微笑的艾米 - 博客园 (cnblogs.com)Full Preprocessing Tutorial | Kaggle
  4. 处理医疗影像的Python利器:PyDicom - 知乎 (zhihu.com)
  5. (21条消息) 医学图像预处理(三)——windowing(ct对比增强)_normol的博客-CSDN博客_ct图像预处理
  6. CT的窗宽,窗位到底是什么意思? - 知乎 (zhihu.com)
  7. 图像识别 | 计算机断层扫描基础:加窗 - 知乎 (zhihu.com)
  8. (21条消息) 手把手教你用python实现机器学习预测疾病_程序员石磊-CSDN博客_机器学习 疾病预测
  9. 常见医疗扫描图像处理步骤 - 知乎 (zhihu.com)

DICM(DICOM), IMA 医学图像 预处理 调窗(window-leveling)相关推荐

  1. 【转】医学影像调窗技术!!!!

    转自:https://www.cnblogs.com/assassinx/p/3139505.html 在年初的时候做过一个dicom格式文件解析,当时只是提了下.看着跟别人的显示出来也差不多 其实是 ...

  2. dicom文件_图像识别 | 使用Python对医学Dicom文件的预处理(含代码)

    前沿 在处理医学图像时,常常会遇到以Dicom格式保存的医学图像,如CT.MRI等.Dicom文件是需要专门的软件或者通过编程,应用相应的库进行处理.为了能够更好地服务下游任务,例如分割或检测腹腔CT ...

  3. python dicom 器官分割_图像识别 | 使用Python对医学Dicom文件的预处理(含代码)

    前沿 在处理医学图像时,常常会遇到以Dicom格式保存的医学图像,如CT.MRI等.Dicom文件是需要专门的软件或者通过编程,应用相应的库进行处理.为了能够更好地服务下游任务,例如分割或检测腹腔CT ...

  4. 用于深度学习的医学图像预处理

    用于深度学习的医学图像数据,往往非常庞大,如果从网上下载公开数据集数据,往往有几十GB的图象数据,我们需要先进行预处理,将其转换成适合深度学习网络训练的形式:        变为      或者我们还 ...

  5. 【转】医学图像中的窗宽、窗位!!

    在CT等医学影像显示领域,我们经常会听到窗宽(Window Width,简写WW).窗位(Window Level,简写WL)的概念,那么到底什么是窗宽.窗位,它们跟医学图像之间的关系又是什么?   ...

  6. 医学图像预处理(三)——windowing(ct对比增强)

    若是dicom格式的图片,得先转化为hu值(即ct图像值,若图片本来就是ct,则不需要转换)(见下面更新内容) ,因为hu值是与设备无关的,不同范围之内的值可以代表不同器官.常见的对应如下(w代表ct ...

  7. 项目中的一个技术方案替换历程(surfaceview+fragment 变成悬浮窗window)

    背景: 项目中UI层有SurfaceView,其渲染展示的是摄像机等采集画面,但是测试提了一个问题单,如果在当前页面中跳出到其他页面,会crash,经过log分析,是由于surfaceview 在失去 ...

  8. X线DR医学图像 --- 直方图的窗宽窗位调整(Matlab篇)

    X线图像直方图的窗宽窗位的调整 图像的直方图显示了图像的灰阶分布.说白了就是,显示了图像当中每一个点的亮度分布情况(整个图像当中比较亮的点有多少个,黑的点又有多少个.反之,也可以看出某个点是落在了亮的 ...

  9. 图像块的访问(填充 padding,步长 stride,窗 Window/kernel/filter)

    无填充是有填充的特例(填充为 1). utilities(matlab)-- 图像分块(image2cols.cols2image)(未填充) 1. 一个图像块 ⇒ 返回一个值 输出矩阵的大小: ou ...

  10. 医学图像预处理(五) 器官与病灶的直方图

    事情起因是: 用模型训练分割肝脏,效果还不错.但是训练分割肝脏肿瘤时,dice系数很低.由于已经经过ROI处理,和图像预处理过程,所以只可能是数据层面出现了问题.经过查看,发现很多ct图是即使用肉眼也 ...

最新文章

  1. js 使用a标签 下载资源
  2. linux cache控制 内核,linux内核之bcache简介 [转]
  3. 开源 java CMS - FreeCMS2.6 模型管理
  4. python基础知识~ 等值判断和码
  5. 思科模拟器。计算机网络实验之四:RIPv2配置
  6. Python正则表达式案例一则:单词非两端字符改为小写
  7. Java设计模式—工厂方法模式抽象工厂模式
  8. 【干货】深度学习实验流程及PyTorch提供的解决方案
  9. angular中利用zone避归没必要的开销提高程序的性能demo
  10. Julia: map,reduce,mapreduce
  11. web前端开发技术实验与实践(第三版)储久良编著 项目14 设计中国教育网络杂志简介
  12. 新侨快讯:官方公布加拿大时薪最高和最低的工作,你的行业上榜吗?
  13. 数据搜索的新战场,我们为什么需要向量数据库?
  14. 联盟链Quorum(基于raft共识)部署流程(三)- 部署基于Quorum链的区块链浏览器
  15. 【装机吧U盘装系统】
  16. Hyper-v集群高可用性配置
  17. 【BZOJ4864】[BeiJing 2017 Wc]神秘物质 Splay
  18. Beautiful Soup 之 select详解
  19. 引水工程 Kruskal + Prim
  20. 关于华为的HCIE和HCIP证究竟怎么样?以后发展趋势好吗?

热门文章

  1. DEV CPP中使用Clang
  2. 【工作周报】2019年7月 前端开发工作周报汇总
  3. springboot集成微信APP支付V3最新版
  4. tomcat 服务器启动异常 报错
  5. 集成电路模拟版图入门-版图基础学习笔记(四)
  6. 微信小程序富文本去除首行缩进样式_小程序富文本处理wxParse
  7. [转]抢先Mark!微信公众平台开发进阶篇资源集锦
  8. 安装软件提示计算机管理员权限,Win7安装软件需要管理员权限的解决方法
  9. 高等数学(第七版)同济大学 习题7-5 个人解答
  10. 五大黑科技资源网站,你想要的这里都有