全国大学生数学建模竞赛——2017A题(学习笔记)

article/2025/8/23 13:31:42

 

目录

一、任务分析

二、题目一求解

题目分析:

模型建立:

模型求解:

3.1读数据,绘图

3.2探测器之间的距离计算

3.3小圆与发射—接收系统的相对运动

3.4提取小圆圆心位置坐标

三、题目二求解

 


一、任务分析

历年赛题 

任务:CT标定,CT图像重建

知识:图像处理

标定模板为椭圆与球。CT测量所得数据为512*180的二维矩阵。

行数512:接收点个数,列数180:CT旋转次数。所成的二维矩阵并不是真实物体的成像,而是不断旋转的水平投影的叠加。

每个角度都有一个大小为512的投影向量,一共180个角度的叠加。

二、题目一求解

求解:CT系统旋转中心在正方形托盘中的位置(x_0,y_0)探测器单元之间的距离d_0CT系统使用的X射线的180个方向\theta_i

题目分析

标定 CT 系统的安装误差

模型建立:

(1)探测器之间的距离

模型求解:

3.1读数据,绘图

表格一数据读取

A=xlsread('E:\math_model_data\data2017\A.xls');
imshow(A)

 

表格二数据读取

B=xlsread('E:\math_model_data\data2017\A.xls',2);
X=1:size(B,2);
Y=1:size(B,1);
figure(1)
mesh(X,Y,B)

 

3.2探测器之间的距离d_0计算

B=xlsread('E:\math_model_data\data2017\A.xls',2);figure
lenb = (1:length(B));subplot(221)
scatter(lenb( B(:,1)~=0 ),B( B(:,1) ~= 0 ,1),20,'filled')
title('1')subplot(222)
scatter(lenb( B(:,6)~=0 ),B( B(:,6) ~= 0 ,6),20,'filled')
title('6')subplot(223)
scatter(lenb( B(:,11)~=0 ),B( B(:,11) ~= 0 ,11),20,'filled')
title('11')subplot(224)
scatter(lenb( B(:,60)~=0 ),B( B(:,60) ~= 0 ,60),20,'filled')
title('60重合')

图1:球投影29个点。图6:球投影29个点。 图11:球投影28个点。

解得,探测器之间的距离d_0和小圆直径的不等关系式:  直径/29 < 探测器距离 < 直径/28\frac{D}{29}< d_0< \frac{D}{28}

由图即可解得d_0近似解:\frac{8}{29}< d_0< \frac{8}{28}

3.3小圆与发射—接收系统的相对运动

模板:小球与椭圆,小球投影为小圆。系统:CT系统。

模板与系统相对运动,一动一静。以系统为参照物,系统看做静止物体,则模板为运动物体。取第一个探测器为坐标原点,建立坐标系,解算

{\color{DarkBlue} d_y = -r * sin(\theta+\theta_0)d_\theta }

{\color{DarkBlue} y = r*cos(\theta+\theta_0)+C}

根据特殊点解得\theta_0rC

 

点A:y_A = 60,\theta_A=\pi

点B:y_B = 233.5,\theta_B = \frac{\pi}{2}

点C:y_C = 59,\theta_C+\theta = \pi

\left \{ \begin{aligned} 59 & = -R+C \\ 60 & = R\cos(\pi+\theta_0)+59+R \\ 233.5 & = R\cos(\frac \pi2+\theta_0)+59+R \end{aligned} \right.

解得

y = 190.2644\cos(\theta+5.8173)+249.2644

3.4提取小圆圆心位置坐标

分离段:取极值

 

重合段:边缘提取后,取平均值作为中心

得到180个小圆圆心,解得180个角度。

{\color{DarkBlue} \theta_i = \arccos(\frac {y_i-C} {r} ) + \theta_0}

3.5参数修正

3.5.1 进一步确定旋转角度的范围

 

3.5.2 修正旋转中心坐标

 

三、题目二求解

模型求解:

3.1输出重建图像

滤波反投影重建算法

3.2介质在正方形托盘中位置的确定

3.3吸收率的确定

 

 


http://chatgpt.dhexx.cn/article/EZ6jrXpD.shtml

相关文章

PinPoint使用手册(图文并茂版)

用了一段时间PinPoint&#xff0c;感觉很有效果&#xff0c;值得推广&#xff0c;在这里把使用时总结出来的知识分享给大家&#xff0c;网上有很多Pinpoint安装部署的教程以及与其他APM比对的文章&#xff0c;这里就不赘述了&#xff0c;直接上图 01首页 02Server切换 03链路及…

Pinpoint部署和踩坑记录

pinpoint是韩国人开源的 APM (Application Performance Management/应用性能管理)工具 - Pinpoint。它基于google Dapper开发&#xff0c;目标就是为n(n>1)层架构开发新的跟踪平台&#xff0c;为n层架构的系统提供解决方案。pinpoint能够对基于java的大规模分布式系统和应用…

Pinpoint 技术架构及部署

目录 一、背景 二、简介 三、Pinpoint Collector 收集端 四、Pinpoint Web 五、Pinpoint Agent 六、监控效果图 七、其他 一、背景 随着项目微服务的进行&#xff0c;微服务数量逐渐增加&#xff0c;服务间的调用也越来越复杂&#xff0c;我们急切需要一个APM工具帮我们…

性能测试利器 — 全链路监控工具Pinpoint安装教程(非docker版本)

1、pinpoint介绍 1.1、相关简介 pinpoint是开源在github上的一款APM监控工具&#xff0c;它是由Java编写的&#xff0c;用于大规模分布式系统的监控&#xff1b;它对性能的影响最小(只增加约3%资源利用率)&#xff0c;安装agent是无侵入式的&#xff0c;只需要在被测试的Tomc…

pinpoint监控学习笔记

pinpoint分以下主要模块&#xff1a; pinpoint-agent&#xff0c;这个工程引用了其它核心jar&#xff0c;整个pinpoint监控的配置文件在这个项目中: pinpoint.config。 pinpoint-bootstrap: 这个工程定义了当jvm启动时&#xff0c;利用java instrument&#xff0c;实现对于后续…

Pinpoint 快速开始

Pinpoint有三个主要组件(collector, web, agent)&#xff0c;并使用HBase作为存储。Collector和Web被打包为单个war文件&#xff0c;而agent被打包以便可以作为java agent附加到应用。 Pinpoint quickstart 为agent提供一个示例TestApp&#xff0c; 并使用tomcat maven插件来启…

Pinpoint 一款强大的APM工具

背景 程序的监控一直是程序员最头痛的事情之一&#xff0c;现网程序有问题怎么办&#xff1f;看进程看端口 top/free/df 三件套&#xff1f;网络抓包&#xff1f;看日志&#xff1f;所以为了满足这些初级需求很多公司都做了主机监控&#xff0c;进程端口监听等功能&#xff0c…

pinpoint新增自定义插件监控

pinpoint&#xff1a;源码地址&#xff1a;https://github.com/pinpoint-apm/pinpoint.git 定义&#xff1a;基于Google的Dapper理论&#xff0c;通过在程序内部的class的方法&#xff0c;构造方法等地方埋点&#xff0c;通过Java-agent技术实现类增强的一种链路追踪的监控&…

pinpoint 安装 for spring cloud

pinpoint 安装 for spring cloud 1.环境说明2.安装步骤2.1 安装pinpoint2.2 安装agent2.2.1 下载2.2.2 agent配置2.2.3 JVM 配置2.2.4 日志中输出traceId 3.部署问题3.1 多个相同名称的项目放在一个pinpoint下监控3.2 agent id 过长问题&#xff08;最大长度不能超过24个字符&a…

利用Pinpoint搭建全链路监控系统

随着项目微服务的进行&#xff0c;微服务数量逐渐增加&#xff0c;服务间的调用也越来越复杂&#xff0c;我们急切需要一个APM工具帮我们监控各个服务的性能及对服务间的调用进行跟踪&#xff0c;而通过调研多个开源APM工具后&#xff0c;最终我们选择了Pinpoint。 简介 Pinp…

pinpoint安装部署(相关博客合集)

pinpoint安装部署 说明一、PinPoint介绍及工作原理1.1 确定部署的组件及服务 二、相关组件版本兼容情况2.1 确定版本 三、部署3.1 HBASE3.2 agent 说明 本博客写在搭建PinPoint之前&#xff0c;主要是用来记录查阅的相关博客资料&#xff0c;等到动手搭建完再更新实际部署操作…

分布式跟踪工具Pinpoint技术入门

本文初衷 因为工作需要&#xff0c;这周研究了一下APM&#xff08;Application Performance Management&#xff09;相关技术&#xff0c;看了些许资料&#xff0c;对比了各种技术的特点&#xff0c;最终选择Pinpoint作为性能监控工具&#xff0c;本文的主要目的是记录本人部署…

【Pinpoint】安装

文章目录 一. 下载1. 版本&#xff08;2.3.3&#xff09;2. [下载地址](https://github.com/pinpoint-apm/pinpoint/releases/tag/v2.3.3)3. 下载内容4. [hbase](http://archive.apache.org/dist/hbase/1.2.6/) 二. 安装1. 安装JDK82. 安装hbase1.2.61. 解压文件2. 修改sh文件3…

2、Pinpoint-Server端安装

0、本章节简介 安装Pinpoint服务端 采用Docker安装所以需要提前安装 docker和 docker-compose 本文使用的版本是Pinpoint:2.1版本 ps 由于Pinpoint依赖了很多的基础镜像&#xff0c;所以推荐不要在已经部署了程序的机器上部署&#xff0c;以免造成端口号冲突&#xff0c;推荐使…

pinpoint 介绍

基本概念 APM (Application Performance Management/应用性能管理)工具 为大规模分布式系统. 开发语言:Java. 特点: ● 低侵入性 不用改一行业务代码 ● 低性能影响(大约3%资源增长) ServerMap 可以直观的看到分布式系统拓扑结构和节点的事务数量. Realtime Active Thr…

Pinpoint--基础--02--架构设计

Pinpoint–基础–02–架构设计 1、整体架构 1.1、Pinpoint Collector 数据收集模块&#xff0c;接收Agent发送过来的监控数据&#xff0c;并存储到HBase部署在 Web 容器上 1.2、Pinpoint Web 监控展示模块&#xff0c;展示系统调用关系、调用详情、应用状态等&#xff0c;并…

PinPoint(二)技术详解

英文原文&#xff1a;https://naver.github.io/pinpoint/1.8.4/techdetail.html 说明&#xff1a;【】中内容为方便解释自己加的 在这篇文章中&#xff0c;我们描述了Pinpoint的技术细节比如请求追踪&#xff08;transaction tracing&#xff09;和字节码插装&#xff08;byte…

pinpoint搭建及springboot接入使用

效果图&#xff1a; 搭建步骤 Pinpoint github地址&#xff1a;GitHub - pinpoint-apm/pinpoint: APM, (Application Performance Management) tool for large-scale distributed systems. 下载对应的包以及安装hbase 首先安装hbase hbase版本是1.7.1&#xff0c; 下载地址…

APM链路监控:PinPoint使用手册

文章目录 一、PinPoint简介二、PinPoint架构组成三、PinPoint使用说明1.首页2.请求调用栈3.服务状态4.链路事务筛选 结尾 一、PinPoint简介 pinpoint是开源在github上的一款APM监控工具&#xff0c;它是由java编写的&#xff0c;用于大规模分布式系统的监控&#xff1b;它对性…

Pinpoint--基础--3.1--安装部署--环境准备

Pinpoint–基础–3.1–安装部署–环境准备 前提 使用hd用户登陆 完成基础环境搭建https://blog.csdn.net/zhou920786312/article/details/118212302代码位置 https://gitee.com/DanShenGuiZu/learnDemo/tree/master/pinpoint-learn/demo11、安装环境准备 1.1、jdk1.8 基础环…