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张处理一张存储到新的数据集里,希望对大家有帮助!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/498619.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

重磅 | 周志华最新论文:首个基于决策树集成的自动编码器,表现优于DNN

来源&#xff1a; AI科技大本营概要&#xff1a;深度神经网络需要花大力气调参&#xff0c;相比之下 gcForest 要容易训练得多。此外&#xff0c;深度神经网络需要大规模的训练数据&#xff0c;而 gcForest 在仅有小规模训练数据的情况下也照常运转。今年 2 月&#xff0c;南京…

adv是php系统标签,whatsns开源php系统网站SEO优化之网站首页,问题详情,文章详情,标签详情,栏目详情TDK优...

网站首页优化TDK可以进入后台&#xff0c;系统设置--站点设置中&#xff0c;设置网站首页别名官方首页名称优化--长尾关键词【whatsns知识库开源内容付费php问答系统】&#xff0c;这样百度搜索问答系统&#xff0c;开源php问答系统&#xff0c;php问答系统&#xff0c;付费问答…

MIT联合波士顿咨询:全球21个行业,对话3000名高管,AI如何重塑商业形态? | 雷报

来源&#xff1a;雷锋网概要&#xff1a;目前只有14%的调查对象认为&#xff0c;AI对他们现在的产品或服务已经有了很大的影响。但对于5年后的情况&#xff0c;这一比例上升到63%。人工智能已经成了一个新的风口&#xff0c;人人都在谈论人工智能&#xff0c;但是&#xff0c;企…

pay.onzan.en app.php,IBOS 协同办公平台PHP版 v1.0

/** 基于本地数据拼音匹配引擎* Version 0.3 简体中&#xfffd;?繁体中文* Date: 2011-09-19* 链接已屏蔽* (c) 2009-2010 TangBin, 链接已屏蔽** This is licensed under the GNU LGPL, version 2.1 or later.* For details, see: http://creativecommons.org/licenses/LGPL…

智能体到底是什么?这里有一篇详细解读

来源&#xff1a;机器人圈概要&#xff1a;根据我们希望实现的目标以及衡量其成功的标准&#xff0c;我们可以采用多种方法来创建人工智能。根据我们希望实现的目标以及衡量其成功的标准&#xff0c;我们可以采用多种方法来创建人工智能。它涵盖的范围极其广泛&#xff0c;从自…

人类PK机器:人工神经网络和生物神经网络的比较

原文作者&#xff1a;MADELINESCHIAPPA译者&#xff1a;李凌概要&#xff1a;通过对生物学习与人工智能进行的比较&#xff0c;我们可以建立一个更安全的基础设施系统。 通过对生物学习与人工智能进行的比较&#xff0c;我们可以建立一个更安全的基础设施系统。 本文由Sophos的…

h5大转盘 php,HTML5 canvas实现中奖转盘的实例代码

本篇文章给大家带来的内容是关于HTML5 canvas实现中奖转盘的实例代码&#xff0c;有一定的参考价值&#xff0c;有需要的朋友可以参考一下&#xff0c;希望对你有所帮助。最近在学canvas做动画&#xff0c;于是就写个转盘练下手。上个简陋的成果图(中间那个是转的指针&#xff…

php 商品显示,php – WooCommerce仅显示购买的商品

您可以采取至少两种不同的方法来解决此问题.第一种是从每个帖子中获取产品,然后从每个产品中获取产品ID,然后使用if语句过滤使用wc_customer_bought_product或woocommerce_customer_bought_product(如果您使用的是旧的WooCommerece).第一种方法的一个例子是$user_id get_curre…

硬件巨头正在崛起,中国独占鳌头

来源&#xff1a;亿欧概要&#xff1a;四年前&#xff0c;当第一份独角兽名单产生时&#xff0c;名单上有39家创业公司&#xff0c;其中只有一家是硬件公司。今天&#xff0c;世界上有大约213家独角兽&#xff0c;其中有18家是硬件创业公司。考虑到硬件只占全球科技创业公司的一…

MATLAB显示错误使用untitled,使用Matlab 2016a阻止集合构建错误

matlab R2016a.OS&#xff1a;我所生成的Windows 10All是Master Block&#xff0c;除了用于测试用例之外&#xff0c;没有其他任何东西&#xff0c;我得到以下错误&#xff1a;请帮助我完成这项工作&#xff0c;因为我确实需要完成一些工作。Ali以上来自于百度翻译以下为原文Hi…

神经网络:你的大脑是一台计算机吗?

原作者:ShamliPrakash译者&#xff1a;彭婷概要&#xff1a;大约三年前&#xff0c;当我怀孕盼着儿子出生的时候&#xff0c;朋友送了我Lise Eliot写的“What’s Going on in There?”的书。大约三年前&#xff0c;当我怀孕盼着儿子出生的时候&#xff0c;朋友送了我Lise Elio…

swift怎么调用Java,Swift完成UIAlertController的调用

Swift完成UIAlertController的调用iOS8中的UIAlertView和UIActionSheet已经都被UIAlertViewController代替了&#xff0c;所以&#xff0c;本篇blog就来探讨下如何用swift生成提示框。我们先来看一下Apple的UIAlertController的文档&#xff1a;import Foundationimport UIKit/…

深度 | 三大痛点左右着中国服务机器人产业发展

来源&#xff1a; 机器人内参概要&#xff1a; 从全球角度看&#xff0c;以智能服务机器人为主的机器人产业在不断发展&#xff0c;产业规模及市场空间持续扩张。目前全世界至少有48个国家在发展机器人&#xff0c;其中25个国家已涉足服务机器人开发&#xff0c;掀起一波服务机…

php fork 相关函数,C语言fork函数创建进程详解

在linux下&#xff0c;C语言创建进程用fork函数&#xff0c;接下来我们通过代码来一步步了解fork函数的各个知识点。1、依赖的头文件#include 2、fork的原理和概念fork子进程就是从父进程拷贝一个新的进程出来&#xff0c;子进程和父进程的进程ID不同&#xff0c;但用户数据一样…

oracle12c没有有sqlnet文件,Oracle的sqlnet.ora文件配置

DBA对这个文件一定不会陌生,大家了解最多的也一定是sqlnet.ora用来决定oracle怎么解析一个连接中出现的字符串&#xff0c;例如&#xff1a;sqlplus sys/oracleorcl那么这个orcl怎么解析&#xff1f;如果你的sqlnet.ora这样配置的&#xff1a;SQLNET.AUTHENTICATION_SERVICES (…

华为云AI开发部总经理罗华霖:华为人工智能的实践与创新

来源&#xff1a;亿欧作者&#xff1a;罗华霖概要&#xff1a;9月21-22日&#xff0c;由深圳市罗湖区人民政府指导、亿欧公司主办的“GIIS-全球产业创新峰会”在罗湖区京基100瑞吉酒店盛大启幕。9月21-22日&#xff0c;由深圳市罗湖区人民政府指导、亿欧公司主办的“GIIS-全球产…

oracle drop 提交,oracle drop 存储过程

Oracle中删除用户遇到的问题我新建了一个用户xy&#xff0c;并导入了一些表&#xff0c;序列&#xff0c;存储过程在其中。现在我用删除该用户出现问题执行drop user xy&#xff0c;报错ORA-01922: 必须指定 CASCADE 以删除 XY问题原因CASCADE众所周知是级联的意思&#xff0c;…

Michael I. Jordan——计算思维、推断思维与数据科学

来源&#xff1a;图灵人工智能概要&#xff1a; Michael I. Jordan 是机器学习、统计机器学习泰斗&#xff0c;是贝叶斯网络、概率图模型、层次随机过程等多个重要方向的主要奠基者之一&#xff0c;也是统计学与机器学习交叉融合的主要推动者之一。Michael I. Jordan 是机器学习…

%3c php foreach%3e,PHP 数组函数-数组排序

php数组排序函数sort ( &$arr [,fruits] ) 对数组进行从低到高排序 &#xff0c;并赋予新的键名 返回boolrsort ( &$arr [,fruits] ) 对数组进行逆向排序 并赋予新的键名asort ( &$arr [,fruits] ) 对数组进行排序 &#xff0c;并保持索引不变arsort( &…

Google Brain 团队的研究方法

来源&#xff1a;全球人工智能概要&#xff1a;大约一年之前&#xff0c;Google Brain 团队首次分享了我们的使命&#xff1a;让机器拥有智慧&#xff0c;造福人类生活。大约一年之前&#xff0c;Google Brain 团队首次分享了我们的使命&#xff1a;让机器拥有智慧&#xff0c;…