当前位置: 首页 > news >正文

2024年认证杯SPSSPRO杯数学建模B题(第一阶段)神经外科手术的定位与导航解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模

B题 神经外科手术的定位与导航

原题再现:

  人的大脑结构非常复杂,内部交织密布着神经和血管,所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术,通常需要将颅骨打开一个(或几个)圆形窗口,将病变部位暴露在术野中。但当病变部位较深时,就必须将上方的脑组织进行一定程度的牵拉、移位。这种牵拉和移位的幅度不能太大,而且具有损伤脑组织的风险。所以医生需要仔细设计手术方案,才能在尽量减小损伤的前提下完成手术目标。现在有CT或核磁共振等成像手段可以对颅内区域进行准确的透视和三维定位。但是在打开颅骨后,由于打开部位的颅骨约束作用消失,而且脑组织是柔软的,所以脑组织会产生一定程度的变形、移位,甚至在一定程度上膨出,以至于病变部位的位置发生了改变。如果想要在术中实时进行透视和定位,需要复杂的设备,术者也需经过特殊的训练,这都使得此类手术尚未完全普及。所以我们需要设计一个合理的数学模型,较为精细地预测手术部位在开颅后的位置改变情况。我们一定能够取得的数据是:
  1. 术前的CT成像结果,这包含了颅腔的三维形状以及手术部位在三维空间中的位置(在建模时可自行寻找并使用典型的颅脑CT成像数据);
  2. 术前的颅内压;
  3. 在颅骨上打开的窗口的大小以及位置;
  4. 开颅后在颅骨窗口处可观察到的脑组织膨出高度(通常以mm计);
  5. 在术前可以测量得到的其他生理指标。
  请你和你的团队建立合理的数学模型以解决下列问题。
  第一阶段问题:我们先来处理病人颅内无占位性病变的情况。
  1. 假设在术中可以测得颅内压。请依据我们能够取得的数据,尽可能精细地计算全脑在开颅后的变形情况。
  2. 假设在术中无法测得颅内压,请依据我们能够取得的数据,尽可能精细地计算全脑在开颅后的变形情况。
  注:如果在建模的过程中,术中的颅内压对改善模型精度没有用处,那么这两个问题可以共用同一个模型。

整体求解过程概述(摘要)

  人的大脑结构非常复杂,内部交织密布着神经和血管,因此在术中能否测得颅内压的情况会变得不稳定。本文首先对已有数据进行预处理,剔除缺失值和重复值后进行分组研究,利用虚拟神经外科开颅手术进行仿真,基于Abaqus有限元分析软件建立有限元模型,预测手术部位在在开颅后的形变情况。
  针对第一问,我们将已有 CT 成像结果数据建立软组织形变模型构建不同 CT 成像图的颅骨和脑组织形状的三维几何图形,其次将三维几何图形导入有限元分析软件Abaqus,建立有限元模型。由于泊松比和杨氏模量并不与有限元模型有直接联系,因此本文利用matlab运用粒子群算法建立质点-弹簧模型中的泊松比和杨氏模量与有限元模型的联系,为脑组织定义合适的材料属性减少虚拟神经外科手术仿真结果误差,最后施加颅内压作为边界条件,模拟神经外科开颅手术对脑组织的影响。利用实时性和粘弹性优化有限元模型。最后根据在颅骨上打开的窗口的大小以及位置的变化情况和术中与术后脑组织膨出高度的变化量,记录全脑在开颅后的变形情况。我们发现,颅内压对脑组织的变形情况具有近于线性影响关系,即术中测得的颅内压越高,脑组织的变形情况越剧烈,并且脑组织变形情况在整个颅腔都是均匀分布的。
  针对第二问,本文假设术中的颅内压对改善模型精度没有用处,因此我们在问题二中与问题一公用一个模型。在基于问题一隐式积分方法优化有限元实时模型和粘弹性模型的基础上,输入上述得出的泊松比和杨氏模量,为脑组织定义合适的材料属性减少虚拟神经外科手术仿真结果的误差,取消施加颅内压作为边界条件,直接模拟神经外科开颅手术对脑组织的影响,得出术后的颅内压,最后利用得出的术后膨出高度与已知的术后膨出高度的数值和术后颅内压与问题一求出的术后颅内压的数值进行准确性评估验证,计算二者线性回归相关系数r值。通过SPSS分析,我们得出r值分别为0.995,1.000,相关性显著,假设成立。因此,在术中无法测得颅内压的情况下,我们依旧可以得出颅内压对脑组织的变形情况具有近于线性影响关系,并且脑组织变形情况在整个颅腔都是均匀分布的。

问题分析:

  对本文所提出的两种相关问题,逐一做如下分析:
  问题一的分析
  在问题一的分析中,我们在术中可以测得病人的颅内压,因此需要依据能够取得的各类人群的术前颅内压的数据,以此来建立合理的有限元模型来尽可能精细地计算全脑在进行神经外科开颅手术后的变形情况。
  第一步:对已知数据进行预处理,剔除有部分术前颅内压、在颅骨上打开的窗口的大小以及位置、开颅后在颅骨窗口处脑组织膨出高度数据不完整、异常数据以及重复数据,并对数据进行分组,分为:男性分为A1(成年人组)、B1(未成年人组);女性分为A2(成年人组)、B2(未成年人组)。
  第二步:将已分组的 CT 成像结果数据借助软组织形变模型构建不同 CT 成像图的颅骨和脑组织形状的三维几何图形,其次将三维几何图形导入有限元分析软件Abaqus,建立有限元模型,划分网格。
  第三步:利用matlab软件,运用粒子群算法建立质点-弹簧模型中的泊松比和杨氏模量与有限元模型之间的联系,得出适用于模拟的泊松比和杨氏模量数值,从而为脑组织定义合适的材料属性减少虚拟神经外科手术结果误差,最后施加颅内压作为边界条件,模拟神经外科开颅手术对脑组织的影响。
  第四步:利用隐式积分方法优化有限元实时模型和粘弹性优化有限元模型。
  第五步:最后根据在颅骨上打开的窗口的大小以及位置的变化情况和术中与术后脑组织膨出高度的变化量,记录全脑在开颅后的变形情况。
  问题二的分析
  在基于问题一建立有限元模型的基础上,我们不难得出新的术后膨出高度和颅骨打开窗口大小以及位置的变化情况,本文将对此数据进行处理,将缺失值、异常值以及重复值去除。同时,在问题一中我们发现得出的膨出高度数值和颅内压中有部分数据过大或过小,因此,在问题二中本文选取了适中的数值,而不是取所有已知数据进行有限元模型模拟。
  第一步:假设没有颅内压对模型的精度没有改进作用,因此本文在问题一建立的有限元模型中,输入上述粒子群算法得出的泊松比和杨氏模量数值,为脑组织定义合适的材料属性减少虚拟神经外科手术结果误差,取消施加颅内压作为边界条件,此外,本文还设置了材料属性的弹性、膨胀和粘性,直接模拟神经外科开颅手术对脑组织的影响。
  第二步:根据在颅骨上打开的窗口的大小以及位置的变化情况和术中与术后脑组织膨出高度的变化量,得出术后的颅内压,最后利用得出的术后膨出高度与已知的术后膨出高度的数值和术后颅内压与问题一求出的术后颅内压的数值进行准确性评估,判断假设是否成立。
  第三步:计算二者r值,若得出的膨出高度与已知的术后膨出高度和术后颅内压与问题一求出的术后颅内压相关系数r值越趋近于1,则假设成立,问题一和问题二的全脑在开颅后的变形情况有一致;若得出的膨出高度与已知的术后膨出高度和术后颅内压与问题一求出的术后颅内压相关系数r值不趋近于1,则假设不成立,问题一和问题二的全脑在开颅后的变形情况不一致。

模型假设:

  在整个求解模型过程中,假设:
  1.假设病人颅内无占位性病变。
  2.假设获取术前的CT成像结果、术前的颅内压、在颅骨上打开的窗口的大小以及位置、开颅后在颅骨窗口处可观察到的脑组织膨出高度等指标的病人的年龄、性别、体重等不会影响脑组织的力学属性。
  3.假设颅内压均匀分布。
  4.假设模拟神经外科手术过程中无流体流动(比如脑脊液),集中关注脑组织的固体变形部分。
  5.假设个体间生理条件及接受手术的环境相似,个体生理差异及手术环境差异不会对结果有影响。

完整论文缩略图

在这里插入图片描述
在这里插入图片描述

全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码:

closeall;%清图
clc;%清屏
N=100;%群体粒子个数
D=10;%粒子维数
T=200;%最大迭代次数
c1=1.5;%学习因子1c2=1.5;%学习因子2w=0.8;%惯性权重
Xmax=20;%位置最大值
Xmin=-20;%位置最小值
Vmax=10;%速度最大值
Vmin=-10;%速度最小值
x=rand(N,D)*(Xmax-Xmin)+Xmin;v=rand(N,D)*(Vmax-Vmin)+Vmin;%初始化个体最优位置的最优值
p=x;pbest=ones(N,1);fori=1:Npbest(i)=func(x(i,:));end%初始化全局最优位置和最优值
g=ones(1,D);gbest=inf;fori=1:Nif(pbest(i)<gbest)g=p(i,:);gbest=pbest(i);endendgb=ones(1,T);%按照公式依次迭代直到满足精度或者迭代次数
fori=1:Tforj=1:N%更新个体最优位置和最优值
if(func2(x(j,:))<pbest(j))p(j,:)=x(j,:);pbest(j)=func2(x(j,:));end%更新全局最优位置和最优值
if(pbest(j)<gbest)g=p(j,:);gbest=pbest(j);end%计算动态惯性权重值
w=Wmax-(Wmax-Wmin)*i/T;%跟新位置和速度值
v(j,:)=w*v(j,:)+cl*rand*(p(j,:)-x(j,:))...+c2*rand*(g-x(j,:));
%边界条件处理
forii=1:Dif(v(j,ii)>Vmax)||(v(j,ii)<Vmin)v(j,ii)=rand*(Vmax-Vmin)+Vmin;endif(x(j,ii)>Xmax)||(x(j,ii)<Xmin)x(j,ii)=rand*(Xmax-Xmin)+Xmin;endendend%记录历代全局最优值
gb(i)=gbest;endg;gb(end);figureplot(gb)xlabel('迭代次数');ylabel9('适应度值');
全部论文请见下方“ 只会建模 QQ名片” 点击QQ名片即可

相关文章:

2024年认证杯SPSSPRO杯数学建模B题(第一阶段)神经外科手术的定位与导航解题全过程文档及程序

2024年认证杯SPSSPRO杯数学建模 B题 神经外科手术的定位与导航 原题再现&#xff1a; 人的大脑结构非常复杂&#xff0c;内部交织密布着神经和血管&#xff0c;所以在大脑内做手术具有非常高的精细和复杂程度。例如神经外科的肿瘤切除手术或血肿清除手术&#xff0c;通常需要…...

安卓底层相机流的传输方式

这是安卓 相机流的定义 typedef enum {CAM_STREAMING_MODE_CONTINUOUS, /* continous streaming */CAM_STREAMING_MODE_BURST, /* burst streaming */CAM_STREAMING_MODE_BATCH, /* stream frames in batches */CAM_STREAMING_MODE_MAX} cam_streaming_mode_t; 在ca…...

【单链表】(更新中...)

一、 题单 206.反转链表203.移除链表元素 876.链表的中间结点BM8 链表中倒数最后k个结点21.合并两个有序链表 二、题目简介及思路 206.反转链表 给你单链表的头节点 head &#xff0c;请你反转链表&#xff0c;并返回反转后的链表。 思路简单&#xff0c;但是除了要两个指针进…...

开源堡垒机JumpServer配置教程:使用步骤与配置

开源堡垒机JumpServer配置教程&#xff1a;使用步骤与配置 上一篇文章星哥讲了如何安装JumpServer堡垒机&#xff0c;本篇文章来讲如何配置和使用JumpServer。 安装成功后&#xff0c;通过浏览器访问登录 JumpServer 地址: http://<JumpServer服务器IP地址>:<服务运…...

上门服务小程序开发,打造便捷生活新体验

随着互联网的快速发展&#xff0c;各种上门服务成为了市场的发展趋势&#xff0c;不管是各种外卖、家政、美甲、维修、按摩等等&#xff0c;都可以提供上门服务&#xff0c;人们足不出户就可以满足各种需求&#xff0c;商家也能够获得新的拓展业务渠道&#xff0c;提高整体收益…...

iOS中的类型推断及其在Swift编程语言中的作用和优势

iOS中的类型推断及其在Swift编程语言中的作用和优势 一、iOS中的类型推断 类型推断&#xff08;Type Inference&#xff09;是编程语言编译器或解释器自动推断变量或表达式的类型的能力。在支持类型推断的语言中&#xff0c;开发者在声明变量时无需显式指定其类型&#xff0c…...

工业检测基础-缺陷形态和相机光源选型

缺陷形态与相机选择依据 微小点状缺陷&#xff08;如微小气泡、杂质颗粒&#xff09; 相机选择依据&#xff1a; 分辨率&#xff1a;需要高分辨率相机&#xff0c;无论是面阵还是线阵相机&#xff0c;以确保能够清晰地分辨这些微小的点。对于面阵相机&#xff0c;像元尺寸要小&…...

Python100道练习题

Python100道练习题 BIlibili 1、两数之和 num1 20 num2 22result num1 num2print(result)2、一百以内的偶数 list1 []for i in range(1,100):if i % 2 0:list1.append(i) print(list1)3、一百以内的奇数 # 方法一 list1 [] for i in range(1,100):if i % 2 ! 0:lis…...

2024年华中杯数学建模A题太阳能路灯光伏板的朝向设计问题解题全过程文档及程序

2024年华中杯数学建模 A题 太阳能路灯光伏板的朝向设计问题 原题再现 太阳能路灯由太阳能电池板组件部分&#xff08;包括支架&#xff09;、LED灯头、控制箱&#xff08;包含控制器、蓄电池&#xff09;、市电辅助器和灯杆几部分构成。太阳能电池板通过支架固定在灯杆上端。…...

【JavaWeb后端学习笔记】Java上传文件到阿里云对象存储服务

阿里云对象存储 1、创建阿里云对象存储节点2、上传文件2.1 修改项目配置文件2.2 定义一个Properties类获取配置信息2.3 准备一个alioss工具类2.4 创建注册类&#xff0c;将AliOssUtil 注册成Bean2.5 使用AliOssUtil 工具类上传文件2.6 注意事项 使用阿里云对象存储服务分为以下…...

网盘管理系统

文末获取源码和万字论文&#xff0c;制作不易&#xff0c;感谢点赞支持。 设计题目&#xff1a;网盘管理系统的设计与实现 摘 要 网络技术和计算机技术发展至今&#xff0c;已经拥有了深厚的理论基础&#xff0c;并在现实中进行了充分运用&#xff0c;尤其是基于计算机运行的软…...

learn-(Uni-app)跨平台应用的框架

使用 Vue.js 开发所有前端应用的框架&#xff0c;开发者编写一份代码&#xff0c;可发布到iOS、Android、Web&#xff08;包括微信小程序、百度小程序、支付宝小程序、字节跳动小程序、H5、App等&#xff09;等多个平台。 跨平台&#xff1a;Uni-app 支持编译到iOS、Android、W…...

趋同进化与趋异进化的区别及分析方法-随笔03

趋同进化与趋异进化的区别及分析方法 1. 引言 在生物学中&#xff0c;进化是指生物种群随着时间的推移&#xff0c;通过遗传变异、自然选择、基因漂变等机制的作用&#xff0c;逐渐改变其基因型和表型的过程。进化的方式有很多种&#xff0c;其中趋同进化&#xff08;Converg…...

2024年华中杯数学建模B题使用行车轨迹估计交通信号灯周期问题解题全过程文档及程序

2024年华中杯数学建模 B题 使用行车轨迹估计交通信号灯周期问题 原题再现 某电子地图服务商希望获取城市路网中所有交通信号灯的红绿周期&#xff0c;以便为司机提供更好的导航服务。由于许多信号灯未接入网络&#xff0c;无法直接从交通管理部门获取所有信号灯的数据&#x…...

高效查找秘密武器一:位图

有这样的一个问题&#xff1a; 给40亿个不重复的无符号整数&#xff0c;没排过序。给一个无符号整数&#xff0c;如何快速判断一个数是否在这40亿个数 中。 那么我们一般会想到这样做的 1.遍历&#xff0c;时间复杂度O(n) 2.排序&#xff08;N*logN&#xff09;&#xff0c…...

自回归模型(AR )

最近看到一些模型使用了自回归方法&#xff0c;这里就学习一下整理一下相关内容方便以后查阅。 自回归模型&#xff08;AR &#xff09; 自回归模型&#xff08;AR &#xff09;AR 模型的引入AR 模型的定义参数的估计方法模型阶数选择平稳性与因果性条件自相关与偏自相关函数优…...

Linux内核 -- Linux驱动从设备树dts文件中读取字符串信息的方法

从Linux设备树读取字符串信息 在Linux内核中&#xff0c;从设备树&#xff08;DTS&#xff09;中读取字符串信息&#xff0c;通常使用内核提供的设备树解析API。这些API主要位于<linux/of.h>头文件中。 常用函数解析 1. of_get_property 获取设备树中的属性。原型:con…...

图片懒加载+IntersectionObserver

通过IntersectionObserver实现图片懒加载 在JavaScript中&#xff0c;图片懒加载可以通过监听滚动事件和计算图片距离视口顶部的距离来实现 在HTML中&#xff0c;将src属性设置为一个透明的1x1像素图片作为占位符&#xff0c;并将实际的图片URL设置为data-src属性。 <img c…...

MySQL的获取、安装、配置及使用教程

一、获取MySQL 官网地址:https://www.mysql.com MySQL产品:企业版(Enterprise)和社区版(Community)社区版是通过GPL协议授权的开源软件&#xff0c;可以免费使用。企业版是需要收费的商业软件 MySQL版本历史:5.0、5.5、5.6、5.7和8.0(最新版本)两种打包版本:MSI(安装版)和ZI…...

Odoo在线python代码开发

《Odoo在线python代码开发从入门到精通》 从简入手&#xff0c;由浅入深&#xff0c;Odoo开发不求人 以实例促理解&#xff0c;举一反三 从Python到Odoo&#xff0c;低代码开发的正解之路 代码视频讲解与代码注释配合&#xff0c;帮助用户真正理解每一句代码的作用 《Odoo在…...

Linux应用开发之网络套接字编程(实例篇)

服务端与客户端单连接 服务端代码 #include <sys/socket.h> #include <sys/types.h> #include <netinet/in.h> #include <stdio.h> #include <stdlib.h> #include <string.h> #include <arpa/inet.h> #include <pthread.h> …...

web vue 项目 Docker化部署

Web 项目 Docker 化部署详细教程 目录 Web 项目 Docker 化部署概述Dockerfile 详解 构建阶段生产阶段 构建和运行 Docker 镜像 1. Web 项目 Docker 化部署概述 Docker 化部署的主要步骤分为以下几个阶段&#xff1a; 构建阶段&#xff08;Build Stage&#xff09;&#xff1a…...

连锁超市冷库节能解决方案:如何实现超市降本增效

在连锁超市冷库运营中&#xff0c;高能耗、设备损耗快、人工管理低效等问题长期困扰企业。御控冷库节能解决方案通过智能控制化霜、按需化霜、实时监控、故障诊断、自动预警、远程控制开关六大核心技术&#xff0c;实现年省电费15%-60%&#xff0c;且不改动原有装备、安装快捷、…...

Linux-07 ubuntu 的 chrome 启动不了

文章目录 问题原因解决步骤一、卸载旧版chrome二、重新安装chorme三、启动不了&#xff0c;报错如下四、启动不了&#xff0c;解决如下 总结 问题原因 在应用中可以看到chrome&#xff0c;但是打不开(说明&#xff1a;原来的ubuntu系统出问题了&#xff0c;这个是备用的硬盘&a…...

ardupilot 开发环境eclipse 中import 缺少C++

目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...

基于 TAPD 进行项目管理

起因 自己写了个小工具&#xff0c;仓库用的Github。之前在用markdown进行需求管理&#xff0c;现在随着功能的增加&#xff0c;感觉有点难以管理了&#xff0c;所以用TAPD这个工具进行需求、Bug管理。 操作流程 注册 TAPD&#xff0c;需要提供一个企业名新建一个项目&#…...

面向无人机海岸带生态系统监测的语义分割基准数据集

描述&#xff1a;海岸带生态系统的监测是维护生态平衡和可持续发展的重要任务。语义分割技术在遥感影像中的应用为海岸带生态系统的精准监测提供了有效手段。然而&#xff0c;目前该领域仍面临一个挑战&#xff0c;即缺乏公开的专门面向海岸带生态系统的语义分割基准数据集。受…...

基于SpringBoot在线拍卖系统的设计和实现

摘 要 随着社会的发展&#xff0c;社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 在线拍卖系统&#xff0c;主要的模块包括管理员&#xff1b;首页、个人中心、用户管理、商品类型管理、拍卖商品管理、历史竞拍管理、竞拍订单…...

Golang——6、指针和结构体

指针和结构体 1、指针1.1、指针地址和指针类型1.2、指针取值1.3、new和make 2、结构体2.1、type关键字的使用2.2、结构体的定义和初始化2.3、结构体方法和接收者2.4、给任意类型添加方法2.5、结构体的匿名字段2.6、嵌套结构体2.7、嵌套匿名结构体2.8、结构体的继承 3、结构体与…...

通过MicroSip配置自己的freeswitch服务器进行调试记录

之前用docker安装的freeswitch的&#xff0c;启动是正常的&#xff0c; 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...