绑定完请刷新页面
取消
刷新

分享好友

×
取消 复制
C#开发PACS医学影像三维重建(十四):基于能量模型算法将曲面牙床展开至二维平面
2023-01-31 17:41:14

在医学影像领域中,将三维重建中的人体组织展开平铺至二维,用来研判病灶和制定治疗方案的重要手段之一,

它能够将立体曲面所包含的信息更为直观的展示到二维平面上,常用的情景包括:

牙床全景图、平铺血管、骨骼二维化展开(肋骨平铺)。

 

众所周知,人体牙床正常情况下是有弧度的,无论是从俯视位还是冠状位观察都是不能直观的了解牙齿状况,

或多或少的都会被其他组织或牙齿遮挡,如下图所示:

 

所以我们要将三维或二维的影像拉伸后平铺到桌面上,目前主流曲面展开算法有如下几种:

①元素法

②旋转正交矩阵法

③迭代应变能量释放法 

 

本文将根据网络查询现有的算法粗略介绍用能量法展开牙床:

基于弹簧质点系统建立能量模型:

 

 

 

 

 

弹性变形能E和弹性力f的计算式为:

 

 


判断展开标准:

 


 

 

 曲面展开算法示例:

 


 

以VTK中圆柱体为例,将一根圆柱展开为一个矩形平面的部分代码:

复制代码
void  Cylinder_Expansion(vtkPolyData* srcData, vtkPolyData* destData, GEO_CYLINDER src_Cylinder) {
    vtkSmartPointer<vtkPoints>srcPoints = src>GetPoints();
    vtkSmartPointer<vtkPoints>destPoints = vtkSmartPointer<vtkPoints>::New();
    int num = srcPoints->GetNumberOfPoints();
    double p[3],r[3],cross[3];
    double v0[3] = {  }, v1[3] = {};
    v0[src_Cylinder.RdTran] = src_Cylinder.CenterTran;
    v0[src_Cylinder.RdLong] = src_Cylinder.CenterLong;
    v1[src_Cylinder.RdTran] = src_Cylinder.R;
    v1[src_Cylinder.RdLong] = ;    

    double arc_len;
    for (int i = ; i < num; ++i) {

        srcPoints->GetPoint(i, p);
        v0[src_Cylinder.Axial]= p[src_Cylinder.Axial];
        vtkMath::Subtract(p,  v0, p);
        arc_len = vtkMath::AngleBetweenVectors(v1,p);
        vtkMath::Cross(v1, p, cross);
        if (cross[src_Cylinder.Axial]<)
arc_len
= vtkMath::Pi()*2-arc_len; r[src_Cylinder.RdTran]= src_Cylinder.CenterTran+ arc_len*src_Cylinder.R; r[src_Cylinder.Axial] = v0[src_Cylinder.Axial]; r[src_Cylinder.RdLong] =sqrt(p[] * p[] + p[1] * p[1] + p[2] * p[2]) - src_Cylinder.R; destPoints->InsertPoint(i,r); } dest>SetPoints(destPoints); }
复制代码

运行结果:

 

将此算法应用到医学影像中,开始定位展开锚点:

 


现在就可以在同一屏画面中得到了各种视角的牙床图:

 


同理,还可以应用到血管和骨骼的平铺展开,更好的观察血管阻塞和破裂、骨折骨裂等情况。

分享好友

分享这个小栈给你的朋友们,一起进步吧。

.NET中大型研发必备
创建时间:2022-04-09 00:21:16
本系列文章适合有初/.NET知识的同学阅读(请在电脑上打开页面,获取更好的阅读效果)。 (1)本系列文章,旨在讲述研发一个中大型项目所需要了解的一系列“基本构件”,并提供这些“基本构件”在全网的【简单】、【快速】使用方法!!(并不深究技术原理) (2)通过阅读本系列文章,能让你在“正规”项目研发方面快速入门+进阶,并能达成“小团队构建大网站”的目的。 (3)本系列文章采用的技术,已成功应用到人工智能、产业互联网、社区电商、游戏、金融风控、智慧医疗、等项目上。
展开
订阅须知

• 所有用户可根据关注领域订阅专区或所有专区

• 付费订阅:虚拟交易,一经交易不退款;若特殊情况,可3日内客服咨询

• 专区发布评论属默认订阅所评论专区(除付费小栈外)

栈主、嘉宾

查看更多
  • 红色侦察兵
    栈主

小栈成员

查看更多
  • miemieMIA
  • LCR_
  • xsy028
  • ?时光与海?
戳我,来吐槽~