最近学习了基于X空间的磁粒子成像理论。正好凑时间复习/整理一下最近学习的磁粒子成像的基本理论框架,包含两部分:
1.基于系统矩阵的MPI重建知识整理
2.基于x空间的MPI重建知识整理
梳理内容包括:仿真常用的公式,成像(仿真)流程。刚刚入门MPI如有错误还望指正!
1. 基于系统矩阵的MPI重建知识整理
1.1 基于测量的系统矩阵方法:
正向信号采集过程:
首先,系统矩阵作为设备的“默认属性“,需要被先获取到,才能进行后续的成像工作;因此,应首先采样FOV内所有位置处的系统函数,然后将所有位置处的系统函数组成系统矩阵(System Matrix, SM) S S S,作为该设备的已知“属性”。获取到系统矩阵后,即可进行后续的扫描成像任务。
对于任意形状的仿体或临床中的任意”目标“,被MPI设备扫描后,通过接收线圈获取到对应的响应信号
u
^
\hat u
u^,那么一个完整的成像过程可以被描述为:
S
c
=
u
^
(
1
)
Sc = \hat u \qquad \qquad (1)
Sc=u^(1)
其中:
u
^
:
=
(
u
~
k
P
)
k
=
0
K
−
1
∈
C
K
c
:
=
(
c
(
r
n
)
n
=
0
N
−
1
)
∈
R
N
S
=
(
Δ
V
s
^
k
(
r
n
)
)
k
=
0...
,
K
−
1
;
n
=
0
,
.
.
.
,
N
−
1
∈
C
K
×
N
(
2
)
\hat u :=(\tilde u_k^P)_{k=0}^{K-1} \in \mathbb{C}^K \\ c:= (c(r_n)_{n=0}^{N-1}) \in \mathbb{R}^N \\ S = (\Delta V \hat s_k(r_n))_{k=0...,K-1;n=0,...,N-1} \in \mathbb{C}^{K\times N} \qquad\qquad (2)
u^:=(u~kP)k=0K−1∈CKc:=(c(rn)n=0N−1)∈RNS=(ΔVs^k(rn))k=0...,K−1;n=0,...,N−1∈CK×N(2)
k
k
k:表示粒子响应信号的
k
k
k次谐波;
K
K
K:表示考虑的总的谐波数量;
r
n
r_n
rn表示FOV中的第
n
n
n个位置点;
N
N
N表示总的位置数;
c
c
c表示粒子浓度;
Δ
V
\Delta V
ΔV:表示位置
n
n
n处样本的体积。
特点:需要采集FOV内所有位置处的系统函数。在FOV中特定的特定点处,放置已知浓度的微小样本进行采样,获取该点处样本的响应信号,作为此处粒子样本的存在标识。然后,移动样本至下一个位置,进行相同的过程,直到采样完FOV中所有的位置点。
重建过程:重建过程,可以被简单的描述为,求解粒子在仿体/目标中的空间分布(浓度)。通过上面的过程描述可知,系统矩阵 S S S事先被获取到,信号 u ^ \hat u u^是仿体或任意目标中粒子的响应,这两个变量都可作为已知量,因此可以通过求解上式(1)获得重建图像。常用的重建算法有Kaczmarz、ADMM等。关于Kaczmarz算法的原理可以参考:Kaczmarz迭代算法在磁粒子成像(MPI)中的应用。
优、缺点:暂不具体描述
1.2 基于模型的系统矩阵方法:
在介绍基于模型的系统矩阵之前,首先阐述一下为什么引入基于模型的系统矩阵方法?通过1.2小结的描述可知,基于测量的SM需要逐个扫描FOV中的每个位置以获取对应位置处的系统函数,这一过程非常耗费时间。此外,SM严重依赖设备参数,当MPI设备(磁场、粒子、线圈等)发生变化时,往往需要重新测量SM,进一步增加时间成本。因此,引入基于模型的SM方法,希望在保证重建质量的情况下,降低SM的获取成本。
什么是基于模型的SM方法呢?基于模型中的”模型“是指的描述粒子特性的模型,通常使用郎之万(Langevin)模型和福克普朗克(Fokker-planck)模型。因此,基于模型的SM方法,通常是基于这两种模型(之一)和设备特性推导出理想的SM: s ^ K m o d e l \hat s_K^{model} s^Kmodel,然后实测少量位置处的系统函数: s ^ k m e a s \hat s_k^{meas} s^kmeas,使用实测的 s ^ k m e a s \hat s_k^{meas} s^kmeas估计真实的SM。
接下来又有一个新的问题:通过实测
s
^
k
m
e
a
s
\hat s_k^{meas}
s^kmeas和模型
s
^
K
m
o
d
e
l
\hat s_K^{model}
s^Kmodel估计出真实SM?一般的,可以通过求解优化问题,得到
s
^
k
m
e
a
s
\hat s_k^{meas}
s^kmeas和
s
^
K
m
o
d
e
l
\hat s_K^{model}
s^Kmodel之间的放缩系数
a
^
k
\hat a_k
a^k,其中
k
k
k表示频率分量索引, 整个过程用公式表示为:
χ
(
a
^
k
)
=
∑
n
=
0
N
′
−
1
∣
s
^
k
m
e
a
s
(
r
n
)
−
a
^
k
s
~
k
m
o
d
e
l
(
r
n
)
∣
2
(
3
)
\chi{(\hat a_k)}=\sum_{n=0}^{N'-1}|\hat s_k^{meas}(r_n)-\hat a_k \tilde s_k^{model}(r_n)|^2 \qquad \qquad(3)
χ(a^k)=n=0∑N′−1∣s^kmeas(rn)−a^ks~kmodel(rn)∣2(3)
a
^
k
\hat{a}_k
a^k可以通过下式求解:
a
^
k
=
∑
n
=
0
N
′
−
1
s
^
k
m
e
a
s
(
r
n
)
(
s
~
k
m
o
d
e
l
(
r
n
)
)
∗
∑
n
=
0
N
′
−
1
∣
s
~
k
m
o
d
e
l
(
r
n
)
∣
2
(
4
)
\hat{a}_k=\frac{\sum_{n=0}^{N'-1}\hat{s}_k^{meas}(r_n)(\widetilde{s}_k^{model}(r_n))^*}{\sum_{n=0}^{N'-1}|\widetilde{s}_k^{model}(r_n)|^2} \qquad \qquad (4)
a^k=∑n=0N′−1∣s
kmodel(rn)∣2∑n=0N′−1s^kmeas(rn)(s
kmodel(rn))∗(4)
理解:
a
^
k
\hat{a}_k
a^k其实就是一个缩放因子,用来拟合基于模型计算的系统矩阵和对应位置测量得到的系统矩阵。通过有限个位置的测量系统矩阵,最小化拟合误差求解出一个合适的
a
^
k
\hat{a}_k
a^k。
2. 基于X空间的MPI重建知识整理
2.1 X空间方法介绍
基于X空间的方法将正向信号产生的过程描述为,粒子分布与点扩散函数(Point Spread Function, PSF)的卷积。此处,将郎之万函数的导数作为系统的PSF。公式表示为:X-Space论文参考
s
(
t
)
=
B
1
d
Φ
d
t
=
B
1
m
ρ
(
x
)
∗
L
˙
[
k
G
x
]
∣
x
=
x
s
(
t
)
k
G
x
˙
s
(
t
)
(
5
)
s(t)=B_1\frac{d\Phi}{dt}=B_1m\rho(x)*\dot L[kGx]\Big|_{x=x_s(t)}kG\dot x_s(t) \qquad \qquad (5)
s(t)=B1dtdΦ=B1mρ(x)∗L˙[kGx]
x=xs(t)kGx˙s(t)(5)
怎么由信号得到图像呢?论文中描述粒子密度与PSF的卷积即为重建图像。表示为:
I
M
G
(
x
s
(
t
)
)
=
s
(
t
)
B
1
m
k
G
x
˙
s
(
t
)
=
ρ
(
x
)
∗
L
˙
[
k
G
x
]
∣
x
=
x
s
t
\begin{aligned} IMG(x_s(t))&=\frac{s(t)}{B_1mkG\dot x_s(t)} \\ &=\rho(x)*\dot L[kGx]\Big |_{x=x_s{t}} \\ \end{aligned}
IMG(xs(t))=B1mkGx˙s(t)s(t)=ρ(x)∗L˙[kGx]
x=xst
实际计算的时候,通常是将信号与位置对应后,对速度归一化,即为某一位置粒子浓度。基于X空间的方法,理论上较简单,但是目前个人理解的还不深入,仅供参考。
2.2 X空间为什么被叫做X空间
一个问题:X空间方法为什么被叫做X空间?(以下为个人理解)
回答这个问题,需要回到第一篇X空间的文章(上面那篇),文章在Background中提到了一句话我觉得是理解X空间命名的关键,即“In this paper, we will show that MPI can be understood as a x-domain scanning process and, as such, reconstructed quickly and simply”。MPI可以被理解为一个X域的扫描过程。
什么是X域?
这篇文章是第一篇提出X空间的文章,并且只在一维空间验证X空间理论,一维空间用什么表示呢?位置x。文章中的理论证明都是基于位置x推导,如位置x处的总场强,位置x处的粒子磁化强度,位置x处的信号。所以综上,X域就是表示空间内的某一方向。那么X空间(X-Space)就是位置空间(成像空间,或者FOV?),这点在多维X空间的文献中也可以被证实,文章中的理论推导部分使用x表示真实中间中的位置,例 x = [ x , y , z ] T \pmb{x} = [x, y, z]^T x=[x,y,z]T。多维X空间文献。
3. 仿真常用公式整理
默认参数:
参数名 | 符号表示 |
---|---|
粒子直径 | D |
粒子饱和磁化强度 | M_S |
四氧化三铁密度 | d_Fe3O4 |
四氧化三铁摩尔质量 | m_Fe3O4 |
溶液铁浓度 | c_Fe |
溶液体积 | V_s |
真空磁导率 | u_0 |
玻尔兹曼常数 | k_B |
温度 | T_p |
接收灵敏度 | S |
磁场参数:
参数名 | 符号表示 |
---|---|
激励场幅值 | A_E |
激励场频率 | f_E |
梯度场梯度 | G |
公式:
粒子体积:
V
=
1
6
∗
π
∗
D
3
V=\frac{1}{6}*\pi*D^3
V=61∗π∗D3
磁矩:
m
=
V
∗
M
S
m=V*M_S
m=V∗MS
粒子核质量:
m
c
=
d
F
e
3
O
4
∗
V
m_c=d_{Fe3O4}*V
mc=dFe3O4∗V
粒子核中铁摩尔量:
m
F
e
=
3
∗
m
c
m
F
e
3
O
4
m_{Fe}=\frac{3*m_c}{m_Fe3O4}
mFe=mFe3O43∗mc
激励场:
H
E
=
A
E
∗
c
o
s
(
2
∗
π
∗
f
E
∗
t
)
H_E =A_E*cos(2*\pi*f_E*t)
HE=AE∗cos(2∗π∗fE∗t)
郎之万函数中
β
\beta
β计算:
β
:
=
u
0
∗
m
k
B
∗
T
p
\beta:=\frac{u_0*m}{k_B*T_p}
β:=kB∗Tpu0∗m
溶液中四氧化三铁浓度:
c
=
c
F
e
56
∗
m
F
e
c = \frac{c_{Fe}}{56*m_{Fe}}
c=56∗mFecFe
灵敏度:
S
=
S
u
0
S=\frac{S}{u_0}
S=u0S
FOV范围:
F
O
V
=
A
E
∗
2
G
FOV = \frac{A_E*2}{G}
FOV=GAE∗2
郎之万函数:
L
(
ξ
)
=
{
(
c
o
t
h
(
ξ
)
)
−
1
ξ
ξ
≠
0
0
ξ
=
0
L(\xi) =\left\{ \begin{aligned} (coth(\xi))-\frac{1}{\xi} \quad \xi \neq0 \\ 0 \quad \xi = 0 \end{aligned} \right.
L(ξ)=⎩
⎨
⎧(coth(ξ))−ξ1ξ=00ξ=0
粒子磁化特性:(此处的H为总磁场强度,可以理解为某位置处粒子随磁场变化的响应)
M
(
H
)
=
c
m
L
(
β
H
)
M(H)=cmL(\beta H)
M(H)=cmL(βH)
粒子磁化特性的导数:
M
′
(
H
)
=
c
m
β
L
′
(
β
H
)
M'(H)=cm\beta L'(\beta H)
M′(H)=cmβL′(βH)
郎之万函数的导数:
L
′
(
ξ
)
=
{
(
1
ξ
2
−
1
s
i
n
h
2
(
ξ
)
)
ξ
≠
0
1
3
ξ
=
0
L'(\xi) =\left\{ \begin{aligned} (\frac{1}{\xi ^2}-\frac{1}{sinh^2(\xi)}) \quad \xi \neq0 \\ \frac{1}{3} \quad \xi = 0 \end{aligned} \right.
L′(ξ)=⎩
⎨
⎧(ξ21−sinh2(ξ)1)ξ=031ξ=0
粒子响应信号:
u
P
(
t
)
=
−
u
0
∫
O
b
j
e
c
t
S
(
r
)
∂
M
(
r
,
t
)
∂
t
d
3
r
u^P(t)=-u_0\int_{Object}S(r)\frac{\partial M(r,t)}{\partial t}d^3r
uP(t)=−u0∫ObjectS(r)∂t∂M(r,t)d3r