漳州网站建设,网站建设策划公司,天津模板建站定制网站,网页设计与网站建设案例课堂1.定位线概念#xff1a;某个方位的影像在另一个方向的影像上的投影相交线#xff0c;例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线。举个例子#xff1a;右边的是MR(核磁共振)的某一帧切片#xff0c;这是从头开始扫描#xff0c;扫描到眼睛这个…1.定位线概念某个方位的影像在另一个方向的影像上的投影相交线例如横断面(从头到脚的方向)在矢状面(从左手到右手)上的影像投影面交线。举个例子右边的是MR(核磁共振)的某一帧切片这是从头开始扫描扫描到眼睛这个位置而左边图像是从左手到右手的扫描切片那么右边图像的位置就恰好在左边图像的眼睛的位置用红线标出的位置则为定位线一般用于医生参考病灶在矢状面、冠状面和横断面的具体方位。2.检查设备示意图在笛卡尔空间直角坐标系中Y 右肩膀到左肩膀X 后背到前胸Z 足到头3.算法流程4.代码实现创建图像结构publicFrameGeometry(DicomDataset image):this(image.GetString(DicomTag.FrameOfReferenceUID),image.GetValues(DicomTag.ImagePositionPatient),image.GetValues(DicomTag.ImageOrientationPatient),image.GetValues(DicomTag.PixelSpacing),image.GetSingleValue(DicomTag.Columns),image.GetSingleValue(DicomTag.Rows)){//TODO:FrameOfReferenceUID:图片UIDImagePositionPatient病人方向ImageOrientationPatient图片方向PixelSpacing像素间距Columns宽度Rows高度}判断是否符合定位条件/// ///判断是否可以画定位线/// /// 源图像结构/// 目标图像结构/// public static boolCanDrawLocalizer(FrameGeometry sourceFrame, FrameGeometry destinationFrame){//检查图像结构if (sourceFrame null) return false;if (destinationFrame null) return false;//如果两个帧中的任何一个不是空间坐标系则无法定位if (sourceFrame.Orientation FrameOrientation.None || destinationFrame.Orientation FrameOrientation.None) return false;//只有正交图像才能绘制方向相同则退出if (sourceFrame.Orientation destinationFrame.Orientation) return false;//检查FrameOfReferenceUidif (string.IsNullOrEmpty(sourceFrame.FrameOfReferenceUid) || string.IsNullOrEmpty(destinationFrame.FrameOfReferenceUid)) return false;if (sourceFrame.FrameOfReferenceUid ! destinationFrame.FrameOfReferenceUid) return false;return true;}计算交线点/// ///回两个图像相交处公共像素线/// /// 源图像结构/// 目标图像结构/// 起点输出/// 重点输出/// public static bool CalcualteIntersectionLocalizer(FrameGeometry sourceFrame, FrameGeometry destinationFrame, out Point2 startPoint, outPoint2 endPoint){double t; //平面方程系数doublenA, nB, nC, nD, nP;var lstProj new List();//初始化startPoint Point2.Origin;endPointPoint2.Origin;//验证if(destinationFrame.DirectionNormal.IsZero)return false;nP destinationFrame.DirectionNormal *destinationFrame.PointTopLeft;nA destinationFrame.DirectionNormal *sourceFrame.PointTopLeft;nB destinationFrame.DirectionNormal *sourceFrame.PointTopRight;nC destinationFrame.DirectionNormal *sourceFrame.PointBottomRight;nD destinationFrame.DirectionNormal *sourceFrame.PointBottomLeft;//ABif (Math.Abs(nB - nA) Constants.Epsilon){t (nP - nA) / (nB -nA);if (t 0 t 1)lstProj.Add(sourceFrame.PointTopLeft t * (sourceFrame.PointTopRight -sourceFrame.PointTopLeft));}//BCif (Math.Abs(nC - nB) Constants.Epsilon){t (nP - nB) / (nC -nB);if (t 0 t 1)lstProj.Add(sourceFrame.PointTopRight t * (sourceFrame.PointBottomRight -sourceFrame.PointTopRight));}//CDif (Math.Abs(nD - nC) Constants.Epsilon){t (nP - nC) / (nD -nC);if (t 0 t 1)lstProj.Add(sourceFrame.PointBottomRight t * (sourceFrame.PointBottomLeft -sourceFrame.PointBottomRight));}//DAif (Math.Abs(nA - nD) Constants.Epsilon){t (nP - nD) / (nA -nD);if (t 0 t 1)lstProj.Add(sourceFrame.PointBottomLeft t * (sourceFrame.PointTopLeft -sourceFrame.PointBottomLeft));}if (lstProj.Count ! 2)return false;//从空间坐标系返回平面坐标系startPoint destinationFrame.TransformPatientPointToImage(lstProj[0]);endPoint destinationFrame.TransformPatientPointToImage(lstProj[1]);return true;}得到坐标之后就可以利用绘图操作类(参考本系列教程之图形标记)来自己绘制定位线。看效果对于较复杂的身体部位也可以同时绘制定位线范围来确定当前序列的定位范围思路是先计算第一帧和最后一帧用黄色虚线标出再计算当前帧。看效果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医学影像处理系统(十五)Dicom影像交叉定位线算法C#开发PACS医学影像处理系统(十六)2D处理之平移和缩放C#开发PACS医学影像处理系统(十七)2D处理之任意角度旋转与镜像翻转C#开发PACS医学影像处理系统(十八)Dicom影像色彩增强(伪彩)C#开发PACS医学影像处理系统(十九)Dicom影像反色处理(负片)C#开发PACS医学影像处理系统(二十)Dicom影像放大镜功能(二)PACS三维MRP、MIP、VRC#开发PACS医学影像三维重建(一):使用VTK三维重建Dicom影像(三)PACS网页端开发Web版本的PACSC#开发Web端PACS(一):基于PACS客户端思想重写Web端(四)PACS移动端开发基于HTML5移动端版本的PACSC#开发移动端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影像处理系统宣传视频QQ1850969244近10年开发经验主攻C#、ASP MVCHTML5B/S C/S 皆可目前研究医疗领域医学影像相关技术任何技术问题欢迎加QQ交流。