先看效果:html
再看结构,Viewer(影像控件)分为N个Cell(单元格),每一个单元格分为N个Box(影像容器),算法
当默认状况为2x2的行列时,结构以下图:架构
其中,咱们在WPF设计器中建立一个用户控件叫Viewer,使用Grid容器,默认2x2,再根据本身的业务须要建立用户控件Cell和用户控件Box,并发
在Viewer中声明变量集合来记录Cell,同理,在Cell中声明变量集合来记录Box:高并发
/// <summary> /// 图像单元格集合 /// </summary> public List<ET_MedicalCell> Cells = new List<ET_MedicalCell>();
状况1:变换行列,例如从2x2 变换到3x3:工具
思路:在集合中添加子控件,为行列属性设置触发器,布局
private int rowsCount = 2; /// <summary> /// 单元格的行数 /// </summary> public int RowsCount { get { return rowsCount; } set {if (value < -1) { rowsCount = 0; } else if (value > 10) { rowsCount = 10; } else { rowsCount = value; } SetLayout(); SetCellCount(); } }
添加Cell:this
ET_MedicalCell cell = new ET_MedicalCell(1, 1, this); MdiGrid.Children.Add(cell); Cells.Add(cell);
状况2:变换行列,平铺与层叠切换:spa
思路:Cell数量始终为1,Box数量变为行列数量设计
状况3:单元格双击放大:
思路:Cell数量始终为1,Box数量始终为1
状况4:医生实际使用中的复合操做:
思路:控制Cell和Box的数量,记录好变换以前的位置,由于有可能会变回去,直接引用变换前的对象和位置便可,无需从新加载Dicom影像而浪费效率和资源。
C#开发PACS、RIS医学影像处理系统
目录整理:
(一)PACS客户端:
C#开发PACS医学影像处理系统(七):读取影像Dicom信息
C#开发PACS医学影像处理系统(十):Dicom影像下载策略与算法
C#开发PACS医学影像处理系统(十一):Dicom影像挂片协议
C#开发PACS医学影像处理系统(十二):绘图处理之图形标记
C#开发PACS医学影像处理系统(十三):绘图处理之病灶测量
C#开发PACS医学影像处理系统(十四):处理Dicom影像窗宽窗位
C#开发PACS医学影像处理系统(十五):Dicom影像交叉定位线算法
C#开发PACS医学影像处理系统(十六):2D处理之影像平移和缩放
C#开发PACS医学影像处理系统(十七):2D处理之影像旋转和翻转
C#开发PACS医学影像处理系统(十八):Dicom使用LUT色彩加强和反色
C#开发PACS医学影像处理系统(十九):Dicom影像放大镜
(二)PACS三维:MRP、MIP、VR
C#开发PACS医学影像三维重建(一):使用VTK重建3D影像
(三)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影像处理系统宣传视频
![]() |
QQ:1850969244 近10年开发经验,主攻C#、ASP MVC,HTML5, B/S C/S 皆可,目前研究医疗领域医学影像相关技术, 任何技术问题欢迎加QQ交流。 |