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

这是我之前在剑桥大学上的一节研究生应数选修课 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)=Lf(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)={xR2:xθ=s},θS1,sR1

  • 可得如下方程:

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θ=sf(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)={xRn:xθ=s},θSn1 (unit sphere) ,sR1
  • 超平面垂直于 θ \theta θ 距离为 s s s
  • 同时 H ( − θ , − s ) = H ( θ , s ) H(-\theta,-s) = H(\theta,s) H(θ,s)=H(θ,s) 为 偶函数
  • 可定义

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

  • R f \mathcal{R}f Rf 函数在 单位圆柱 unit sylinder 上

C n = { ( θ , s ) : θ ∈ S n − 1 ,    s ∈ R 1 } {\color{red}C^n} = \{(\theta,s): \theta \in S^{n-1} ,\; s\in \R^1\} Cn={(θ,s):θSn1,sR1}

  • 因为 H ( − θ , − s ) = H ( θ , s ) H(-\theta,-s) = H(\theta,s) H(θ,s)=H(θ,s) , 所以 ( R f ) ( − θ , − s ) = R f ( θ , s ) (\mathcal{R}f)(-\theta,-s) = \mathcal{R}f(\theta,s) (Rf)(θ,s)=Rf(θ,s) 为偶函数

  • 由于 s − x ⋅ θ = 0 s - x\cdot \theta = 0 sxθ=0 变换可得:

( R f ) ( θ , s ) = ∫ R n δ ( s − x ⋅ θ ) f ( x ) d x (\mathcal{R}f)(\theta,s) = \int_{\R^n} \delta(s - x \cdot \theta) f(x) dx (Rf)(θ,s)=Rnδ(sxθ)f(x)dx

  • θ ⊥ = { x ∈ R n : x ⋅ θ = 0 } \theta^\perp = \{x\in\R^n: x\cdot \theta = 0\} θ={xRn:xθ=0} 正交 θ \theta θ 的子空间

( R f ) ( θ , s ) = ∫ θ ⊥ f ( s θ + y ) d y (\mathcal{R}f)(\theta,s) = \int_{\theta^\perp}f(s\theta + y) dy (Rf)(θ,s)=θf(sθ+y)dy

pic 3

  • 由于 f ∈ S ( R n ) f \in {\color{red}\mathcal{S}(\R^n)} fS(Rn)速降函数空间内(Schwartz space)
  • 那么 R f ∈ S ( C n ) \mathcal{R}f \in \mathcal{S}(C^n) RfS(Cn)
  • S ( C n ) {\color{red}\mathcal{S}(C^n)} S(Cn)

S ( C n ) = { g ∈ C ∞ ( C n ) : s l ∂ k ∂ s k g ( θ , s )  bounded  ,    l , k = 0 , 1 , ⋯ } \mathcal{S}(C^n) = \Big \{ g \in \mathcal{C}^\infty(C^n): s^l \frac{\partial^k}{\partial s^k} g(\theta,s) \text{ bounded }, \; l,k = 0,1,\cdots \Big \} S(Cn)={gC(Cn):slskkg(θ,s) bounded ,l,k=0,1,}

  • C ∞ ( C n ) {\color{red}\mathcal{C}^\infty}(C^n) C(Cn) 是所有从 C n C^n Cn 射到 C \mathcal{C} C光滑函数 (无穷阶可导的函数)

  • 卷积运算

( g ⋆ h ) ( θ , s ) = ∫ R 1 g ( θ , s − t ) h ( θ , t ) d t (g \star h)(\theta, s) = \int_{\R^1} g(\theta, s-t)h(\theta, t)dt (gh)(θ,s)=R1g(θ,st)h(θ,t)dt

傅里叶变换 F {\color{red}\mathcal{F}} F

F ( g ( θ , s ) ) = ( 2 π ) − 1 / 2 ∫ R 1 g ( θ , s ) e − i s σ d s \mathcal{F}(g(\theta, s)) = (2\pi)^{-1/2} \int_{\R^1}g(\theta, s) e^{-is\sigma} ds F(g(θ,s))=(2π)1/2R1g(θ,s)eisσds

  • f ∈ S ( R n ) ,    θ ∈ S n − 1  (unit sphere)  ,    σ ∈ R 1 f\in \mathcal{S}(\R^n), \; \theta \in S^{n-1} \text{ (unit sphere) }, \; \sigma \in \R^1 fS(Rn),θSn1 (unit sphere) ,σR1

F [ ( R f ) ( θ , σ ) ] C n = ( 2 π ) n − 1 2 F [ f ( σ θ ) ] R n \mathcal{F}\big[(\mathcal{R}f)(\theta, \sigma)\big]_{C^n} = (2\pi)^{\frac{n-1}{2}}\mathcal{F}[f(\sigma \theta)]_{\R^n} F[(Rf)(θ,σ)]Cn=(2π)2n1F[f(σθ)]Rn

  • f , g ∈ S ( R n ) f, g \in \mathcal{S}(\R^n) f,gS(Rn)

R f ⋆ R g C n = R ( f ⋆ g ) R n \underset{C^n}{\mathcal{R}f \star \mathcal{R}g} = \underset{\R^n}{\mathcal{R}(f\star g)} CnRfRg=RnR(fg)

BackProjection operator 后向投影 算子 R ∗ {\color{red}\mathcal{R}^*} R

( R ∗ g ) ( x ) = ∫ S n − 1 g ( θ , x ⋅ θ ) d θ ,    g ∈ S ( C n ) (\mathcal{R}^* g)(x) = \int_{S^{n-1}} g(\theta, x\cdot \theta) d\theta, \; g\in \mathcal{S}(C^n) (Rg)(x)=Sn1g(θ,xθ)dθ,gS(Cn)

  • 因此 对于 g = R f ,    ( R ∗ g ) ( x ) g = \mathcal{R}f, \; (\mathcal{R}^*g)(x) g=Rf,(Rg)(x) 是 所有超平面 经过 x x x, f f f 的积分 的均值。

  • 在数学中 可以说 R ∗ \mathcal{R}^* R R \mathcal{R} R 的共轭

  • 对于 g ∈ S ( R 1 ) ,    f ∈ S ( R n ) g \in \mathcal{S}(\R^1), \; f\in \mathcal{S}(\R^n) gS(R1),fS(Rn)

∫ R 1 g ( s ) ( R f ) ( θ , s ) d s = ∫ R n g ( x ⋅ θ ) f ( x ) d x \int_{\R^1} g(s) (\mathcal{R}f)(\theta,s) ds = \int_{\R^n} g(x \cdot \theta)f(x) dx R1g(s)(Rf)(θ,s)ds=Rng(xθ)f(x)dx

  • 对于 g ∈ S ( C n ) ,    f ∈ S ( R n ) g \in \mathcal{S}(C^n), \; f\in \mathcal{S}(\R^n) gS(Cn),fS(Rn)

∫ S n − 1 ∫ R 1 g R f d θ d s = ∫ R n ( R ∗ g ) f ( x ) d ( x ) d x \int_{S^{n-1}}\int_{\R^1} g \mathcal{R}f d\theta ds = \int_{\R^n} (\mathcal{R}^*g)f(x)d(x) dx Sn1R1gRfdθds=Rn(Rg)f(x)d(x)dx

  • f ∈ S ( R n ) f\in \mathcal{S}(\R^n) fS(Rn) g ∈ S ( C n ) g\in \mathcal{S}(C^n) gS(Cn)

( R ∗ g ) ⋆ f = R ∗ ( g ⋆ R f ) (\mathcal{R}^*g ) \star f = \mathcal{R}^* (g \star \mathcal{R}f) (Rg)f=R(gRf)

  • g ∈ S ( C n ) g\in\mathcal{S}(C^n) gS(Cn) 为偶 (例 g ( θ , s ) = g ( − θ , − s ) g(\theta,s)= g(-\theta,-s) g(θ,s)=g(θ,s) )

F [ ( R ∗ g ) ( ξ ) ] = 2 ( 2 π ) n − 1 2 ∣ ξ ∣ 1 − n F [ g ( ξ ∣ ξ ∣ , ∣ ξ ∣ ) ] \mathcal{F}\big[(\mathcal{R}^* g)(\xi)\big] = 2 (2\pi)^{\frac{n-1}{2}}\lvert \xi \rvert^{1-n} \mathcal{F}\Big[g(\frac{\xi}{\lvert \xi \rvert},\lvert \xi \rvert)\Big] F[(Rg)(ξ)]=2(2π)2n1ξ1nF[g(ξξ,ξ)]

F [ ( I α g ) ( θ , σ ) ] = ∣ σ ∣ − α F [ g ( θ , σ ) ] ,    α < 1 \mathcal{F}\big[(\mathcal{I}^\alpha g)(\theta, \sigma)\big] = \lvert \sigma \rvert^{-\alpha} \mathcal{F}\Big[g(\theta,\sigma)\Big], \; \alpha <1 F[(Iαg)(θ,σ)]=σαF[g(θ,σ)],α<1

  • 2
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值