文章目录

  • 前言
  • 一、格式转换和提取b0图像
  • 二、脑提取BET
  • 三、涡流矫正eddy
  • 四、张量计算
  • 总结

前言

最近在学习FSL处理DTI数据,发现网上的几篇博客都写的不太完整,也不太具体。自己花了好几天时间看了FSL的官方指导,才有了一个完整的处理流程方法


一、格式转换和提取b0图像

1.格式转换:
      将后缀名为dcm的原始数据转换为后缀名为nii.gz格式的数据。nii.gz格式的数据不损失原始数据信息,并且能节省大量空间。FSL能够处理的是nii.gz格式的数据。

命令:

dcm2nii *.dcm

生成nii.gz文件,此外还会生成两个文本文件,分别表示磁场梯度施加的强度和方向,这两个文件分别为 .bval 和 .bvec


比如我处理这个数据,bval共1行36列,表示总共采集了36个图像,第1个图像的b-value是 0,后面图像的b-value有1000和2


.bvec共有3行36列,表示在每个图像上所施加的梯度方向

2.提取b0图像
需处理的文件为:.nii.gz格式的DTI数据
命令:

fslroi dti_data.nii.gz b0.nii.gz 0 1

后面的0 1代表从0个图像开始,提取出1张
所以输出文件:b0.nii.gz,包含了第一张图像b值为0的图像

二、脑提取BET

脑提取的目的就是为了获得一个去除颅骨后脑的掩模
基本用法是:
bet [options]
-o 生成覆盖在原始图像上的脑表面轮廓
-m 生成二进制脑掩码
-S 生成粗糙的头骨图像
-n 不生成默认的脑图像输出
-f 分数强度阈值(0,1);默认为0.5;较小的值给出更大的脑轮廓估计
-g 分数强度阈值的垂直梯度(-1,1);默认为0;正值在底部给出更大的
脑轮廓,在顶部给出更小的脑轮廓。
-r 头部半径(毫米)
-c 初始网格表面的重心(体素)。
-t 分割的脑图像和掩模中的应用阈值
-e 以.vtk格式生成大脑表面
-R 该选项运行更“稳健”的大脑中心估计;反复调用BET,每次使用相同的输入图像和相同的主要选项,但-c选项(设置大脑估计的起始中心)每次都被设置为先前估计的大脑提取的重心。通过这样的迭代,重心每次都应该上升到真正的中心,从而得到一个更好的最终估计。
-S 清除残留的眼睛和视神经体素,在运行Siena或SIENAX时有用
-B 减少图像的偏倚,和残留的颈部体素,在运行Siena或SIENAX时有用
-Z 如果数据中只有几个切片,这可以改善大脑的提取。这是通过在两个方向填充结束切片,多次 复制结束切片,运行bet2,然后删除添加的切片来实现的。
-F 这主要用于fMRI数据,例如移除眼球。使用Bet2根据4D数据集中的第一个卷确定大脑掩膜,并将其应用于整个数据集。
-A2 还将t2注册到t1输入图像

命令:

bet2 b0.nii.gz b0_brain.nii.gz -R -m -f 0.3

经过我测试-f设为0.3比较好,0.5有点把脑组织也剥了

输出:去除颅骨后脑图像b0_brain.nii.gz和掩码b0_brain_mask.nii.gz

三、涡流矫正eddy

纠正涡流引起的扭曲和主体的运动,它可以处理比eddy_correct(早期版本)更高的b值数据

–imain一个图像文件。
–mask用1和0指定大脑(1)和非大脑(0)的单个卷图像文件。通过在第一个b=0的图像上运行BET获得。
–acqp描述imain中不同图像的采集参数的文本文件
–index一个文本文件,它决定acqp和imain两者之间的关系
–bvecs描述扩散加权的方向的文本文件。
–bvals具有b-values的文本文件
–repol 删除任何被认为是异常值的切片,并用高斯过程的预测来替换它们。默认情况下不做异常值替换。
–topup 运行topup的——out参数。
–field 运行topup的——fout参数。

–acqp
acqp用来告诉eddy什么方向的畸变可能进入。
每行首先由一个向量(三个值)组成,它指定相位编码(PE)轴是什么,以及沿着该轴意味着更高频率的方向。比如向量[0 1 0]和[0 -1 0]暗示PE是沿y方向
(0 1 0)表明以更高的频率向着更高的位置 (即正向信号)
(0 -1 0)表明以更低的频率向着更高的位置 (即负面信号)
每行中的第四个元素是从读取第一个echo的中心到读取最后一个echo的中心之间的时间(以秒为单位)。
根据官方文档,他告诉我们如果没有扫描仪制造商足够的经验,使用中几乎不需要去设置真的该参数,只需要对topup和eddy使用相同的文件:
Does the brain jump up and down?使用
0 1 0 0.05
0 -1 0 0.05
Does the brain bounce from side to side? 使用
1 0 0 0.05
-1 0 0 0.05

-topup
对于两个不同的获取,b=0扫描的形状是不同的。使用topup来计算磁化引起的非共振场(the susceptibility induced off-resonance field),然后将结果场将应用于所有图像。
通常输入的图像是从原始b=0和扩散加权图像组合中提取一组b=0的扫描。

-index
它决定acqp和imain两者之间的关系
acqp只有1行 0 1 0 0.05

所以我用以下代码生成index

indx=""
for ((i=1; i<=36; i+=1)) do
indx="$indx 1"; done
echo $indx > index.txt

最后的命令:

eddy_openmp       --imain=dti_data.nii.gz --mask=b0_brain_mask.nii.gz--acqp=acqparams.txt --index=index.txt --bvecs=bvec --bvals=bval --out=eddy_corrected_data

四、张量计算

输入:
-k,–data dti 数据
-o,–out 输出的名字
-m,–mask BET二进制掩码文件
-r,–bvecs b vectors file
-b,–bvals b values file
其他选项:
–sse 输出误差的平方和
-w,–wls 用加权最小二乘法拟合张量
–kurt 输出平均峰度图
–kurtdir 输出平行/垂直峰度图

输出:
• _V1 - 1st eigenvector第一特征向量
• _V2 - 2nd eigenvector
• _V3 - 3rd eigenvector
• _L1 - 1st eigenvalue第一特征值
• _L2 - 2nd eigenvalue
• _L3 - 3rd eigenvalue
• _MD - mean diffusivity平均扩散率
• _FA - fractional anisotropy 分数各向异性
• _MO - mode of the anisotropy (oblate ~ -1; isotropic ~ 0; prolate ~ 1) 各向异性的模式(扁形~ -1;各向同性~ 0;扁长的~ 1)
• _S0 - raw T2 signal with no diffusion weighting无扩散加权的原始T2信号

写出的命令

dtifit
--data=eddy_corrected_data.nii.gz
--out=dti
--mask=b0_brain_mask.nii.gz
--bvecs=bvec --bvals=bval

总结

以上就是我的整个处理流程,以后有后续再补充

FSL处理DTI数据详细流程(本人亲身经历的流程)相关推荐

  1. FSL处理DTI数据详细流程

    文章目录 前言 一.格式转换和提取b0图像 二.脑提取BET 三.涡流矫正eddy 四.张量计算 总结 前言 最近在学习FSL处理DTI数据,发现网上的几篇博客都写的不太完整,也不太具体.自己花了好几 ...

  2. 基于FSL的DTI数据预处理流程

    最近在学习处理DTI数据,总结了一份应用FSL做DTI数据预处理的流程与大家交流交流.如果有错误的地方欢迎大家指正! 我用的数据是Philips的数据,如果是GE或者西门子的数据可能会有所不同. 原始 ...

  3. 软件开发毕业4年后,靠自学自动化测试月入2W,本人亲身经历供大家参考

    大专毕业4年了,靠自学自动化测试月入2万,本人亲身经历供大家参考.毕业院校:湖南科技职业学院软件开发与应用专业.学校课程很杂,都只教点皮毛,是真正的师傅领进门,修行在个人,在学校我也不是优生. 读书那 ...

  4. ROS调用笔记本摄像头和外界摄像头问题汇总(本人亲身经历)非常好用

    ROS调用笔记本摄像头和外界摄像头问题汇总(本人亲身经历) 运行打开摄像头命令必须在主虚拟机运行 一.video0找不到 本人想要调用笔记本摄像头完成一些基本的标定时候,遇到问题: 或者执行命令: l ...

  5. 多台路由器堆叠_关于多个无线网络叠加本人亲身经历!!最后成功了!!更新完毕!...

    本帖最后由 chenjifa 于 2012-1-15 07:34 编辑 由于PJ了本小区多个无线信号,一开始我是用网卡蹭,但是用网卡不方便,电脑要跟住网卡走,后来在论坛潜水,学人家买路由,第一次买了一 ...

  6. 二手房交易流程,亲身经历,经过中介

    1.准备好身份证,户口本,收入证明,银行流水,等中介通知办理贷款 ps:在填表的时候,如果选择的学历是本科以上,则要提供毕业证和学位证复印件.收入证明在超过6000的情况下,银行会要求查看工资流水.如 ...

  7. 【绝对干货】Python数据分析师学习的亲身经历

    今天这篇文章来聊聊如何轻松学习『Python数据分析』,我会以一个数据分析师的角度去聊聊做数据分析到底有没有必要学习编程.学习Python,如果有必要,又该如何学习才能做到毫不费力. 想象是美好的,现 ...

  8. 使用 FSL 和 TrackVis 分析 DTI 数据

    转载原文 使用 FSL 和 TrackVis 分析 DTI 数据 Alex / 2018-05-21 / free-learner@163.com 弥散加权成像(Diffusion Weighted ...

  9. 练习记录-用FSL工具对DTI数据进行FDT预处理

    练习记录用FSL工具对DTI数据进行FDT预处理 本文是CSDN博主「txapples」的原创文章,遵循CC 4.0 BY-SA版权协议,原文链接:https://blog.csdn.net/txap ...

最新文章

  1. 容器网络规范CNM vs. CNI
  2. 如何看待papi酱的个人平台papitube?
  3. php固定空格,使用php校对(固定标点符号,空格,大写字母)生物页面文本
  4. JSON字符串封装成Bean对象/JSON串反序列化成实体类对象/JSON字符串转换成Java对象
  5. Java程序员该如何学习才能成长为一名优秀的架构师
  6. CentOS 7 安装版本管理 GitLab
  7. mysql binlog 增量备份
  8. 用 Javascript 验证表单(form)中多选框(checkbox)值
  9. linux rpm
  10. gis数据与cad数据转换之间的关系
  11. 计算机中职课程表,计算机专业课程表
  12. TP LINK交换机 console 超级终端链接设置
  13. 8086汇编基础 inc 自加一
  14. linux显卡驱动安装在哪个文件夹,linux 下安装Nvidia显卡驱动
  15. 如何测算信息化项目软件运维费?
  16. esp8266 python 74hc595_十九 ,ESP32 74HC595 的使用
  17. Android应用去广告方法盘点
  18. 【老王读Spring AOP-3】Spring AOP 执行 Pointcut 对应的 Advice 的过程
  19. Android屏幕适配全方位解析与指导
  20. Python第三方库turtle画小人发射爱心

热门文章

  1. SpringCache的简单入门(RedisCacheManager)(@Cacheable、@CachePut、@CacheEvict)
  2. 常见的133个面试难题及解析
  3. 共享服务中心建设原则-《企业IT架构转型之道-阿里巴巴中台战略思想与架构实战》
  4. bsfl ecx,ecx
  5. 小米手机销量是乐视的几十倍,为什么雷军还要去跟贾跃亭打口水战?
  6. 优思学院|“元宇宙“是什么东西?
  7. world表格中画斜线
  8. 【歪门邪道】Android页面上快速实现蒙层引导需求
  9. 手机QQ垃圾文件清理。
  10. jyzy noip模拟赛5.22-2