matlab设置固定的窗宽窗位,python实现CT窗宽窗位的调整(即指定HU值保存图像)...
最近一直在做实验,所以好久没有更新了,先把上周做的一些小的实验贴出来供大家分享。
在医生诊断时,是会将CT图像调整成不同的窗来处理的。比如说肺部CT吧,肺窗(窗宽为2000,窗位为-400)用于看小的肺结节;腹部窗(窗宽400,窗位40)用于看大的肺结节和纵隔淋巴结,还有骨窗。所以在处理CT图像的时候会需要选择不同的窗,那么怎么来使得你的.dcm文件.IMA文件.mhd文件以不同的窗宽窗位显示:# -*- coding=utf-8 -*-
import dicom
import os
import cv2
import numpy
from os.pathimport splitext
def getfile(file):
dcm = dicom.read_file(file)
img2 = dcm.pixel_array * dcm.RescaleSlope + dcm.RescaleIntercept
return img2def get_window_size(window_type):
if window_type =='lung':
center = -500
width =2000
elif window_type =='abdomen':
center =40
width =400
elif window_type =='bone':
center =300
width =2000
return center, width#调整CT图像的窗宽窗位
def setDicomWinWidthWinCenter(img_data, window_type):
img_temp = img_data
rows =len(img_temp)
cols =len(img_temp[0])
center, width = get_window_size(window_type)
img_temp.flags.writeable =True
min = (2 * center - width) /2.0 +0.5
max = (2 * center + width) /2.0 +0.5
dFactor =255.0 / (max - min)
for iin numpy.arange(rows):
for jin numpy.arange(cols):
img_temp[i, j] =int((img_temp[i, j]-min)*dFactor)
min_index = img_temp <0
img_temp[min_index] =0
max_index = img_temp >255
img_temp[max_index] =255
return img_temppath ='G:\lowdosect\CH_image/quater_dose_image\L067/'
for root, dirs, filesin os.walk(path):
for i in range(0,len(files),10):
filename = splitext(files[i])[0] +"." +"bmp"
print(filename)
#print(files[i])
im = getfile(path+files[i])
im1 = setDicomWinWidthWinCenter(im,'bone')
cv2.imwrite("G:\lowdosect\CH_image/bone/quarter/" + filename, im1)
还不太会编辑,所以可能空格会有问题,我是在数据集里每10张处理一张存储到新的数据集里,希望对大家有帮助!
matlab设置固定的窗宽窗位,python实现CT窗宽窗位的调整(即指定HU值保存图像)...相关推荐
- matlab设置固定的窗宽窗位,【经验谈】如何设定窗宽窗位,附正常人体组织CT值...
让学习成为一种习惯! 医学影像服务中心拥有500病例征象+讲座 一般CT机可显示的CT值范围为-1000-+1000共2000个密度等级,而人的肉眼仅能识别16个灰阶,若把2000个CT值分成16个灰 ...
- 虚拟机下 linux 连接网络并设置固定ip
1.测试一下能否ping通baidu,命令:ping www.baidu.com 2. 无法识别,修改网关配置,进入cd /etc/sysconfig/network-scripts,执行vi i ...
- Chaquopy中不能导入64位Python训练的机器学习模型(32bit与64bit不兼容)
我在Chaquopy中利用joblib来load一个在pycharm中写好的AdaBoost模型: from joblib import dump, load filename = join(di ...
- CT图像之Hu值变换与窗宽窗位调整
今天通过分析实验结果,完善了之前的预处理代码,借此博文分享给大家,另外 点击此处可以查看预处理的完整代码,欢迎大家一起来完善. 最重要的是,欢迎大家的批评指正,您的建议和意见将会是我成长源泉. 接下来 ...
- CT医学影像的窗高窗位、CT值(Hu值)
CT医学影像的窗高窗位.CT值(Hu值) 1.CT医学影像的窗高窗位.CT值(Hu值)学习 CT扫描层面 冠状位. 矢状位.横断位的基本定义及部分正常人体组织的CT值(Hu)[CT扫描层面 冠状位. ...
- 开启微信悬浮窗权限有什么用_华为微信悬浮窗设置
手机为例,微信开启悬浮窗的方法为: 1.首先在手机桌面上打开[设置]应用,然后在设置页面点击[应用]选项进入. 2.接着打开[权限管理],再点顿面右上角的[权限]一项进入. 3.之后点击[悬浮窗],并 ...
- datagridview固定列宽_winform中的DataGridView的列宽设置
DataGridView有一个属性AutoSizeColumnMode,他有很多枚举值: 1.AllCells 调整列宽,以适合该列中的所有单元格的内容,包括标题单元格. 2.AllCellsExce ...
- VMware虚拟机安装CentOS6.4、部署web项目全过程(设置固定IP、安装JDK、Tomcat、Redis、部署项目)...
概述:该篇随笔介绍了在VMware上安装centOS.在centOS上安装JDK.安装Tomcat.安装Redis并部署项目的全过程,虽然参考了很多优秀的文章,但实践.整理.补充都很用心,若要复制粘贴 ...
- python遗传算法VRP硬时间窗(毕设纪念)
内容简介 纪念毕设,同时弥补了上个遗传算法的漏洞,虽然这次没有优化遗传算法的性能,但是遗传算法的思想和功能表现出来了.毕设做的是多起送点,多目标的配送路线优化,硬时间窗,三种货物或以下.目标函数追求: ...
最新文章
- AAAI2022最新「关系数据因果推理」报告,181页PPT阐述因果推理在网络数据中研究进展...
- Platform Builder和Embedded visual C++简介
- IP与DSCP优先级
- 链表常见面试题二:约瑟夫环
- MFC 自定义消息四步曲与在参数中传递变量
- [react] react16跟之前的版本生命周期有哪些变化?
- elasticsearch date_Elasticsearch在日志分析领域应用和运维实践
- python自学网站需要多长时间-怎么自学python,大概要多久?
- Android实现EditText禁止输入换行符但可以根据内容自动换行的解决方法
- 运用C#在采集时进行自动验证登录[转]
- php 父子id,父子关系PHP / MYSQL
- 机器视觉算法(数据结构)
- Java程序员常用软件
- Unity 粒子特效 之 LogoEffect ParticleSystem 文字图片logo粒子特效
- Excel学习笔记:P1-Excel入门
- HTTP接口的请求参数类型有哪些
- 默安科技关键信息基础设施安全防护论文入选中文核心期刊
- Android N 的新特性
- 半透明旋转魔方特效的实现
- OpenCV图像特征SIFT