一、CT到底测了什么?

  1. 硬件动作

  • X 射线源与探测器阵列对置,围着物体旋转。

  • 每转到一个角度 θ(也叫一个视角 / view),源发射扇形/平行的射线束,探测器阵列上有很多“通道/像素/bin”(记作索引 n)。

  • 每个探测器通道在该角度接收一条射线穿过物体后的强度 I_{\theta}[n]

  1. 衰减物理(Beer–Lambert)
    沿射线路径\ell(\theta,n),物体的线性衰减系数为\mu(x,y)。理想单色下:

这一个标量p_{\theta}[n] 就是一条射线对物体的线积分(也称射线和 / ray sum)。

结论:一个角度的一个探测器通道 = 一条射线 = 一个测量值 pθ[n]

CT 单色理想模型里,探测器在角度 θ、通道位置 s 测到的对数强度,正是把待求的衰减系数 μ(x,y)在直线 L(θ,s) 上的积分。也就是说:

正弦图 = Radon 变换的离散采样。

这里的 RRR(Radon 变换)是线性算子:对任意常数 a,b:

“CT 是线性的”指的就是:测量 ppp 与未知图像 μ 的关系是线性的线积分关系,因此可用 FBP 这类线性逆重建。

二、把所有测量排成“正弦图(sinogram)”

  • 固定角度 θ,把该角度下所有通道 n=1…Ns 的 p_{\theta}[n] 放成一行,叫一条投影

  • 旋转到下一个角度\theta_{k+1}​,得到下一行。

  • 堆叠所有角度 k=1…Nθ,得到一个二维数组:

这个二维数组就是正弦图
直觉:图像中的一个点 (x0,y0)在正弦图里会沿角度画出一条正弦曲线,因此得名“sinogram”。

小例子:如果你有 600 个视角 × 641 个探测器通道,那正弦图就是一个 600×641的二维矩阵。

三、从正弦图回到图像:Radon 变换与 FBP

  • 数学上,μ(x,y) 经Radon 变换 R 变成 p(θ,s)(连续版,s 是探测器横向坐标)。

  • 我们手里有的就是它的离散采样 P[k,n]。

  • 重建就是求“逆 Radon 变换”。最经典的解析法是 FBP(Filtered BackProjection,滤波反投影)

    1. 滤波:对每个角度的投影在探测器方向做 1D 滤波(斜坡滤波 + 窗函数),补偿模糊;

    2. 反投影:把每个角度、每个通道的滤波后数值,按几何关系“抹回去”加到图像像素上,所有角度累加,得到 \hat\mu(x,y)

Radon 变换把“图像”映成“所有直线上的积分”;在 CT 里这就是“每条射线的对数测量”。拿到它(正弦图)后,用 FBP 等逆方法就能把线积分“还原”为衰减系数图像。

FBP = “按 Radon 反演公式实现”的工程算法:先滤波补偿频谱,再反投影还原图像。

四、流程一图流(2D 切片情形)

角度 θ1:  Iθ1[n] →  -ln(Iθ1[n]/I0[n])  → pθ1[n]  →  作为正弦图第1行
角度 θ2:  Iθ2[n] →  -ln(Iθ2[n]/I0[n])  → pθ2[n]  →  作为正弦图第2行...
角度 θK:  IθK[n] →  -ln(IθK[n]/I0[n])  → pθK[n]  →  作为正弦图第K行↓P[k,n](sinogram)↓FBP(每行先滤波,再把所有角度反投影求和)↓μ̂(x,y)(重建图像)

CT 就是:机器在很多角度上,用很多条射线穿过物体,探测器测到每条射线的强度 I;用同通道的空气强度 I0 归一化后做 −ln⁡(I/I0),得到每条射线对衰减图的线积分;把所有角度与通道排成正弦图,再用 FBP/迭代法逆 Radon 变换,重建出 μ(x,y)也就是断层重建的图像。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.pswp.cn/web/98077.shtml
繁体地址,请注明出处:http://hk.pswp.cn/web/98077.shtml
英文地址,请注明出处:http://en.pswp.cn/web/98077.shtml

如若内容造成侵权/违法违规/事实不符,请联系英文站点网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【pycharm】 ubuntu24.04 搭建uv环境

通过uv配置python环境 一直是conda环境 现在有个开源项目说用uv更快更好 所以在pycharm搞起。 一开始在在一个conda项目的里面某个项目里搞 发现会被conda 环境影响。 导致deepseed 安装不了。 python 环境不对 # NOTE: We must explicitly request them as `dependencies` abo…

从软件工程角度谈企业管理

从软件工程角度谈企业管理企业管理,本质上是人与人之间的博弈。 管理的最大难题,不是定目标、不是写流程,而是:如何让个体的利益最大化路径,与组织的整体目标一致? 这就是经济学里的“激励相容”。 在互联网…

vue3 实现前端生成水印效果

vue3 实现前端生成水印效果首先一点哈,就是单纯web前端生成水印只能作为警示使用,如果享彻底防住几乎是不可能的,有无数种方式去掉web前端生成的水印,所以这种方式只当是一个君子协议吧。编写水印组件 首先直接把这部分封装成一个…

Armonia Mall超级数字生态WEB3商城的引领者

Armonia Mall是一个基于Web3技术的超级数字生态商城,旨在打造全球首家Web3数字普惠商城,帮助千万行销人实现数字生态创业,让全球一亿家庭共享数字经济红利。 Armonia Mall商城创始人:石玉华Armonia Mall七大超级机制(模…

Axios与Java Spring构建RESTful API服务集成指南

1 前后端分离时代的技术选择 现在的Web开发,前后端分离已经不是什么新鲜事了。前端用什么?很多团队选择Axios。后端呢?Java Spring依然是企业级应用的首选。 Axios这个JavaScript库确实好用,Promise-based的设计让异步请求变得简单…

Django ORM多对多关系实战指南

一、Django 多对多关系的原理 在关系型数据库中,多对多关系通常需要 第三张中间表 来维护两张表之间的对应关系。 在 Django 中,你只需要定义 ManyToManyField,Django 会自动帮你创建这张中间表。 特点: 可以双向查询(…

STM32 单片机开发 - TIM 定时器(PWM)

一、硬件定时器高级控制定时器 Advanced Control Timers (TIM1/TIM8)通用定时器 General Purpose Timers (TIM2/TIM3/TIM4/TIM5)通用定时器 General Purpose Timers (TIM15/TIM16/TIM17)基本定时器 Basic Timers (TIM6/TIM7)表 1 定时器种类二、TIM 中 PWM 概念PWM 的基本原理就…

OpenCV内置分类器实现简单的人脸识别

引言 人脸检测是计算机视觉领域的基础任务之一,广泛应用于安防监控、人机交互、图像美化等场景。今天我们将通过一段简洁的Python代码,使用OpenCV库实现实时摄像头人脸检测功能。无论你是计算机视觉新手还是有经验的开发者,这篇文章都能帮你理…

Tomcat 性能优化与高并发调优

Tomcat 性能优化与高并发调优1. 引言 经过前几篇文章的学习,我们已经掌握了 Tomcat 的核心原理: Connector 连接器容器体系(Engine → Host → Context → Wrapper)Servlet 执行链路线程模型(Executor Worker&#xf…

MacOS M1安装face_recognition

MacOS M1安装face_recognition一致失败,尝试网上各种方法还是失败,遂分享自己安装成功的经历。 conda虚拟环境python版本:3.9.23准备工作确保 Homebrew 已安装 Homebrew 是 macOS 的包管理器,用于安装依赖项。如果尚未安装&#x…

动态库和静态库的链接加载

静态库的链接与加载静态库(如.a或.lib文件)在编译时直接链接到可执行文件中。编译器会将静态库中实际用到的代码复制到最终的可执行文件,生成独立的二进制文件。优点是不依赖外部库文件,但会导致可执行文件体积较大。生成静态库的…

如何处理在pytorch环境中已经安装的matplotlib无法使用的问题

1 问题已经安装好的matplotlib包无法在pytorch环境中使用。2 方法方法一:用命令安装matplotlib :方法二:打开cmd,使用conda install matplotlib命令安装matplotlib库#输入以下代码段,查询当前执行路径import osos.sys.…

Linux基础命令汇总

系统基础指令 ls:列出目录内容 ls -a:显示所有文件(包括隐藏文件) ls -l:显示详细文件信息 ls /etc:列出 /etc 目录内容 示例: cat:查看文件内容 cat /etc/os-release:查看系统版本信息 cat file1:显示文件内容 cat file1 file2 > merged.txt:合并文件并输出到新…

一场史诗级的冒险——Docker命令大航海!

各位亲爱的开发者、运维勇士、以及所有对现代化软件部署充满好奇的小伙伴们!今天,我们将开启一场史诗级的冒险——Docker命令大航海!我们将乘坐“Docker号”巨轮,驶向容器化技术的星辰大海。 这不是一篇枯燥的说明书,而…

告别依赖混乱:Spring IoC 容器与 DI 依赖注入入门精讲

目录 什么是 IoC IoC 介绍 传统开发思路 解决方法 IoC 优势 DI IoC & DI 使用 IoC 详解 Bean 的存储 Controller(控制器存储) 获取 bean 对象的其他方法 bean 命名 面试题之 ApplicationContext pk BeanFactory Service(服…

视频理解学习笔记

目录 VideoRefer VideoPrism 核心解密:通用视频编码器的力量 VideoRefer VideoRefer 是由浙江大学和阿里达摩院联合推出的视频对象感知与推理技术,增强视频大型语言模型(Video LLMs)的空间-时间理解能力。简单一点来说就是可以…

P1198题解

题目链接 开题第一件事看数据范围.这里的范围是二十万,支持O(nlogn). 这是一个RMQ问题,同时要加点,我们因此考虑ST表或者线段树.这里用线段树是核弹打蚊子,没有意义,我们因此考虑ST表.我们注意到如果加点操作需要改动ST表原来的东西ST表就会炸掉,我们就要考虑更高级的数据结构…

使用yolov8对视频进行目标检测

使用 Ultralytics 的 YOLO 模型对视频进行逐帧目标检测非常简单,以下是完整的实现方法: 我们的输入视频是这样的 视频目标检测输入视频这里是天津市和平区天津大学附近,感兴趣的小伙伴来天津玩哈!! 1. 安装依赖 确保已…

Edge浏览器的自动化点击系统

Tag_click_openclose_V6 开发与使用注意事项 网页自动化点击系统 一个基于Python和CustomTkinter开发的桌面应用程序,通过Selenium实现对Edge浏览器的自动化控制。点击Tag_click_openclose_V6进入Github自取,记得点赞收藏嗷。 功能介绍 连接到已打开…

Python股票数据分析与预测系统 LSTM神经网络算法 股票价格预测 Tensorflow深度学习 机器学习 Flask框架 东方财富(建议收藏)✅

博主介绍:✌全网粉丝50W,前互联网大厂软件研发、集结硕博英豪成立软件开发工作室,专注于计算机相关专业项目实战6年之久,累计开发项目作品上万套。凭借丰富的经验与专业实力,已帮助成千上万的学生顺利毕业,…