核磁共振成像学习笔记——从FID信号到K空间
在理想磁场环境下(没有不存在场不均匀性),对于一个没有梯度场的方块。
此时,RF pulse的两路正交信号(相位差为90°)对此方块进行激发,然后收取信号,我们可以得到由此方块产生的FID信号。
设此信号为\(S(t)\),则此信号由\(S_c(t)\)与\(S_s(t)\)组成,分别组成\(S(t)\)的实部与虚部。
\begin{aligned}
S_c(t)=M_{xy}e^{-t/T_2}\cos({\omega}t)\\
S_s(t)=M_{xy}e^{-t/T_2}\sin({\omega}t)
\end{aligned}
\right.
\]
这是我们的接受线圈接收到的两组正交信号。
再利用欧拉公式
\begin{aligned}
\cos({\omega}t)=\frac{e^{i{\omega}t}+e^{-{i{\omega}t}}}{2}\\
\sin({\omega}t)=\frac{e^{i{\omega}t}-e^{-{i{\omega}t}}}{2i}
\end{aligned}
\right.
\]
使
\]
则
\]
此时,我们忽略衰减项\(e^{-t/T_2}\),则
\]
这是我们对单个方块进行激发的结果,那么此时,引入梯度磁场进行空间定位。
根据拉莫尔进动(Larmor precession)
\]
Phase encoding gradient和frequency encoding gradient的出现会使得这个方块内部的每个位置的进动频率\(\omega\)发生变化。但需要注意Phase encoding gradient和frequency encoding gradient是不能够同时开启的(SE序列中)。然后,我们看自旋回波序列(SE)。
在接收信号前,分别开启了一段Phase encoding gradient和frequency encoding gradient。在接收信号的时候,frequency encoding gradient全程保持开启。
先进行公式推导,\(S(t)\)即为上文理想方块条件下推导得出的,我们将\(M_{xy}\)设定为\(\rho(x,y)\)表示方块中每个位置在加权设定后的信号强度,则
\]
其中
\]
设定\(G_x\)为frequency encoding gradient,\(G_y\)为Phase encoding gradient,和序列图中保持一致,\(0\)至\(t\)为开始采样至实时采样的时间,SE序列图中的\(t_1\)和\(t_2\)为其中的两个\(t\)(这是一个变上限积分)。
令
\begin{aligned}
k_x=2\pi\int_{0}^{t}{G_x(t^{\prime})}dt^{\prime}\\
k_y=2\pi\int_{0}^{t}{G_y(t)}dt^{\prime}
\end{aligned}
\right.
\]
则
\]
即
\]
至此,在数学上说明了\(S(t)\)与\(\rho(x,y)\)互为傅里叶变换对。这时,我们将方块分割为一个3*3的方块进行进一步的说明。
其中的数值为该位置对应的\(\rho(x,y)\)数值。
以\(S_c(t)\)信号为例,其组成的是\(S(t)\)中的实部,在没有进行空间编码前
根据SE序列的波形,先是进行了Phase encoding gradient
Phase encoding gradient改变的也是\(\omega\),但作用了一段时间就停止了,相当于把纵向的各个单位以不同的\(\omega\)推了相同的时间,那么他们的相位\(\theta\)就发生了变化。并且,通过改变Phase encoding gradient的斜率,可以使得\(\theta\)的数值发生变化,对于一个3*3的方块,想要进行空间定位就要改变三次Phase encoding gradient斜率。
然后在收取数据的同时,进行frequency encoding gradient
frequency encoding gradient同样改变了\(\omega\),并且与收取信号同时进行,就此完成了区块的空间定位。通俗的来说,假设这些区块在一个环形的跑道进行赛跑,Phase encoding gradient就相当于在跑步开始之前,将同一个跑道上的每个跑者推到不同的起点上,frequency encoding gradient相当于使得不同跑道上的跑者有不同的跑步速度。
让我们回到公式
\begin{aligned}
k_x=2\pi\int_{0}^{t}{G_x(t^{\prime})}dt^{\prime}\\
k_y=2\pi\int_{0}^{t}{G_y(t)}dt^{\prime}
\end{aligned}
\right.
\]
这里面的\(k_x\)与\(k_y\)就是位于K空间的\(xy\)坐标(注意\(t\)与\(t^{\prime}\)的区别)。\(G_y(t)\)就是Phase encoding gradient,在SE序列中每次都需要重新变化斜率,需要在y方向将区域分割成多少块,就需要变化多少次斜率,每次变化都需要经过一个\(TR\)。而\(G_x\)则保持不变,并且只需要增加采样点数就可以增加此方向的区块分割,不需要增加采样的时间。故我们使用SE序列进行图像重建的时候,最好将分块更多的方向对应frequency encoding gradient,因为每次Phase encoding gradient都需要消耗一个\(TR\)。这里我截取MRI,The Basics书中的一幅图说明这一点。
对于一个\(3*3\)的方块,哪边放在frequency encoding gradient都无所谓。但如果是一个\(128*256\)的方块,那么就需要将256的那条边放在frequency encoding gradient上,以减少重建时间。
参考:
[1]MRI From Picture to Proton
[2]MRI, The Basics
[3]MRI磁振影像學 盧家鋒
[4]MRI原理-信号 - lemon lelieven的文章 - 知乎 https://zhuanlan.zhihu.com/p/137255997
[5]【磁共振的K空间】 https://www.bilibili.com/video/BV1ch411e7Yc/?share_source=copy_web&vd_source=0e8c3fe50c67df43ceeb30f63e36eb0d
核磁共振成像学习笔记——从FID信号到K空间的更多相关文章
- APUE学习笔记——10.9 信号发送函数kill、 raise、alarm、pause
转载注明出处:Windeal学习笔记 kil和raise kill()用来向进程或进程组发送信号 raise()用来向自身进程发送信号. #include <signal.h> int k ...
- APUE学习笔记——10.可靠信号与不可靠信号
首先说明:现在大部分Unix系系统如Linux都已经实现可靠信号. 1~31信号与SIGRTMIN-SIGRTMAX之间并不是可靠信号与不可靠信号的区别,在大多数系统下他们都是可靠信号. 只不过: 1 ...
- C++学习笔记(1)——数据类型占空间大小
boolean bool 1 byte character char 1 byte May be signed or unsigned wchar_t 1 byte char16_t ...
- oracle 学习笔记(2)创建表空间及用户授权
原文:http://www.cnblogs.com/smartvessel/archive/2009/07/06/1517690.html Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的 ...
- Oracle学习笔记—数据库,实例,表空间,用户、表之间的关系
之前一直使用的关系型数据库是Mysql,而新公司使用Oracle,所以最近从网上搜集了一些资料,整理到这里,如果有不对的地方,欢迎大家讨论. 基本概念: 数据库:Oracle 数据库是数据的物理存储. ...
- 主席树学习笔记(静态区间第k大)
题目背景 这是个非常经典的主席树入门题——静态区间第K小 数据已经过加强,请使用主席树.同时请注意常数优化 题目描述 如题,给定N个整数构成的序列,将对于指定的闭区间查询其区间内的第K小值. 输入输出 ...
- AXI_LITE源码学习笔记
AXI_LITE源码学习笔记 1. axi_awready信号的产生 准备接收写地址信号 // Implement axi_awready generation // axi_awready is a ...
- Linux学习笔记19——信号2
上一节中讲到了sigprocmask函数,它的作用是检查或修改它的进程信号掩码,这一节我们主要学习捕捉与忽略信号的函数sigaction和等待信号函数. 一 sigaction函数的作用 定义在接收 ...
- DBus学习笔记
摘要:DBus作为一个轻量级的IPC被越来越多的平台接受,在MeeGo中DBus也是主要的进程间通信方式,这个笔记将从基本概念开始记录笔者学习DBus的过程 [1] DBus学习笔记一:DBus学习的 ...
- DirectX Graphics Infrastructure(DXGI):最佳范例 学习笔记
今天要学习的这篇文章写的算是比较早的了,大概在DX11时代就写好了,当时龙书11版看得很潦草,并没有注意这篇文章,现在看12,觉得是跳不过去的一篇文章,地址如下: https://msdn.micro ...
随机推荐
- QT学习(五)----360界面制作(2终结)
继续上一章的360新特性界面.源代码:http://download.csdn.net/detail/zhangyang1990828/5241242 上一章中实现了整个界面的纯UI设计,这次我们让它 ...
- 华南理工大学 Python第2章课后小测-1
1.(单选)"abc"的长度是3,"老师好"的长度是多少?(本题分数:4)A) 1B) 3C) 6D) 9您的答案:B 正确率:100%2.(单选)下面代码的 ...
- Skype for Business server 数据库安装
之前安装了SFB 2015标准版,但是没有安装归档据库,现在打算重新安装.环境中安装的是默认自带的SQL EXPRESS. 继续安装向导,安装SQL数据库.但是在最后的时候遇到了问题. 安装向导报错 ...
- 如何用AR Engine开发一个虚拟形象表情包?
现如今,人们在网上聊天.发帖时越来越爱用表情包,表情包一方面是一种个性化的表达方式,另一方面更能传达出当下的心理活动,可以说在网络社交中表情包是一个不可或缺的存在.加上近年来元宇宙的兴起,3D虚拟形象 ...
- Elastic:菜鸟上手指南
文章链接:https://elasticstack.blog.csdn.net/article/details/102728604
- 7.第六篇 二进制安装 kube-apiserver
文章转载自:https://mp.weixin.qq.com/s?__biz=MzI1MDgwNzQ1MQ==&mid=2247483812&idx=1&sn=e6773e56 ...
- Linux服务器上MinIO生产部署的内核调优
#!/bin/bash cat > sysctl.conf <<EOF # maximum number of open files/file descriptors fs.file ...
- kube-scheduler 调度调优
文章转载自:https://www.kuboard.cn/learning/k8s-advanced/schedule/tuning.html kube-scheduler 是 Kubernetes ...
- VideoPipe可视化视频结构化框架开源了!
完成多路视频并行接入.解码.多级推理.结构化数据分析.上报.编码推流等过程,插件式/pipe式编程风格,功能上类似英伟达的deepstream和华为的mxvision,但底层核心不依赖复杂难懂的gst ...
- 换工作?试试远程工作「GitHub 热点速览 v.22.40」
近日,潜在某个技术交流群的我发现即将毕业的小伙伴在焦虑实习.校招,刚好本周 GitHub 热榜有个远程工作项目.不妨大家换个思路,"走"出去也许有更多的机会.当然,除了全球的远程工 ...