通俗点说,挂片协议可以看作整个系统的一个相对复杂一点的配置文件,可以用JSON或XML格式来读取与保存,

另外,可以制作一个独立的exe配置程序来管理这些挂片协议。

假设配置了CT的挂片协议的右键菜单,那么在打开CT影像时则是对应的不同的动态的右键菜单,如下图:

CT影像的自定义工具栏,如下图:

CT影像的自定义窗宽窗位,如下图:

协议格式可以参考XML格式:

<?xml version="1.0" encoding="utf-8"?>
<Modality>CT</Modality>
<ScreenCount>1</ScreenCount>
<Screens>
<Screen>
<ScreenIndex>0</ScreenIndex>
<Primary>true</Primary>
<Layout>STACK</Layout>
<RowCount>1</RowCount>
<ColCount>2</ColCount>
<Annotations>
<Annotation>
<Location>TopLeft</Location>
<AnnotationTags>
<long>524416</long>
<long>1048592</long>
<long>1048624</long>
<long>524368</long>
<long>1048608</long>
<long>1052688</long>
<long>101</long>
</AnnotationTags>
</Annotation>
</Annotations>
<Cells>
<Cell>
<CellIndex>1</CellIndex>
<HorizontalAlign>Center</HorizontalAlign>
<VerticalAlign>Center</VerticalAlign>
</Cell>
<Cell>
<CellIndex>2</CellIndex>
<HorizontalAlign>Center</HorizontalAlign>
<VerticalAlign>Center</VerticalAlign>
</Cell>
</Cells>
</Screen>
</Screens>
</HangingProtocol>

其中需要注意的是序列控件的布局,不同的医院和不同设备需要根据情况自动布局调整。

1.横屏显示器:序列列表在左侧或右侧,尽可能的控制上下位置来留给图像。

1.竖屏显示器:序列列表在上侧或下侧,尽可能的控制左右位置来留给图像。

C#开发PACS医学影像处理系统(十一):Dicom影像挂片协议的更多相关文章

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

    对于一款软件的扩展性和维护性来说,上层业务逻辑和UI表现一定要自己开发才有控制权,否则项目上线之后容易被掣肘, 而底层图像处理,我们不需要重复造轮子,这里推荐使用fo-dicom,同样基于Dicom3 ...

  2. C#开发PACS医学影像处理系统(十五):Dicom影像交叉定位线算法

    1.定位线概念:某个方位的影像在另一个方向的影像上的投影相交线,例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线. 举个例子:右边的是MR(核磁共振)的某一帧切片,这是从头开始扫 ...

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

    在菜单栏布局上,为了使用自定义窗体样式和按钮,我们需要先将窗体设置为无边框,然后添加一个Grid作为菜单栏并置顶,VerticalAlignment="Top" logo图片和标题 ...

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

    工具栏布局采用WPF中Grid作为容器,按钮采用自定义样式和图标,并采用Separator分割线: XAML设计器代码: 其中  Style="{StaticResource ButtonS ...

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

    在医生实际使用过程中,对于有病灶的影像需要一些2D绘图操作,例如对于病灶的标记和测量, 这就牵涉到在WPF中的2D绘图操作技术,一般的思路是监听鼠标的按下和抬起以及运动轨迹,目前整理出的常用绘图和测量 ...

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

    接上一篇文章,当我们可以绘制图形标记后,就可以在此操作类上面进行扩展, 比如测量类工具,目前整理出的常用绘图和测量功能如下: 测量工具类:(图形标记类请参考本系列文章:绘图处理之图形标记) 功能 说明 ...

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

    1.平移,利用WPF中控件边距来控制位移: /// <summary> /// 平移图像 /// </summary> /// <param name="X&q ...

  8. C#开发PACS医学影像处理系统(十七):2D处理之影像旋转和翻转

    1.任意角度旋转 在XAML设计器中,设置RotateTransform属性 <InkCanvas x:Name="ToolInkCanvas" UseCustomCurso ...

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

    概念解释(网络资料): 窗宽: 窗宽指CT图像所显示的CT 值范围.在此CT值范围内的组织结构按其密度高低从白到黑分为16 个灰阶以供观察对比.例如,窗宽选定为100 Hu ,则人眼可分辨的CT值为1 ...

随机推荐

  1. ios 创建sdk与demo同一个工程

    思路摘要: 步骤1:创建一个文件夹用来放该项目 步骤2:设置工程工作区间 步骤3:  创建广告sdk项目 步骤4:创建广告sdkDemo项目 步骤5:配置一些文件 步骤6:将sdk导入到demo中进行 ...

  2. 如何选择一台适合Java开发的电脑

    前言 最近在群里有同学求推荐Java开发用的电脑,所以胖哥就出个简单的专题,用我贫瘠的电脑知识来帮助大家选择适合开发的电脑配置.因为家里的主机已经带不动两个 IDEA 了,更别提开个 Docker 啥 ...

  3. Kubernetes 编写自定义 controller

    原文链接:Kubernetes编写自定义controller 来自kubernetes官方github的一张图: 如图所示,图中的组件分为client-go和custom controller两部分: ...

  4. 记一次因为Gradle与Lombok不兼容导致编译时的内存溢出 Expiring Daemon because JVM heap space is exhausted

    1.现象 版本 Gradel:6.1.1 / 6.5.1 Lombok:1.8.6 / 1.8.10 截图 解决过程 调大idea的堆内存 不行 × idea安装目录中找到 idea64.exe.vm ...

  5. 软工团队项目之团队展示&选题(OnTime——S.L.N)

    软工团队项目之团队展示&选题(OnTime——S.L.N) 一.团队展示 队名:『S.L.N』即Seigelion——乃“攻城狮”之意. 队员学号: 团队项目描述:(项目名称:OnTime) ...

  6. await,async 我要把它翻个底朝天,这回你总该明白了吧

    一:背景 1. 讲故事 await,async 这玩意的知识点已经被人说的烂的不能再烂了,看似没什么好说的,但我发现有不少文章还是从理论上讲述了这两个语法糖的用法,懂得还是懂,不懂的看似懂了过几天又不 ...

  7. 看视频常见的 720p、1080p、4k,这些分辨率到底包含了什么

    从早期的420p,到后来的720p,到现在的非1080p不看.视频的清晰度飞快提升,但是在看到色彩越来越丰富清晰度越来越高的画面时,你有关注过他们的到底是怎么做到的么?我们一起来了解一下吧. 想必大家 ...

  8. ASP.NET Core 3.1 WebAPI的跨域问题

    1.nuget要加上 Microsoft.AspNetCore.Cors 中间件. 2.在Startup类里先定义一个全局变量. private readonly string AllowSpecif ...

  9. MySQL添加外键报错 - referencing column 'xx' and referenced column 'xx' in foreign key constraint 'xx' are incompatible

    MySQL给两个表添加外键时,报错 翻译意思是:外键约束“xx”中的引用列“xx”和引用列“xx”不兼容 说明两个表关联的列数据类型不一致,比如:varchar 与 int,或者 int无符号 与 i ...

  10. 赫然:怎样学习seo优化技术

    http://www.wocaoseo.com/thread-79-1-1.html 今天的题目是学习SEO起步阶段每个人都要问的.SEO怎么学?如何进阶SEO技能?都包括哪些知识?笔者也自己总结过一 ...