数学中的图像重构 -- CT中的 Radon 变换 图解

直线检测-Radon变换、Hough变换 radon函数对应格式包括:[R,xp] = radon(I,theta); 其中,R为线积分值,xp为径向坐标,theta为投影角度; 图像投影,就是说将图像在某一方向上做线性积分(累加求和)。如果将图像看成二维函数f(x, y),则其投影就是在特定方向上的线性积分,比如f(x, y)在垂直方向上的线性积分就是其在x轴上的投影;f(x, y)在水平方向上的线积分就是其在y轴上的投影。通过这些投影,可以获取图像在指定方向上的突出特性,这在图像模式识别等处理中可能会用到。 Radon(拉东)算... 阅读详情
AI摘要

本文深入探讨了拉东变换的基本原理及其在图像重构中的应用。详细解析了拉东变换如何通过对函数进行线积分实现CT扫描效果,以及如何在不同维度下进行推广。此外,还介绍了后向投影算子的概念及其在图像重建中的作用。

这是我之前在剑桥大学上的一节研究生应数选修课 Image Reconstruction,之前没怎么听懂,所以这段时间想把它补起来。
这节课老师没有明确的讲义,所以我就照记着的一些书的顺序,把它复习了。
整堂课只有我一个人上 QAQ,所以应该算是在数学系里比较小众的方向吧。
因此这篇笔记 基本上是为了 我自己以后查资料或公式好找一点。
笔记部分摘自 Mathematical Methods in Image Reconstruction. F.Natterer and F.Wuebbeling.

引言

图像重构 Intro

Radon Transform 拉东变换 R f {\color{red}\mathcal{R}f} Rf

  • 拉东变换是一个积分变换

  • 先它将定义在二维平面上的一个函数 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​) 沿着平面上的任意一条直线做线积分,相当于对函数 f ( x 1 , x 2 ) f(x_1,x_2) f(x1​,x2​) 做 CT扫描

  • 令 X射线 在 x x x 点 线性衰减后 为 f ( x ) f(x) f(x)。 那么 X射线光束 L L L 经过的部分成像就是 g ( L ) = ∫ L f ( x ) d x g(L)=\int_L f(x)dx g(L)=∫L​f(x)dx 。

  • 如果我们用 s s s (原点到射线的距离)与 θ \theta θ (距离的夹角)表示射线 L L L, 如图:

randon1

  • 可得这条直线为 L ( θ , s ) = { x ∈ R 2 : x ⋅ θ = s } ,    θ ∈ S 1 ,    s ∈ R 1 L(\theta,s) = \{x\in \R^2: x\cdot \theta = s\},\; \theta \in S^1, \; s\in \R^1 L(θ,s)={ x∈R2:x⋅θ=s},θ∈S1,s∈R1

  • 可得如下方程:

g ( θ , s ) = ∫ x ⋅ θ = s f ( x ) d x = ( R f ) ( θ , s ) g(\theta,s) = \int_{x\cdot \theta = s} f(x)dx = (\mathcal{R}f)(\theta,s) g(θ,s)=∫x⋅θ=s​f(x)dx=(Rf)(θ,s)

  • 用python把它表示出来:
import matplotlib.pyplot as plt
import numpy as np
# 为了之后扩展到 n 维 这里用 x_1 x_2 表示  
x1 = np.arange(-10,10.01,.01) # x_1 可以理解为 二维(x,y) 坐标轴的x
x2 = np.arange(-10,10.01,.01) # x_2 可以理解为 二维(x,y) 坐标轴的y
xv = np.meshgrid(x1,x2) # 网格化
degree = 45 # theta 角度  
theta = degree/180 *np.pi
s = 2. # s 长度
Lv = abs(xv[0]*np.cos(theta) + xv[1]*np.sin(theta)-s) # x1*cos(theta) + x2*cos(theta) - s = 0
L = np.max((Lv<0.01)*xv[1],axis=0)+np.min((Lv<0.01)*xv[1],axis=0) # 筛选出 满足条件的值
# L.nonzero()  L 的非零值坐标  
plt.plot(x1[L.nonzero()],L[L.nonzero()],'blue')
plt.show()

plt1

  • 我还做了变量为 s s s 和 θ \theta θ 的动图:

gif-s
gif-theta

  • 接下来,把它拓展到更高维度 n 维。
  • 构筑 n 维超平面 H ( θ , s ) = { x ∈ R n : x ⋅ θ = s } ,    θ ∈ S n − 1  (unit sphere)  ,    s ∈ R 1 H(\theta,s) = \{x\in \R^n: x\cdot \theta = s\},\; \theta \in S^{n-1} \text{ (unit sphere) }, \; s\in \R^1 H(θ,s)={ x∈Rn:x⋅θ=s},θ∈Sn−1 (unit sphere) ,s∈R</
Radon变换 Radon变换与逆变换原理,也是CT投影和图像重建的基本理论。 阅读详情

相关推荐

Radon变换的图像倾斜校正 matlab程序

使用matlab对图像进行倾斜校正,该校正的方法是采用radon变换。。。。

电赛2024年H题智能小车基于MSPM0G3507主控MCU(利用8路灰度加上MPU6050的解决方式)

最后我觉得这个项目最重要的部分还是陀螺仪的精准度,如果一个陀螺仪的精准度高,这个项目就十分简单了,像mpu6050这种陀螺仪精准度就稍微差了一点,他有个最严重的问题就是温漂,偏航角会随着温度变化为变化,这一点在跑发挥项一的时候十分关键的,因为这个只差基督就会导致车子跑偏,导致无法完成 整个项目。如果条件足够的话建议可以换一个好一点的陀螺仪,然后就是灰度如果没有条件同样也可以换成红外。以上就是本次项目的一些小建议。

weixin_60991529的博客 6242

从Chimera到ChimeraX:科研绘图升级指南,让你的论文配图更专业

本文详细介绍了从UCSF Chimera升级到ChimeraX的科研绘图指南,帮助研究者提升论文配图质量。ChimeraX在渲染引擎、大分子处理能力和动画功能上具有显著优势,特别适合生命科学和结构生物学领域。文章涵盖材质设置、专业配色、工作流程和期刊适配等核心技巧,助力产出出版级分子可视化图像。

weixin_33670786的博客 929

用Python实现斗地主游戏(终端版)

马上就要过年了 大家也都放假了吧 过年必不可少的活动 打牌! 今天带大家来写一份斗地主 (又是好多天没怎么更新,忙成狗啊) 那么实现一个斗地主呢 我们肯定要先完善卡牌系统 from collections import Counter import numpy as np import itertools def cmp_to_key(mycmp): 'Convert a cmp= function into a key= function' class K: def _

Miku_wx的博客 9855

MATLAB - 使用 RRT 进行挖掘机运动规划

本例演示了如何使用运动规划器在包含障碍物的环境中为挖掘机规划路径。在此示例中,您将以运动树的简化形式为挖掘机建模,然后使用基于采样的运动规划器确定挖掘机在存在障碍物的两个姿势之间的可行路径。在 Simscape™ 多体™ 模型中模拟结果。

机器人控制与仿真应用 1850

大厂硬件笔试机试题ASIC设计方向-卷3

本文提供了30道硬件工程师机试题目,涵盖数字逻辑、模拟电路、CMOS和信号处理等核心领域。选择题和判断题均配有详细解析,重点考察Verilog编程、CMOS特性、触发器设计、采样定理等知识点。题目难度适中但覆盖面广,如Verilog中阻塞/非阻塞赋值的区别、CMOS静态功耗来源、Nyquist采样定理、通用逻辑门判断等。备考建议强调掌握逻辑门设计、Verilog时序电路编写和CMOS特性理解。这些题目反映了华为等大厂硬件机试的典型考查内容,通过系统复习可有效提升机试成绩,为后续面试奠定基础。

启芯硬件的博客 543

GEE:使用 CCDC 算法进行连续变化检测和分类

连续变化检测和分类(CCDC)算法是一种广泛应用于遥感数据分析的方法,可以用于检测土地覆盖变化、农作物生长状态的变化以及水资源的变化等。Google Earth Engine是一个强大的云端平台,提供了丰富的遥感数据和工具,可以用于执行各种类型的遥感数据分析。本文将介绍如何使用Google Earth Engine的CCDC算法进行连续变化检测和分类。

养乐多的博客 5679

人工智能---什么是Transformer?

Transformer是一种强大的神经网络架构,最初由Google的研究人员在论文《Attention is All You Need》中提出,用于自然语言处理任务,特别是在机器翻译方面取得了巨大成功。Transformer的核心思想是完全基于自注意力机制(self-attention mechanism)来实现序列到序列(sequence-to-sequence)的学习。它在自然语言处理(NLP)和其他序列到序列任务中表现出色,逐渐成为该领域的主流模型。近些年也逐渐在自动驾驶领域有所应用。

智能汽车人的博客 3955

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

上一篇: 数学中的图像重构-- 雷达成像 Intro
下一篇: 接雨水 LeetCode 算法图解
Varalpha
博客等级 码龄7年 353粉丝 49原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值