磁共振中的T1, T2 和 T2*的原理和区别
从物理的角度,要理解这几个概念的区别,需要对原子核的磁化有所了解,本文通过一些图示对这几个概念进行简明的介绍。
首先,磁共振最基本的原理就是氢原子核在磁场中自旋运动时所具有的量子力学特性。在一个均匀磁场B0中,氢原子核的旋转(spin)会出现两种自旋状态,一种是沿着磁场方向(up状态),一种是沿着磁场反方向(down状态)。旋转的频率与磁场强度相关,称为拉莫频率。平均而言,大部分的原子核是沿着磁场方向旋转的,因此在达到平衡状态下,会产生一个与B0方向的相同的磁化M0 (magnetization),这个M0就是MRI信号的来源。
将B0的方向定义为z轴方向,此次再添加一个方向与与z轴垂直的磁场B1, 让B1也沿着B0的方向以拉莫频率进行旋转:
为了简化起见,设想有一个旋转的参考系,该参考系的旋转频率也是拉莫频率,B1在相对于该参考系而言就是静止的了。在B1的作用下,M0会以B1为旋转轴进行旋转,经过一个很短的时间,M0旋转了90度,落在了x-y平面。
这个B1称为90度脉冲,此时移除B1,x-y平面的磁化为Mxy,其大小与M0相同, z轴方向的磁化为Mz,其大小为0. 顺便说一句,MRI中的信号采集线圈就是测量Mxy的,如果Mxy的大小为0,就没有信号输出。
当B1被移除之后,磁化状态会逐渐恢复到原来的平衡状态,这个过程称为弛豫(relaxation), 具体表现为两方面:Mxy逐渐恢复为0,Mz逐渐恢复到M0。
Mz在弛豫过程中呈指数增长,其时间常数为T1,Mxy在弛豫过程中呈指数衰减,其时间常数为T2.
T1弛豫的发生是因为旋转核与周围环境(即晶格,lattice)之间有能量交换,引起up状态和down状态的原子核数量发生改变,重新恢复到未加B1的平衡状态时的数量分布,因此Mz会恢复到M0,而T1也称为自旋-晶格弛豫时间。
T2弛豫的发生也有一定程度的上述因素,但除此之外,也因为旋转核相互之间有能量交换,各个原子核旋转的相位变得随机,其磁化向量的净值(Mxy)逐渐衰减。故T2也称为自旋-自旋弛豫时间。
那么问题来了,T2*又是怎么回事呢?
实际上,主磁场B0无法达到绝对的均匀,因为氢原子旋转频率与B0的强度相关,不均匀的B0就会导致不同位置的氢原子旋转频率不一样,因此氢原子的旋转就会不同步,这样就加速了Mxy的衰减,这个衰减也是指数衰减,其时间常数为T2*。T2*比T2要小。
磁共振中的T1, T2 和 T2*的原理和区别的更多相关文章
- 数据库(update tab1 set tab1.name=tab1.name+(select t2.name from tab2 t2 where t2.id=tab1.id))
有t1 和 t2 两个表,表中的数据和字段如下: 执行 如下SQL语句: update tab1 set tab1.name=tab1.name+(select t2.name from tab2 t ...
- go中方法的接收者是值或者指针的区别
值类型的变量和指针类型的变量 先声明一个结构体: type T struct { Name string } func (t T) M1() { t.Name = "name1" ...
- mahout中kmeans算法和Canopy算法实现原理
本文讲一下mahout中kmeans算法和Canopy算法实现原理. 一. Kmeans是一个很经典的聚类算法,我想大家都非常熟悉.虽然算法较为简单,在实际应用中却可以有不错的效果:其算法原理也决定了 ...
- java中的synchronized同步代码块和同步方法的区别
下面这两段代码有什么区别? //下列两个方法有什么区别 public synchronized void method1(){} public void method2(){ synchronized ...
- Python中if __name__ == 'main' 的作用和原理
参考网址:http://mp.weixin.qq.com/s/kxxhOQ7KB_VMwWeUENX7OQ t1.py: print('Loving Python') def main(): prin ...
- GROUP BY中的WITH CUBE、WITH ROLLUP原理测试及GROUPING应用
前几天,看到一个群友用WITH ROLLUP运算符.由于自个儿没用过,看到概念及结果都云里雾里的,所以突然来了兴趣对生成结果测了一番. 一.概念: WITH CUBE:生成的结果集显示了所选列中值的所 ...
- 统计分析中Type I Error与Type II Error的区别
统计分析中Type I Error与Type II Error的区别 在统计分析中,经常提到Type I Error和Type II Error.他们的基本概念是什么?有什么区别? 下面的表格显示 b ...
- Python中内置数据类型list,tuple,dict,set的区别和用法
Python中内置数据类型list,tuple,dict,set的区别和用法 Python语言简洁明了,可以用较少的代码实现同样的功能.这其中Python的四个内置数据类型功不可没,他们即是list, ...
- c#中抽象类(abstract)和接口(interface)的相同点与区别
相同点: 1.都可以被继承 2.都不能被实例化 3.都可以包含方法声明 4.派生类必须实现未实现的方法 区别: 1.抽象基类可以定义字段.属性.方法实现.接口只能定义属性.索引器.事件.和方法声明,不 ...
随机推荐
- 037 SparkSQL ThriftServer服务的使用和程序中JDBC的连接
一:使用 1.实质 提供JDBC/ODBC连接的服务 服务运行方式是一个Spark的应用程序,只是这个应用程序支持JDBC/ODBC的连接, 所以:可以通过应用的4040页面来进行查看操作 2.启动服 ...
- vue播放video插件vue-video-player实现hls, rtmp播放全过程
1.安装插件 1 npm install vue-video-player -S 2.配置插件 在main.js里添加 1 import VideoPlayer from 'vue-video-pla ...
- fpm 制作rpm包
使用fpm命令制作rpm包并安装 工作中有如下情况需要将文件打包rpm: 避免重复工作,将源码程序打包为rpm 使用yum发布项目,项目打包为rpm 将自己写好的程序打包为rpm,提供给用户下载 其他 ...
- mybatis3中@SelectProvider的使用技巧
mybatis的原身是ibatis,现在已经脱离了apache基金会,新官网是http://www.mybatis.org/. mybatis3中增加了使用注解来配置Mapper的新特性,本篇文章主要 ...
- 通过css属性hack完成select样式美化,并兼容IE
最近在重构时遇到了select样式问题,并且需要在不影响语义化的情况下,兼容IE8. 经过一番的百度后始终没有找到合适的纯CSS解决方案,最后换了一下思路,大胆使用了属性hack: 在chrome和F ...
- Codeforces Round #368 (Div. 2) B. Bakery 水题
B. Bakery 题目连接: http://www.codeforces.com/contest/707/problem/B Description Masha wants to open her ...
- Android学习笔记PreferenceFragment的使用
相信大家对Perference都比较熟悉了,也就是我们常说的偏好设置,首选项设置,可以保存一些数据,例如我们在上一次使用的时候的一些内容,希望在下一次启动后依然生效,而不需要再进行配置那么麻烦.一般这 ...
- Golang 处理 Json(二):解码
golang 编码 json 还比较简单,而解析 json 则非常蛋疼.不像 PHP 一句 json_decode() 就能搞定.之前项目开发中,为了兼容不同客户端的需求,请求的 content-ty ...
- Visio中如何绘制黑白图像
- C++11 bind
#include <iostream> #include <functional> using namespace std; int func(int a, int b) { ...