首页 > 其他分享 >介绍一款 MRI&CT 图像预处理强大工具--FSL

介绍一款 MRI&CT 图像预处理强大工具--FSL

时间:2023-06-14 22:33:46浏览次数:62  
标签:脑组织 功能 -- FSL 分割 MRI 图像


FSL 是什么?

全名是: FMRIB’s Software Library

  • FMRIB 是 英国牛津大学脑功能磁共振成像中心,FSL 则是他们开发的一个软件库。
  • 由 Stephen Smith 教授开发,发布于 2000年
  • 适用于所有操作系统
  • 用于结构 MRI、功能 MRI(任务、静息)、扩散 MRI的分析
  • MRI, CT数据的预处理和分析
  • MRI, CT数据的查看

具体地,可以分为以下4类功能

1 结构 MRI

  • 配准: linear (FLIRT) & non-linear (FNIRT)
  • 脑组合分割/提取: brain segmentation/extraction (BET)
  • 组织类型分割: tissue type segmentation (FAST)
  • 皮层下结构分割: subcortical structures segmentation (FIRST)
  • 体素 GM 密度分析: voxelwise GM density analysis (FSLVBM)
  • 萎缩估计: atrophy estimation (SIENA)

2 . 功能 MRI

  • 运动校正: motion correction (MCFLIRT)
  • EPI失真校正: EPI distortion correction (FUGUE, PRELUDE)
  • 基于模型的分析: model-based analysis (FEAT)
  • 无需模型的ICA分析: model free ICA-based analysis (MELODIC)
  • 灌注贝叶斯分析: Bayesian analysis of perfusion, ASL data
    (FABBER, VERBENA, BASIL)

3 弥散 MRI

  • 失真校正: distortion correction (TOPUP)
  • 涡流校正: eddy current correction (EDDY)
  • 弥散工具箱: diffusion toolbox (FDT)
  • 空间统计: tract-based spatial statistics (TBSS)

4 其他
前三个功能都是针对特定研究人群的,但是其他里面的小工具适合处理MRI,CT等图像,实用性非常强。

FSL 的应用举例

1. 分割之–大脑图像提取/去头骨

普通扫描的大脑图像包含非常多的组织,如图所示

介绍一款 MRI&CT 图像预处理强大工具--FSL_3D


除了大脑组织以外,还包括皮肤,头骨,眼球,嘴巴,喉腔等解剖结构,这些结构会影响我们对大脑的分析。因此,希望对脑组织和非脑组织进行自动分割。

介绍一款 MRI&CT 图像预处理强大工具--FSL_3D_02


这里就可以用到bet功能,该过程可以叫 [去骨/脑组织提取]

从图上来看,操作也是非常简单,一句命令就搞定了。图片上有橘色和紫色区域就是提取出的脑组织。

2. 分割之–组织分割

上述中,我们只是把脑组织从图像里分割出来,更进一步,我们可以对脑实质进行分割,分割出白质(WM),灰质(GM)以及核团(CSF)。

介绍一款 MRI&CT 图像预处理强大工具--FSL_数据_03


介绍一款 MRI&CT 图像预处理强大工具--FSL_数据_04


该任务就相当于是对大脑组织进行三类分割。

这里就可以用到FAST功能。

3. 配准

配准功能也是非常强大,内置了很多个标准空间。

介绍一款 MRI&CT 图像预处理强大工具--FSL_3D_05


这里使用的功能 FLIRT:线性变换, FNIRT:非线性变换

但是,无论是分割还是配准,都有局限性:只对 MRI 脑数据有作用,因为FSL 本身就是脑影像数据处理软件。

那我们不做 MRI 脑数据,这个工具还能干什么呢?

以下简单介绍一些通用功能:


4. 使用FSLeyes查看图像

该工具有点类似 PS 工具,可以叠加好几个图层进行显示。比如底层是原始图像,上面一层是分割结果。

介绍一款 MRI&CT 图像预处理强大工具--FSL_3D_06


该功能推荐程度:⭐️⭐️⭐️⭐️⭐️

以后会详细介绍FSLeyes的使用。这里做一个简单了解。

5. Fslutils 工具包

FSLUTILS 是一组有用的命令行实用程序,允许分析和 Nifti 格式数据集进行转换、处理等。可以同时处理 3D 和 4D 数据。对于这些程序中的每一个,只需键入程序名称即可获得使用帮助。

列举几个常用命令:

  • fslcpgeom - 将标题信息的某些部分(图像尺寸、体素尺寸、体素尺寸单位字符串、图像方向/)从一个图像复制到另一个图像
  • fslinfo - 报告 Nifti 数据的头文件信息
  • fslmaths - 简单但功能强大的程序,允许对图像进行数学处理
  • fslmerge - 合并多个图像文件
  • fslroi - 从图像中提取感兴趣区域 (ROI)
  • fslslice - 将 3D 文件拆分为许多 2D 文件(沿 z 轴)
  • fslsplit - 将一个 4D 文件分割成许多 3D 文件
  • fslorient - 报告图像的采集方向信息

以上只是对 FSL 的一个简单介绍,FSL 常用工具的入门很容易。但是要使用 FSL 进行神经影像的分析会有难度。

如果想要更好的学习,提供以下几个链接,读者可自学。


FSL 实用链接


  1. 介绍一款 MRI&CT 图像预处理强大工具--FSL_FSL图像处理_07


如果你觉得这个功能实用,欢迎阅读下次安装教程~~

请持续关注,后续会详细介绍几个实用功能的用法,包括 FSLeyes, 脑组织分割,配准,Fslutils工具包常用功能。

文章持续更新,可以关注微信公众号【医学图像人工智能实战营】获取最新动态,一个关注于医学图像处理领域前沿科技的公众号。坚持已实践为主,手把手带你做项目,打比赛,写论文。凡原创文章皆提供理论讲解,实验代码,实验数据。只有实践才能成长的更快,关注我们,一起学习进步~

我是Tina, 我们下篇博客见~

白天工作晚上写文,呕心沥血

标签:脑组织,功能,--,FSL,分割,MRI,图像
From: https://blog.51cto.com/u_16159492/6481769

相关文章

  • C++面试八股文:C++中,设计一个类要注意哪些东西?
    某日二师兄参加XXX科技公司的C++工程师开发岗位第9面:面试官:C++中,设计一个类要注意哪些东西?二师兄:设计一个类主要考虑以下几个方面:1.面向对象的封装、继承及多态。2.bigthree或者bigfive。3.运算符和函数重载、静态成员、友元、异常处理等相关问题。面试官:请介绍一下面向......
  • 13个医学图像 AI 入门项目- 都跑完你就超神了!
    本文介绍MONAI框架提供的医学图像方面的教程,基本包括医学图像处理AI方向的各个领域,并且每个教程都是可以跑的通的!可以作为入门的第一项目。主要内容如下文章目录1二维分类2二维分割3三维分类4三维分割4.1ignite版本4.2torch版本4.3BRATS脑肿瘤多标签三维分割4.4CTS......
  • postgresql中根据上次的查询结果循环插入
    循环插入DO$$DECLAREtmpRECORD;BEGINFORtmpINselectdistinctidfromtestLOOPINSERTINTOtest1(id,role_code,privilege_code,space_id)VALUES(FLOOR(random()*2147483646),'COMMON_USER','test',tmp.......
  • python第一课 -python基本语法
    python关键字导入关键字,并打印出来importkeyword#查看python关键字print(keyword.kwlist)'''将python关键字每行5个打印出来'''key=keyword.kwlistj=0foriinkey:print(i,end='\t')j+=1ifj==5:j=0print('\......
  • 如何度量两幅图像的相似度--结构相似度 SSIM 原理及代码
    本文目录文章目录1.什么是SSIM2.SSIM有什么用3.使用pytorch计算SSIM3.1二维图像SSIM计算3.1.1准备工作3.1.2官网的第一个案例3.1.3官网的第二个案例3.2在图片上写字,并制作GIF3.2.1使用Python在图片上写字3.2.2制作GIF3.33D图像的SSIM计算和loss1.什么是S......
  • 哈希搜索算法及C语言实现
    一、哈希搜索算法原理哈希搜索,也叫散列查找,是一种通过哈希表(散列表)实现快速查找目标元素的算法。哈希搜索算法通常适用于需要快速查找一组数据中是否存在某个元素的场景,其时间复杂度最高为O(1),而平均情况下的时间复杂度通常相当接近O(1),因此在实际应用中具有很高的效率和性能。哈......
  • 【Azure 应用服务】Azure Function App在部署时候遇见 503 ServiceUnavailable
    问题描述在VSCode中编写好AzureFunctionApp代码后,通过 funcazurefunctionapppublish部署失败,抛出503ServiceUnavailable错误。Gettingsitepublishinginfo...Creatingarchiveforcurrentdirectory...Performingremotebuildforfunctionsproject.Deleting......
  • 《C++》对象的初始化和清理
    不设计构造和析构函数 编译器会提供空语句的构造和析构初始化--构造函数无返回类型函数名与类名相同构造函数可以有参数可以发生重载创建对象的时候构造函数会自动调用且只调用一次classPerson{public: Person() { cout<<"无参构造函数调用"<<endl; }Person(inta......
  • 一文实战K8S中的服务发现和负载均衡
    开篇在Kubernetes集群中,服务发现和负载均衡是非常重要的概念和功能。它们可以帮助我们管理应用程序的访问和流量分发,确保应用程序的高可用性和性能。在本文中,我们将通过一个实战案例,探索Kubernetes中的服务发现和负载均衡机制,并演示如何在集群中部署和管理具有负载均衡能力的应用......
  • 探秘WebMagic:爬虫神器
    一、介绍WebMagic是一款基于Java的开源网络爬虫框架,能够快速、灵活、高效地实现网络数据的爬取和抽取。WebMagic支持多线程、分布式、自动重试等特性,而且使用起来也非常方便。二、优点1.快速:使用了NIO框架,能够高效地进行网络通信,提高爬虫效率。2.灵活:支持自定义爬取规则,能够......