【TrackVis 教程】基于DTI的纤维追踪及显示

举报
ChillRay 发表于 2020/12/29 23:29:47 2020/12/29
【摘要】 【Update by 张常乐-06/23/2017】加入了完全版的教程信息 Diffusion Toolkit教程 NOTE: For regular users who would always use the GUI front-end, you do not have to understand th...

【Update by 张常乐-06/23/2017】加入了完全版的教程信息

Diffusion Toolkit教程

NOTE: For regular users who would always use the GUI front-end, you do not have to understand the details of the following workflow. But having an idea of the process is recommended.

To understand how Diffusion Toolkit's GUI works, it would be necessary to know the actually workflow behind the scene. The workflow of Diffusion Toolkit (DTK) contains 4 major steps (some of them are optional).

1. Convert the raw DICOM images into a series of ANALYZE images. The command-line program to do that is diff_unpack. If the raw images are not DICOM, you will have to convert them to ANALYZE manually following the rules below:

  • Each analyze image must contain only one timepoint (or volume, as we often refer to. or one gradient direction, in the case of diffusion imaging).
  • Filenames of the images must be named with a prefix followed by number, such as xxxxx001.img, xxxxx002.img ...
  • Low B (B0) images must be on top. For example, if you have 60 diffusion-weighted images with 5 b0 images, you image filenames should be like this: xxxxx001 to xxxxx005 are b0 images, xxxxx006 to xxxxx65 are high b images.

2. Reconstruct the raw images.

  • For DTI, dti_recon does the job, given the corresponding gradient table. The results are a set of tensor images, DWI, ADC and FA maps.
  • For DSI, odf_recon is used directly to generate a odf file and a max file, as well as a few maps. At this point our DSI recon program only takes pre-calculated recon matrices, corresponding to pre-defined gradient tables.
  • For HARDI/Q-Ball, users are allowed to provide a customized gradient table (just like for DTI). hardi_mat must be called first to generate the corresponding recon matrix, then odf_recon takes that recon matrix and reconstructs raw images to odf and maps.

3. Fiber tracking. Takes the reconstructed data and generated a track file.


4. Smooth the tracks.  spline_filter takes the generated track file from last step and smooth the tracks with a B-Spline filter. This step is not required but strongly recommended. It would remove redundant track points and segments (thus reducing the size of the track file) and also make tracks nicely smoothed. It will NOT change the quality of the tracks or lose any original information.

一、基本设置及常规界面
基于Linux版本,安装方法到官网下载,然后解压出来,直接 cd到相应目录下启动,./trackvis是图形化界面,./track_vis是命令行操作。
点击load加载 *.trk结尾的文件,记得去掉Slice filter中的Y轴过滤选项。

利用鼠标左键旋转,右键缩放,滚轮移动之类的比较简单,自己摸索,这里我就不多说了。
找不到的时候进入toolbar,选择View-reset即可。

二、加载三维图像(以FA图像为例)

单击这个button,就可以打开一幅Image加载到Tracking的结果上。
这里我们加载一幅FA图像上去观察效果:

可以很明显的看到,当选择的FA维度与tracking结果的维度没有差异的时候,两者可以很好的overlay.
左下角的三个勾选框可以选择是否显示该断层的Image信息,同时可以对透明度进行设置。

三、自由绘制一个ROI
通过TrackGroup->New track group from sphere功能,我们可以从特定体素绘制一个roi(也就是说如果我们知道FMRI中出现的一个异常坐标,或者任何的MNI152空间下的异常点坐标,我们都可以在TrackVis中将它标记出来并观察经过这个点的纤维变化情况。)

在OverView中右键点击Trackk Groups中的Track1,Track2,我们就可以把不想看的TrackGroup去掉,比如如果我们只想看经过上述(63,57,33)体素点的坐标,我们就可以把Track1和Track2都Hide掉(这里不要管Track2,Track2是我实验用的),这样就可以得到如下的结果:

怎么样,还算不错吧,这里另外提一下,如果大家觉得有一些细小的纤维束可能是噪声产生的,那么就可以用Property框架内的Length Threshold来去除过短的噪声神经纤维,通过增加Low阈值便可以,具体的阈值多少需要根据大家自己在纤维追踪时设置的参数来自由变换。
如果觉得ROI过小/过大怎么办呢?如果想改变ROI坐标怎么办呢?这时候在Overview中先选择TrackGroups中的Track3或任意一个想改变的Track,然后点击Property下的ROI选项:


在这里就可以设置Center坐标,以及改变它的直径(radius)等信息。我们可以看到,随着直径的增大,经过这个ROI的神经纤维也变得越来越多了。


四、去掉不想要的纤维束
大家可能和我一样奇怪为什么有时候部分ROI会出现奇怪的呆毛,这样在作图的过程中可能会给我们带来困扰,妨碍我们向大家展示自己的结(chui)果(bi),这时候就需要自己动动手了。

用ROI过滤的方法呀,具体的原理如下:

左键选择Sphere1,右键Add new Sphere,我们再建立一个Sphere2
然后左键选择Sphere2,将它移动到我们想要的坐标中。调整它的位置和直径,就可以啦!

呛呛,呆毛去除完毕!

五、纤维束的统计学分析方法
通过Track Group-Statistics方法我们可以对追踪的结果进行统计分析

我们可以看到,总体直方图分布大致呈双峰分布,而峰值较大的(平均纤维连接长度较长的一组是白质):

峰值较小的一组是灰质:


六丶通过Slice filter提取特定部位的脑区
通过设定不同的Slice filter,我们可以根据已有的神经学知识,去提取特定断层的脑区神经链接信息。
教程中有提到利用Slice filter提取扣带回 部位的神经连接,通过设定不同的Slice厚度和位置信息,可以大致获取出扣带回的情况,这里是我自己做的一个结果,效果还算不错,分别应用了Z轴的与运算与非运算。


七丶通过ROI加载特定的已经生成的ROI
通过点击ROI框架下的添加按钮,即可加载ROI,软件提供了多种ROI添加方式,这里我们着重讨论一下ROI from Nifty/Analyze files的方式。

在加载完特定的ROI之后,我们可以通过调整ROI阈值的方式,显示特定脑区的ROI信息:

如示例所示,包含了1,2两个脑区(双侧前额叶白质)。
通过在Track1中选择Toggle from ROI->00001FA_Parcellate_01_M2_M2_MNI_xxxxx,我们便可以提取出所有经过该ROI的神经纤维信息。

设定不同的ROI阈值,就可以方便我们观察不同脑区的神经纤维链接情况。




文章来源: zclhit.blog.csdn.net,作者:zclhit_,版权归原作者所有,如需转载,请联系作者。

原文链接:zclhit.blog.csdn.net/article/details/73732525

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。