随笔分类 - PACS影像处理系统
摘要:在医学影像领域中,将三维重建中的人体组织展开平铺至二维,用来研判病灶和制定治疗方案的重要手段之一, 它能够将立体曲面所包含的信息更为直观的展示到二维平面上,常用的情景包括: 牙床全景图、平铺血管、骨骼二维化展开(肋骨平铺)。 众所周知,人体牙床正常情况下是有弧度的,无论是从俯视位还是冠状位观察都是不
阅读全文
摘要:当我们将CT切片重建为三维体之后,通常会消除一些不必要的外部组织来观察内部病灶, 一般思路是根据人体常见CT值范围来使得部分组织透明来达到效果, 但这是非黑即白的,即,要么显示皮肤,要么显示神经,要么显示骨骼… 然而,当病灶介于两个CT值范围中间或重合时,要观察病灶这将是一个非常困难的工作,需要手动
阅读全文
摘要:开发背景: 医生在实际使用PACS软件观察病灶时,经常会测量不规则病灶的周长和面积,使用画笔工具勾勒比较耗时且准度欠佳, 或者在标记人工智能训练样本时少则几百张,多则几千张,为极大减少耗时和极大提高工作效率,故开发此功能用来自动勾勒病灶范围并自动测量。 国际惯例,先看效果: 思路流程概览: ①以鼠标
阅读全文
摘要:本篇文章将介绍开发医学影像胶片打印系统(printscu模式)遇到不规则排版时的一种思路, 一般来讲,医院打印胶片时都是整张胶片打印,但有时需要将多个病人或一个病人的多个检查打印在同一张胶片上, 这时候就需要不规则排版来满足打印需求,使胶片利用率最大化。 国际惯例,先看效果: 常规打印业务流程: 1
阅读全文
摘要:根据本系列教程文章上一篇说到,在完成C++和Opencv对Hessian矩阵滤波算法的实现和封装后, 再由C#调用C++ 的DLL,(参考:C#处理医学图像(一):基于Hessian矩阵的血管肺纹理骨骼增强对比) 功能虽然已经实现,但在实际应用中要考虑到性能和耦合,本篇将介绍性能方面的注意点以及和其
阅读全文
摘要:在医院实际环境中,经常遇到有问题的患者,对于一些特殊的场景,比如骨折,肺结节,心脑血管问题 需要图像对比增强来更为清晰的显示病灶助于医生确诊,先看效果: 肺纹理增强: 肺结节增强: 血管对比增强: 骨骼对比增强: 根据参考资料: MATLAB版本: https://ww2.mathworks.cn/
阅读全文
摘要:VTK简介: VTK是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的。 因为使用C#语言开发,而VTK是C++的,所以推荐使用VTK的.Net开发库:ActiViz。 本系列文章主要以技术和代码讲解为主,Act
阅读全文
摘要:在XAML代码设计器中,添加canvas画布与圆形几何对象,利用VisualBrush笔刷来复制画面内容到指定容器: <Canvas x:Name="CvsGlass" Width="106" Height="106" HorizontalAlignment="Left" VerticalAlign
阅读全文
摘要:在医生阅片确诊的过程中,当发线疑似病灶时在灰度显示下有时并不清晰,这时候就需要色彩增强效果来使灰度图像变为彩色图像。 LUT可以简单的理解为0-255的颜色映射值,例如:彩虹编码,将其打包成LUT格式文件,在读取图像后载入LUT: //实例化文件处理对象并打开文件 DicomFile dicomFi
阅读全文
摘要:1.任意角度旋转 在XAML设计器中,设置RotateTransform属性 <InkCanvas x:Name="ToolInkCanvas" UseCustomCursor="True" ClipToBounds="False" MinHeight="50" MinWidth="50" Edit
阅读全文
摘要:1.平移,利用WPF中控件边距来控制位移: /// <summary> /// 平移图像 /// </summary> /// <param name="X">平移X轴距离</param> /// <param name="startX">X轴起始位置</param> /// <param name
阅读全文
摘要:1.定位线概念:某个方位的影像在另一个方向的影像上的投影相交线,例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线。 举个例子:右边的是MR(核磁共振)的某一帧切片,这是从头开始扫描,扫描到眼睛这个位置, 而左边图像是从左手到右手的扫描切片,那么右边图像的位置就恰好在左边图像的眼
阅读全文
摘要:概念解释(网络资料): 窗宽: 窗宽指CT图像所显示的CT 值范围。在此CT值范围内的组织结构按其密度高低从白到黑分为16 个灰阶以供观察对比。例如,窗宽选定为100 Hu ,则人眼可分辨的CT值为100 / 16 =6 . 25 Hu ,即2 种组织CT值相差在6 . 25Hu以上者即可为人眼所识
阅读全文
摘要:接上一篇文章,当我们可以绘制图形标记后,就可以在此操作类上面进行扩展, 比如测量类工具,目前整理出的常用绘图和测量功能如下: 测量工具类:(图形标记类请参考本系列文章:绘图处理之图形标记) 功能 说明 标尺 线段长度测量 折尺 曲线长度测量 心胸比 两根线段按比例测量 交叉尺 两根线段互相垂直测量
阅读全文
摘要:在医生实际使用过程中,对于有病灶的影像需要一些2D绘图操作,例如对于病灶的标记和测量, 这就牵涉到在WPF中的2D绘图操作技术,一般的思路是监听鼠标的按下和抬起以及运动轨迹,目前整理出的常用绘图和测量功能如下: 图形标记类:(测量类请参考本系列文章:绘图处理之测量工具) 功能 说明 选区 蚂蚁线选择
阅读全文
摘要:通俗点说,挂片协议可以看作整个系统的一个相对复杂一点的配置文件,可以用JSON或XML格式来读取与保存, 另外,可以制作一个独立的exe配置程序来管理这些挂片协议。 假设配置了CT的挂片协议的右键菜单,那么在打开CT影像时则是对应的不同的动态的右键菜单,如下图: CT影像的自定义工具栏,如下图: C
阅读全文
摘要:1.传输协议 当我们PACS客户端接收到下载命令时需要根据dcm文件的url来下载,这里推荐使用http协议,支持大文件的断点续传。 2.下载策略 假设有10个序列,每个序列有100张图像, ①广度优先:将任务池中的下载任务平均分配到10个序列,每个序列都同时下载, 优点:是每个序列都能分布加载,当
阅读全文
摘要:1.先看结构: 创建WPF用户控件:YourTab 创建WPF用户控件:YourItem 创建选项卡时循环添加item,并设置序列缩略图到控件和异步下载的进度条, 1个病人1个或多个Study检查,1个Study检查1个选项卡,并为每个选项卡添加自定义关闭按钮 Tab自定义关闭按钮的XAML样式如下
阅读全文
摘要:先看效果: 再看结构,Viewer(影像控件)分为N个Cell(单元格),每个单元格分为N个Box(影像容器), 当默认情况为2x2的行列时,结构如下图: 其中,我们在WPF设计器中创建一个用户控件叫Viewer,使用Grid容器,默认2x2,再根据自己的业务需要创建用户控件Cell和用户控件Box
阅读全文
摘要:Dicom的文件信息一般是由设备信息、图像信息、病人信息等Tag标记组成的,用字节长度和偏移量来区分, 具体数据结构可以自行去参考Dicom文件解析,内容比较多,这里不赘述。 对于常用的Tag,可以简单的理解为两层结构,第一层是组,第二层是组包含的元素,每个组号和元素号用2个字节表示(Uint16)
阅读全文