09 2020 档案

摘要:VTK简介: VTK是一个开源的免费软件系统,主要用于三维计算机图形学、图像处理和可视化。Vtk是在面向对象原理的基础上设计和实现的,它的内核是用C++构建的。 因为使用C#语言开发,而VTK是C++的,所以推荐使用VTK的.Net开发库:ActiViz。 本系列文章主要以技术和代码讲解为主,Act 阅读全文
posted @ 2020-09-21 14:05 乔克灬叔叔 阅读(15217) 评论(29) 推荐(45) 编辑
摘要:在XAML代码设计器中,添加canvas画布与圆形几何对象,利用VisualBrush笔刷来复制画面内容到指定容器: <Canvas x:Name="CvsGlass" Width="106" Height="106" HorizontalAlignment="Left" VerticalAlign 阅读全文
posted @ 2020-09-18 13:47 乔克灬叔叔 阅读(3281) 评论(3) 推荐(7) 编辑
摘要:在医生阅片确诊的过程中,当发线疑似病灶时在灰度显示下有时并不清晰,这时候就需要色彩增强效果来使灰度图像变为彩色图像。 LUT可以简单的理解为0-255的颜色映射值,例如:彩虹编码,将其打包成LUT格式文件,在读取图像后载入LUT: //实例化文件处理对象并打开文件 DicomFile dicomFi 阅读全文
posted @ 2020-09-18 13:14 乔克灬叔叔 阅读(2601) 评论(3) 推荐(2) 编辑
摘要:1.任意角度旋转 在XAML设计器中,设置RotateTransform属性 <InkCanvas x:Name="ToolInkCanvas" UseCustomCursor="True" ClipToBounds="False" MinHeight="50" MinWidth="50" Edit 阅读全文
posted @ 2020-09-18 12:06 乔克灬叔叔 阅读(1837) 评论(0) 推荐(0) 编辑
摘要:1.平移,利用WPF中控件边距来控制位移: /// <summary> /// 平移图像 /// </summary> /// <param name="X">平移X轴距离</param> /// <param name="startX">X轴起始位置</param> /// <param name 阅读全文
posted @ 2020-09-18 11:22 乔克灬叔叔 阅读(2220) 评论(1) 推荐(0) 编辑
摘要:1.定位线概念:某个方位的影像在另一个方向的影像上的投影相交线,例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线。 举个例子:右边的是MR(核磁共振)的某一帧切片,这是从头开始扫描,扫描到眼睛这个位置, 而左边图像是从左手到右手的扫描切片,那么右边图像的位置就恰好在左边图像的眼 阅读全文
posted @ 2020-09-17 18:04 乔克灬叔叔 阅读(3499) 评论(1) 推荐(3) 编辑
摘要:概念解释(网络资料): 窗宽: 窗宽指CT图像所显示的CT 值范围。在此CT值范围内的组织结构按其密度高低从白到黑分为16 个灰阶以供观察对比。例如,窗宽选定为100 Hu ,则人眼可分辨的CT值为100 / 16 =6 . 25 Hu ,即2 种组织CT值相差在6 . 25Hu以上者即可为人眼所识 阅读全文
posted @ 2020-09-17 10:47 乔克灬叔叔 阅读(4151) 评论(11) 推荐(4) 编辑
摘要:接上一篇文章,当我们可以绘制图形标记后,就可以在此操作类上面进行扩展, 比如测量类工具,目前整理出的常用绘图和测量功能如下: 测量工具类:(图形标记类请参考本系列文章:绘图处理之图形标记) 功能 说明 标尺 线段长度测量 折尺 曲线长度测量 心胸比 两根线段按比例测量 交叉尺 两根线段互相垂直测量 阅读全文
posted @ 2020-09-16 16:55 乔克灬叔叔 阅读(5647) 评论(25) 推荐(42) 编辑
摘要:在医生实际使用过程中,对于有病灶的影像需要一些2D绘图操作,例如对于病灶的标记和测量, 这就牵涉到在WPF中的2D绘图操作技术,一般的思路是监听鼠标的按下和抬起以及运动轨迹,目前整理出的常用绘图和测量功能如下: 图形标记类:(测量类请参考本系列文章:绘图处理之测量工具) 功能 说明 选区 蚂蚁线选择 阅读全文
posted @ 2020-09-16 10:34 乔克灬叔叔 阅读(4074) 评论(14) 推荐(15) 编辑
摘要:通俗点说,挂片协议可以看作整个系统的一个相对复杂一点的配置文件,可以用JSON或XML格式来读取与保存, 另外,可以制作一个独立的exe配置程序来管理这些挂片协议。 假设配置了CT的挂片协议的右键菜单,那么在打开CT影像时则是对应的不同的动态的右键菜单,如下图: CT影像的自定义工具栏,如下图: C 阅读全文
posted @ 2020-09-16 09:19 乔克灬叔叔 阅读(3140) 评论(1) 推荐(1) 编辑
摘要:1.传输协议 当我们PACS客户端接收到下载命令时需要根据dcm文件的url来下载,这里推荐使用http协议,支持大文件的断点续传。 2.下载策略 假设有10个序列,每个序列有100张图像, ①广度优先:将任务池中的下载任务平均分配到10个序列,每个序列都同时下载, 优点:是每个序列都能分布加载,当 阅读全文
posted @ 2020-09-15 17:16 乔克灬叔叔 阅读(3441) 评论(5) 推荐(1) 编辑
摘要:1.先看结构: 创建WPF用户控件:YourTab 创建WPF用户控件:YourItem 创建选项卡时循环添加item,并设置序列缩略图到控件和异步下载的进度条, 1个病人1个或多个Study检查,1个Study检查1个选项卡,并为每个选项卡添加自定义关闭按钮 Tab自定义关闭按钮的XAML样式如下 阅读全文
posted @ 2020-09-15 11:13 乔克灬叔叔 阅读(3089) 评论(9) 推荐(9) 编辑
摘要:先看效果: 再看结构,Viewer(影像控件)分为N个Cell(单元格),每个单元格分为N个Box(影像容器), 当默认情况为2x2的行列时,结构如下图: 其中,我们在WPF设计器中创建一个用户控件叫Viewer,使用Grid容器,默认2x2,再根据自己的业务需要创建用户控件Cell和用户控件Box 阅读全文
posted @ 2020-09-14 22:49 乔克灬叔叔 阅读(2842) 评论(2) 推荐(10) 编辑
摘要:Dicom的文件信息一般是由设备信息、图像信息、病人信息等Tag标记组成的,用字节长度和偏移量来区分, 具体数据结构可以自行去参考Dicom文件解析,内容比较多,这里不赘述。 对于常用的Tag,可以简单的理解为两层结构,第一层是组,第二层是组包含的元素,每个组号和元素号用2个字节表示(Uint16) 阅读全文
posted @ 2020-09-14 16:41 乔克灬叔叔 阅读(5646) 评论(13) 推荐(4) 编辑
摘要:对于一款软件的扩展性和维护性来说,上层业务逻辑和UI表现一定要自己开发才有控制权,否则项目上线之后容易被掣肘, 而底层图像处理,我们不需要重复造轮子,这里推荐使用fo-dicom,同样基于Dicom3.0协议。 根据以上原则,后台影像处理完成之后,即可使用自己开发的控件来呈现。 1.先准备好自己的d 阅读全文
posted @ 2020-09-14 16:40 乔克灬叔叔 阅读(9884) 评论(7) 推荐(17) 编辑
摘要:一般情况下,PACS的影像加载是由外部命令发起的,如RIS客户端或网页参数等, 但为保证系统完整性和健壮性,也需要在PACS客户端给用户一个查询界面来加载Dicom影像。 界面分为两部分,上半部是各种查询条件,使用常见控件即可,不赘述。 下半部分是一个WPF中的DataGrid表格控件,通过服务端返 阅读全文
posted @ 2020-09-11 15:01 乔克灬叔叔 阅读(4066) 评论(10) 推荐(3) 编辑
摘要:状态栏一般用于显示系统状态,例如影像数量统计、CPU和内存使用情况、全屏时显示日期等, 同样也是采用WPF控件的Grid作为容器,布局使用 VerticalAlignment="Bottom" 普通配置的Win7和Win10一般内存使用不超过200M,CPU不超过5,除了一些老医院还在用XP系统,实 阅读全文
posted @ 2020-09-11 14:57 乔克灬叔叔 阅读(2747) 评论(0) 推荐(0) 编辑
摘要:工具栏布局采用WPF中Grid作为容器,按钮采用自定义样式和图标,并采用Separator分割线: XAML设计器代码: 其中 Style="{StaticResource ButtonStyle}" 按钮样式可以根据自身UI风格来使用自定义样式 <Button x:Name="BtnRotate" 阅读全文
posted @ 2020-09-11 14:56 乔克灬叔叔 阅读(4249) 评论(1) 推荐(4) 编辑
摘要:在菜单栏布局上,为了使用自定义窗体样式和按钮,我们需要先将窗体设置为无边框,然后添加一个Grid作为菜单栏并置顶,VerticalAlignment="Top" logo图片和标题是Image和TextBlock控件,菜单是Menu控件,系统按钮是Button控件。 其中需要注意的是,一般医院影像科 阅读全文
posted @ 2020-09-11 14:55 乔克灬叔叔 阅读(6614) 评论(2) 推荐(0) 编辑
摘要:本系列文章将从以下模块和大家分享和讨论使用C#开发医学软件PACS和RIS系统, 国内相关资料比较少,也借此机会丰富一下医学软件开发生态,讨论技术难点,希望大家互相帮助共同进步。 章节介绍及截图预览: (一)PACS客户端:客户端功能和相关医学知识 部分功能菜单: (二)PACS三维:MRP、MIP 阅读全文
posted @ 2020-09-10 17:25 乔克灬叔叔 阅读(13842) 评论(21) 推荐(21) 编辑