C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

概念解释(网络资料)

窗宽:

窗宽指CT图像所显示的CT 值范围。在此CT值范围内的组织结构按其密度高低从白到黑分为16 个灰阶以供观察对比。例如,窗宽选定为100 Hu ,则人眼可分辨的CT值为100 / 16 =6 . 25 Hu ,即2 种组织CT值相差在6 . 25Hu以上者即可为人眼所识别。因此,窗宽的宽窄直接影响图像的清晰度与对比度。如果使用窄的窗宽,则显示的CT 值范围小,每一灰阶代表的CT 值幅度小,对比度强,适于观察密度接近的组织结构(如脑组织)。反之,如果使用宽的窗宽,则显示的CT值范围大,每一灰阶代表的CT 值幅度大,则图像对比度差,但密度均匀,适于观察密度差别大的结构。

窗位:
窗位(窗中心)指窗宽范围内均值或中心值。比如一幅CT图像,窗宽为100Hu,窗位选在0Hu;则以窗位为中心(0Hu),向上包括+50Hu,向下包括-50Hu,凡是在这个100Hu 范围内的组织均可显示出来并为人眼所识别。凡是大于+50Hu 的组织均为白色;凡是小子-50Hu 的组织均为黑色,其密度差异无法显示。人眼只能识别土50Hu 范围内的CT 值,每一个灰阶的CT 值范围是100 / 16=6 . 25 Hu 。
 
1.调窗
在PACS影像中,常用的功能一般是调窗、作用范围和自定义调窗
根据本系列文章中,在读取dicom影像时,可以获得dcm文件的窗宽窗位值:
//实例化文件处理对象并打开文件
DicomFile dicomFile = DicomFile.Open(@"C:\101\1.dcm");
//获取dicom图像对象
DicomImage dicomImage = new DicomImage(dicomFile.Dataset);
//获取窗宽
Console.WriteLine(dicomImage.WindowWidth);
//获取窗位
Console.WriteLine(dicomImage.WindowCenter);

在鼠标操作上,按住鼠标左右移动是调整窗宽,上下移动是调整窗位,记录鼠标按下时的位置和拖动坐标差,并重新设置影像的窗宽窗位:

//调整窗位
dicomImage.WindowCenter = 100;
//调整窗宽
dicomImage.WindowWidth = 100;

看效果:

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

 

2.自定义调窗

可以使用键值对或其他数据格式来保存和加载自定义窗宽窗位,常用参考值如下:

1、胸部CT检查时,肺窗纵膈窗窗宽、窗位分别是:

(1)肺窗WW1500—2000HU 、WL-450—-600HU

(2)纵膈窗WW250—350HU、WL30—50HU

2、骨窗、软组织窗窗宽、窗位

(1)骨窗WW1000—1500HU、WL250—350HU

(2)软组织窗WW300—500HU、WL40—60HU

3、窗宽和窗位设定

不同部位使用不同窗宽窗位,能较充分反映解剖内容和病灶影像表现,

头颅:脑组织窗宽设定为80 Hu~100 Hu,窗位为30 Hu~40 Hu,

垂体及蝶鞍区病变窗宽宜设在200 Hu~250 Hu,窗位45 Hu~50 Hu,

脑出血患者可改变窗宽位80 Hu~140 Hu,窗位30 Hu~50 Hu,

脑梗死患者常用窄窗60 Hu,能提高病灶的检出率,清楚显示梗死及软化灶,

颌面部眼眶窗宽定为150 Hu~250 Hu,窗位30 Hu~40 Hu,

观察骨骼时窗宽150 Hu~2 000 Hu,窗位400 Hu~450 Hu,

喉颈部、鼻咽、咽喉部的窗宽和窗位常设在300 Hu~350 Hu和30 Hu~50 Hu,能满足该部位的解剖和病灶显示,

胸部:常规胸部CT检查分别用纵隔窗及肺窗观察,纵隔窗可观察心脏、大血管的位置,

纵隔内淋巴结的大小,纵隔内肿块及这些结构的比邻关系,设定纵隔窗可用窗宽300 Hu~500 Hu,窗位30 Hu~50 Hu

根据此参考,我们可以设定一些默认的自定义调窗:

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

 

 

3.调窗的用作范围

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

根据之前的文章:C#开发PACS医学影像处理系统(八):单元格变换

当作用范围是全部时,遍历所有单元格和容器:

 for (int i = 0; i < Main.Mdiview.Cells.Count; i++)
      for (int j = 0; j < Main.Mdiview.Cells[i].BoxList.Count; j++)

当作用范围是序列时,只需遍历当前单元格容器:

 for (int i = 0; i < Cell.BoxList.Count; i++)

当作用范围是图像时,直接设置图像:

//调整窗位
dicomImage.WindowCenter = 100;
//调整窗宽
dicomImage.WindowWidth = 100;

效果:

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

 

 

C#开发PACS、RIS医学影像处理系统

目录整理:

(一)PACS客户端:

C#开发PACS医学影像处理系统(一):开发背景和功能预览

C#开发PACS医学影像处理系统(二):界面布局之菜单栏

C#开发PACS医学影像处理系统(三):界面布局之工具栏

C#开发PACS医学影像处理系统(四):界面布局之状态栏

C#开发PACS医学影像处理系统(五):查询病人信息列表

C#开发PACS医学影像处理系统(六):加载Dicom影像

C#开发PACS医学影像处理系统(七):读取影像Dicom信息

C#开发PACS医学影像处理系统(八):单元格变换

C#开发PACS医学影像处理系统(九):序列控件与拖拽

C#开发PACS医学影像处理系统(十):Dicom影像下载策略与算法

C#开发PACS医学影像处理系统(十一):Dicom影像挂片协议

C#开发PACS医学影像处理系统(十二):绘图处理之图形标记

C#开发PACS医学影像处理系统(十三):绘图处理之病灶测量

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

C#开发PACS医学影像处理系统(十五):基于体位图交叉定位线算法

C#开发PACS医学影像处理系统(十六):2D处理之平移和缩放

C#开发PACS医学影像处理系统(十七):2D处理之任意角度旋转与镜像翻转

C#开发PACS医学影像处理系统(十八):Dicom影像色彩增强(伪彩)

C#开发PACS医学影像处理系统(十九):Dicom影像反色处理(负片)

C#开发PACS医学影像处理系统(二十):Dicom影像放大镜功能

 

(二)PACS三维:MRP、MIP、VR

C#开发PACS医学影像三维重建(一):使用VTK三维重建Dicom影像

 

(三)PACS网页端:开发Web版本的PACS

C#开发Web端PACS(一):基于PACS客户端思想重写Web端

 

(四)PACS移动端:开发基于HTML5移动端版本的PACS

C#开发移动端PACS(一):使用HTML5和CSS3开发PACS手机端页面

C#开发移动端PACS(二):使用 .Net MVC 开发手机端PACS服务端

 

(五)PACS服务端:

C#开发PACS医学影像处理系统服务端(一):医疗设备的连接与收图

C#开发PACS医学影像处理系统服务端(二):高并发架构

 

(六)PACS与RIS系统的通信与集成

在RIS系统中调起PACS并打开Dicom影像

 

(七)云PACS与远程会诊

C#开发PACS医学影像处理系统之云PACS(区域PACS)(一):架构概述

C#开发PACS医学影像处理系统之云PACS(区域PACS)(二):远程会诊与双向转诊

 

(八)科幻级视频特效:使用Adobe After Effects 制作PACS影像处理系统宣传视频

 

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

QQ:1850969244

近10年开发经验,主攻C#、ASP MVC,HTML5,

B/S C/S 皆可,目前研究医疗领域医学影像相关技术,

任何技术问题欢迎加QQ交流。

 

 

C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位

上一篇:C# windows窗口项目


下一篇:WPF界面开发太难?DevExpress教你搞定CRUD操作