欢迎光临散文网 会员登陆 & 注册

拉东变换全解: CT和烂苹果[1]

2019-08-31 17:06 作者:nyasyamorina  | 我要投稿

在开始简介拉东变换之前, 先来看一条视频  (宣传自己)

然后我们来说一下CT的工作原理

CT   (Computed Tomography, 计算机断层成像)

CT就是把一个人送进洞里, 然后获得这个人的全部断层图像, 那么它是怎么工作的呢


图片来自wikipedia

大家可能大概应该都有拍过x光片吧?  x光的成像原理不难, 就是x光穿过身体, 越厚实的地方阻隔x光越多, 成像后越厚实的地方就越白, 非常简单对不对.   那么CT其实就是在x光的基础上加了很多数学魔法而已

在某一个瞬间, 人体的某个部位进入了CT的扫描范围, x光的发射和探测装置就会在洞里旋转了半圈 (补充: 拍x光片的探测器是平面的, 而ct是一条线状的)

而在某一个瞬间的某一个角度, x光和探测器如下图所示

黑色方块是人体内部组织, 蓝色的圆圈是ct机的那个洞, 绿色的是x光的路径, 红色的是探测器, 紫色的是探测器收到的x光强度(蓝色的那条线是x光正常强度)

这个人的内脏真的很特殊

如果把这半圈得到的信息整理成一张图片  (假设x光强度越强, 得到的颜色越黑,   不过现实的x光片也确实是这样的),  如下图

这张图片就叫做正弦图(sinogram)

这张正弦图里记录了在这个瞬间人体截面的所有信息(有损失), 那么就可以通过某种方法得到人体的截面了

在开始说这种方法时, 先来介绍一下本篇的主角: 拉东变换

拉东变换 (Radon Transform, 有时还叫R变换)

其实CT这种, 由一个物体得到这个物体相对应的正弦图的方法就叫做拉东变换

我们假设平面xOy中存在一个密度函数 ρ(x, y) , 也就是说在任意一点(x,y)存在一个密度数值

我们再假设光线与x轴的夹角为 θ , 屏幕为无限长, 且屏幕上的任意一点可以用 表示, 那么屏幕上任意一点在任意角度得到光线被削弱的强度可以用一个函数表示: R(r, θ), 且这个R函数与ρ密度函数相关

那么我们来求这个R函数的表达式

假设在某一角度 θ_0, 屏幕上的一点 r_0, 光线路径为 L, 那么屏幕上得到的强度 R_0 就等于路径L上对ρ函数的积分了, 如下图所示

用数学表达就是下面的东西

使用简单的数学知识可以知道: 这个路径L的表达式为  r - x cos θ - y sin θ  =  0

那么我们需要想办法把路径L和ρ函数扯上关系

在这里我们需要科普一个 "冲激函数 δ(x)" , 这个函数不是数学上严格存在的函数, 但是也不影响人们去使用它

δ(x)只有在x=0时它才会等于1, 而其他时候则等于0, 图像如下图所示

只有x=0时才有一个高度为1的尖峰

这个函数有一个数学上不允许存在的定义:

这里来说一下为什么不允许存在 (学历不深的请尽快逃离): 是数学上规定, 测度为0的区间积分也为0, 但是这个函数在区间 (0-, 0+)中, 明明测度为0, 但是积分后却等于1.   这不是什么bug, 而是人为规定的, 所以才说这个函数严格来说不存在

有了这个函数之后, 我们可以用这个函数把ρ函数多余的部分压平(便乘0): ρ(x, y) * δ(r-xcosθ-ysinθ), 然后在平面xOy中积分, 就可以得到了ρ函数在路径L上的积分了, 于是拉东变换就是下面的表达式:

desmos的积分不能忽略上下限, 就只能这样凑合着看了

上面的积分式是拉东变换的标准写法, 不过我发现在计算机里基本上用不了, 而且平面积分也不好计算, 于是我发现用参数方程代替ρ的xy就可以得到传统意义上的线积分:

不知道为什么没人会这么写= =, 明明这样比较方便

突然被家里人赶出家门, 剩下的拉东逆变换下次新开一篇吧

拉东变换全解: CT和烂苹果[1]的评论 (共 条)

分享到微博请遵守国家法律