ITK (1)窗宽窗位的意义与设置

news2024/9/22 21:15:24

背景与意义

医学图像与传统可视化图像相比,其具有更大的“灰度”范围。如,普通图像(灰度图像)的灰度范围一般是256级(即图像中最亮的点的灰度值定义为0,最亮的定义为255,也就是2^8,所谓的8位二进制图像),而医学图像基于其特殊性,灰度级较普通图像会高很多。
在人体组织在CT上能分辨出2000(从-1000到+1000)个不同的灰度,而人眼只能分辨16个灰度,将这2000个CT值用16阶灰度反应的话,人眼能够分辨的CT值则为2000/16=125Hu,即组织CT值相差125Hu以上,人眼才能分辨出来。但人体组织间的CT值通常相差不大,为了能够对CT值相差小的组织进行分辨,提出窗宽窗位的概念。
为了更好的显示图像的全部信息,以及区分不同组织间的区别,对于非特定组织可以通过设置图像的上下限来突出表现感兴趣区域组织的特点和相邻组织的轮廓,使用“窗宽”“窗位”来处理。

窗宽

window width:表示所显示强度值的范围。简单来说就是范围。

通俗解释与理解:窗宽是CT图像上显示的CT值范围,在此CT值范围内的组织和病变均以不同的模拟灰度显示。而CT值高于此范围的组织和病变,无论高出程度有多少,均以白影显示,不再有灰度差异;反之,低于此范围的组织结构,不论低的程度有多少,均以黑影显示,也无灰度差别。增大窗宽,则图像所示CT值范围加大,显示具有不同密度的组织结构增多,但各结构之间的灰度差别减少。减小窗宽,则显示的组织结构减少,然而各结构之间的灰度差别增加。如观察脑质的窗宽常为-15~+85H,即密度在-15~+85H范围内的各种结构如脑质和脑脊液间隙均以不同灰度显示。而高于+85H的组织结构如骨质几颅内钙化,其间虽有密度差,但均以白影显示,无灰度差别;而低于-15H组织结构如皮下脂肪及乳突内气体均以黑影显示,其间也无灰度差别。

窗位

window level:表示图像灰阶的中心位置。简单来说就是中心。
通俗解释与理解:窗位是窗的中心位置,同样的窗宽,由于窗位不同,其所包括CT值范围的CT值也有差异。例如窗宽同为100H,当窗位为0H时,其CT值范围为-50~+50H;如窗位为+35H时,则CT值范围为-15~+85H。通常,欲观察某以组织结构及发生的病变,应以该组织的CT值为窗位。例如脑质CT值约为+35H,则观察脑组织及其病变时,选择窗位以+35H为妥。 在这里插入图片描述
PS:如图可以看出,在小于指定的值(窗位-0.5窗宽)的范围,直接设置其灰度值为统一的最小值,在大于指定的值(窗位+0.5窗宽)的范围,直接设置其灰度值为统一的最大值。
此时就可以实现对那些我们不感兴趣的区域(像素值在最大最小范围外的不予与考虑),这时候,再以同样的显示(或者处理)在同样的显示器上看到,在“窗宽”范围内的各组织间的区别就被更加凸显的体现出来。

ITK实现

//定义图像类型
	using OutputPixelType = short;
	using OutImageType = itk::Image<OutputPixelType, 2>;
	//定义截取上下限滤波器
	typedef itk::IntensityWindowingImageFilter <OutImageType , OutImageType> IntensityWindowingImageFilterType;
	IntensityWindowingImageFilterType::Pointer intensityFilter = IntensityWindowingImageFilterType::New();
	//窗宽窗位如果是外部传入,分别为WL和WW
	//窗位
    float WL = ...;
    float WW = ...;
    low_threshold = WL - (WW / 2.0f);
    high_threshold = WL + (WW / 2.0f);
    //如果需要处理后图像是short型,最简单的处理就是直接以上下限为最大最小值,并对其数值取整
	int MaxGrayValue = high_threshold ;
	int MinGrayValue = low_threshold ;
	//设置输入图像
	intensityFilter->SetInput(img.GetPointer());
	//设置下限阈值
	intensityFilter->SetWindowMinimum(low_threshold);
	//设置上限阈值
	intensityFilter->SetWindowMaximum(high_threshold);
	//设置下限之下的图像的灰度值
	intensityFilter->SetOutputMinimum(MinGrayValue );
	//设置上限之上的图像的灰度值
	intensityFilter->SetOutputMaximum(MaxGrayValue );
	intensityFilter->Update();

效果

原图的显示效果
在这里插入图片描述

增加了窗宽窗位的效果
窗位设置为:57.6
窗宽设置为:1.0
在这里插入图片描述
如上图所示,对于脑部外圈的诸多点,通过特定的窗宽窗位的调节,可以将外部点进行有效显示,便于后续的提取和其他处理。

结论

通过对窗宽窗位的设置,可以有效的凸显感兴趣区域。结合相关的实验,可以对同类型设备及同类型组织的提取,做到自动化的效果,有效图区特定组织,对非感兴趣组织进行有效屏蔽(大于和小于阈值的内容)。

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

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

相关文章

【图像处理OpenCV(C++版)】——2.1 深入理解OpenCV之Mat类及相关成员函数

前言&#xff1a; &#x1f60a;&#x1f60a;&#x1f60a;欢迎来到本博客&#x1f60a;&#x1f60a;&#x1f60a; &#x1f31f;&#x1f31f;&#x1f31f; 本专栏主要结合OpenCV和C来实现一些基本的图像处理算法并详细解释各参数含义&#xff0c;适用于平时学习、工作快…

【论文阅读31】《OptCuts: Joint Optimization of Surface Cuts and Parameterization》

目录 一些疑惑 0 引言 1 introduction 2 related work 2.1 parameterization with fixed connectivity 2.2 Separate Cut Computation 3 problem statement ​编辑​ 3.1 数学形式1 3.2 数学形式2 3.3 能量函数 3.3.1 接缝线长度&#xff08;归一化&#xff09;&am…

程序员们,你会考虑使用中文编程吗?

众所周知&#xff0c;编程语言有一条无形的“鄙视链”。 Java和C#相互不服&#xff0c;并且看不起写Python的&#xff0c;Python看不起PHP&#xff0c;PHP看不起前端。而中文编程就在这个语言“鄙视链”的底端艰难生存。 有人对中文编程嗤之以鼻&#xff0c;相比于“人生苦短…

免费网课题库系统接口

免费网课题库系统接口 本平台优点&#xff1a;免费查题接口搭建 多题库查题、独立后台、响应速度快、全网平台可查、功能最全&#xff01; 1.想要给自己的公众号获得查题接口&#xff0c;只需要两步&#xff01; 2.题库&#xff1a;题库后台http://daili.jueguangzhe.cn/ 题…

[附源码]计算机毕业设计JAVA职业中介信息管理系统

[附源码]计算机毕业设计JAVA职业中介信息管理系统 项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM my…

Java进阶——IO流(I)

文章目录IO流一、文件1.1、文件流1.2、常用的文件操作1.2.1、创建文件对象相关构造和方法1.2.2、获取文件的相关信息1.2.3、目录的操作和文件删除二、IO流原理及流的分类2.1、Java IO流的原理2.2、流的分类2.3、IO流常用的类2.3.1、InputStream&#xff1a;字节输入流FileInput…

SSH 远程连接协议详解

一、SSH 协议 1、SSH 协议简介 SSH全称是Secure Shell,SSH协议是基于应用层的协议,为远程登录会话和其他网络服务提供安全性的协议。 SSH使用最多的是远程登录和传输文件,实现此功能的传统协议都不安全(ftp、telnet等),因为它们使用明文传输数据,而SSH在传输过程中的…

【云原生.docker】docker部署Redis集群

1、镜像拉取 docker pull redis:5.0.5 2、容器启动 docker run -d --nameredis-6400 --net host --privilegedtrue -v /home/dev/toms/docker_redis/data/redis-6400:/data redis:5.0.5 --cluster-enabled yes --appendonly yes --port 6400 & docker run -d --nameredis-…

在抖音及一些直播上,如何进行违禁词在线检测呢?

本文首发于&#xff1a;行者AI谛听 随着直播行业的兴起&#xff0c;越来越多的网红主播纷纷加入&#xff0c;平台的审核能力也面临着巨大的挑战&#xff0c;相对于平台的严格监管&#xff0c;很多主播也需要进行深层学习&#xff0c;避免在直播中出行违规。 其实很多主播在直播…

2023最新SSM计算机毕业设计选题大全(附源码+LW)之java小型餐饮综合管理系统j1c7m

首先选择计算机题目的时候先看定什么主题&#xff0c;一般的话都选择当年最热门的话题进行组题&#xff0c;就比如说&#xff0c;今年的热门话题有奥运会&#xff0c;全运会&#xff0c;残运会&#xff0c;或者疫情相关的&#xff0c;这些都是热门话题&#xff0c;所以你就可以…

文档对象模型 (DOM) :初学者介绍和指南

果你已经使用JavaScript一段时间了&#xff0c;你可能相当熟悉DOM&#xff08;文档对象模型&#xff09;和CSSOM&#xff08;CSS对象模型&#xff09;脚本。除了 DOM 和 CSSOM 规范定义的接口之外&#xff0c;CSSOM 视图模块中还指定了方法和属性的子集&#xff0c;从而提供了用…

Vue3知识点之数据侦测

Vue 的核心之一就是响应式系统&#xff0c;通过侦测数据的变化&#xff0c;来驱动更新视图。 实现可响应对象的方式 通过可响应对象&#xff0c;实现对数据的侦测&#xff0c;从而告知外界数据变化。实现可响应对象的方式&#xff1a; getter 和 setterdefinePropertyProxy …

IB课程工具书单,助力你考高分

亚马逊汇总了近期最畅销的IB课程工具书单&#xff0c;该书单以购买量和评分进行综合排名。其中的许多书籍都是IBDP学生可选用的绝佳工具书&#xff01;1、Physics for the IB Diploma Coursebook 这本书涵盖了IB 2016年首考的物理课程要求。这本课程手册的第六版针对IB物理教学…

写出go程序

1.安装go包 下载地址&#xff1a;https://golang.google.cn/dl/ 2.安装vscode 下载地址&#xff1a;https://code.visualstudio.com/ 安装好后 以打开文件夹形式打开.go文件。 该文件自己创建一个即可。

怎么视频提取音频文件?分享这3种简单实用的提取方法

不知道大家平时用手机刷视频的时候&#xff0c;会不会被一些好听的背景音乐给吸引了呢&#xff1f;这些背景音乐大多都是网友们自己合成导入视频上传的&#xff0c;可能在许多音乐平台都不能找到音源播放。遇到这样的情况&#xff0c;大家一定都很苦恼吧&#xff1f;但其实&…

Fluorescein(5-isomer)-DBCO,2054339-00-1,二苯基环辛炔-FITC(5-异构体)

一、理论分析&#xff1a; 中文名&#xff1a;二苯基环辛炔-FITC(5-异构体)&#xff0c;二苯并环辛炔-荧光素(5-异构体) 英文名&#xff1a;DBCO-FITC(5-isomer)&#xff0c;5-FITC-DBCO&#xff0c;Fluorescein(5-isomer)-DBCO CAS号&#xff1a;2054339-00-1 化学式&#xff…

遥感影像目标检测:从CNN(Faster-RCNN)到Transformer(DETR)实践技术应用

我国高分辨率对地观测系统重大专项已全面启动&#xff0c;高空间、高光谱、高时间分辨率和宽地面覆盖于一体的全球天空地一体化立体对地观测网逐步形成&#xff0c;将成为保障国家安全的基础性和战略性资源。未来10年全球每天获取的观测数据将超过10PB&#xff0c;遥感大数据时…

代码随想录第一天

专题&#xff1a;数组 题目&#xff1a;二分查找 题目要求&#xff1a; 给定一个 n 个元素有序的&#xff08;升序&#xff09;整型数组 nums 和一个目标值 target &#xff0c;写一个函数搜索 nums 中的 target&#xff0c;如果目标值存在返回下标&#xff0c;否则返回 -1。…

信号相角位移量的计算与信号位移计算-附Matlab代码

一、初始相角的位移量 在信号处理中正弦信号经常表示为 x(n)Acos⁡(2πf0n/fsθ)x\left( n \right)A\cos (2\pi {{f}_{0}}n/{{f}_{s}}\theta )x(n)Acos(2πf0​n/fs​θ)&#xff0c;其中 fs{{f}_{s}}fs​是采样频率&#xff0c; f0{{f}_{0}}f0​是正弦信号的频率&#xff0c;…

volatile关键字的原理和要避免的误区

1>防止指令重排 2>禁用工作内存缓冲区&#xff0c;直接使用主内存。 经典使用场景 场景1 public static Singleton getInstance() { //第一次null检查 if (instance null) { synchronized (Singleton.class) { //1 //第二次null检查 if (instance null) { //2…