最近处理影像数据时涉及到使用ICA进行去噪预处理,而FSL可以实现这一功能。

FSL的ICA去噪包括有人工去噪及自动去噪两种,其中后者需要用到FIX这一软件包,FIX的安装及配置比较繁琐,本人在阅读了官网的指示及反复试错后终于得以成功运行,故将此进行整理以供参考。

笔者使用的是win10上的WSL子系统(ubuntu18.04)进行的FSL配置,这里默认读者已经安装好FSL,故不多介绍FSL在win10上的安装步骤了。

Feat ICA处理

我们先简单过一遍ICA的Gui处理步骤

单被试ICA在FSL中主要通过Melodic或者Feat Gui图形界面进行处理,笔者以Feat作为演示:

在ubuntu终端中输入Feat &后回车,弹出Gui界面,

上图中的Misc我们可以保持默认值不动,上面的菜单栏中我们选择first-level analysis和preprocess。

在Data select 4D data中我们输入需要处理的nii文件,Output我们维持默认路径即可,在输入后FSL会自动帮我们呈现TR与VOLUMNE。

接着在pre-stats一栏中我们将motion correction与slice timing,Bet全选上,如果你的数据是multiband的话需要把alternative image也输入进去,B0校正如果有相应资料我们也将场图,相位图输入进去,Spatial smoothing和highpass看情况可选可不选(取决于你的研究,一般空间平滑后的去噪效果会有很大差别。)然后因为我们需要做ICA,所以记得把低下的ICA选项勾上。

接着是Registration配准,使用两部配准,输入对应的T1结构图像,标准空间默认是MNI152 2mm的template。

线性配准方式与自由度根据自己需要进行选择。

检查一遍无差错后我们就可以go了,如无意外我们可以得到如下目录及文件:

接下来进行人工去噪,首先需要打开fsleyes进行数据查看,人工标记:

fsleyes --scene melodic -ad **.ica &

人工标记部分这里就不细讲了,毕竟我们的重点是FIX包的使用。

我们使用FIX包需要先手动标记10名左右被试的数据作为训练,因此以上步骤我们需要进行10次左右,手动标记完保存下.txt文件,命名为hand_labels_noise.txt(一定要这样统一命名,FIX才能辨认出来)。

FIX的安装与配置

FIX的安装命令与使用方式可以在FSL的wiki官网找到,安装上,除了FSL,我们还需要在Ubuntu上安装好R和matlab。

安装R,我们选择最新版本的,否则后续安装R包时会不兼容:

修改我们ubuntu上的source.list文件:

sudo vim /etc/apt/sources.list

将下面这个加到最后一行:

deb https://mirrors.tuna.tsinghua.edu.cn/CRAN/bin/linux/ubuntu bionic-cran40/

更新:

sudo apt update && sudo apt upgrade

添加密钥:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9

正式安装:

sudo apt install r-base
sudo apt install r-base-dev

打开R,版本应该为最新的:

在R上,我们需要安装如下R包:

在R终端中调用install.packages("库名")即可,按照上面的名字一个个敲。

至此,R环境安装配置完毕

安装MATLAB:

首先确保自己C盘空间足够,在win10中找到MATLAB安装包(我使用的R2017b破解版)

下载好后你的安装包会有如下文件:

1)我们先创建一个新路径:

mkdir home/***(你设置的Linux用户名)/temp

2)将下载好的iso镜像文件挂载上去:

cd **  #(你的matlab安装包路径)su  #(转为root用户,否则没有挂载权限)sudo mount -t auto -o loop R2017b_glnxa64.iso /home/xxx/temp #(挂载)

3)正式安装:进入挂载目录:

cd /home/***/tempsudo /home/xxx/temp/install #开始安装

4)破解
    转回刚开始的安装包目录,进入crack破解文件夹中,将下面两个文件放入对应位置:

​
sudo cp license_standalone.lic /usr/local/MATLAB/R2017b/licenses/sudo cp libmwservices.so /usr/local/MATLAB/R2017b/bin/glnxa64/​

5)取消挂载:

   sudo umount /home/xxx/temp

6)安装完成,运行

/usr/local/MATLAB/R2017b/bin/matlab

这时如无意外你的MATLAB界面就能弹出了(win10 FSL用户记得提前把xlaunch打开)

配置完成!!!FSL , R,MATLAB齐全了。这时我们上FIX官网把FIX包下载下来:

FIX - FslWiki

下载解压好后里面有一对的.m与.sh文件,其中有一个是我们需要自己编辑的--settings.sh文件

我们在将FIX放入WSL运行前可以先在win10下用记事本编辑好:

在setting.sh中,我们需要自己更改里面的R与MATLAB的路径(本文默认都装在/usr默认路径中):

1)记事本打开settings.sh,我们来到Part 1 MATLAB/OCTAVE mode那里。

FIX的配置有三种选择--MATLAB,OCTAVE,MATLAB COMPILED RUNTIME

我三个都试过,但只有MATLAB成功了(其中MCR配置涉及更改环境变量,巨坑,稍有不慎你的ubuntu系统就废掉了,这里抛砖引玉一下,如果有大神是用其他两种方式配置的欢迎补充,这样就可以对我们的C盘友好一点了。)

将FSL_FIX_MATLAB_MODE值设为1,表示我们选择MATLAB模式。

2)编辑MATLAB路径设置:

将标红两处进行更改(“=”后面的全部删去重新编辑),第一处我们将其改为MATLAB启动的路径(默认下的是/usr/local/MATLAB/R2017b/bin/matlab);第二处为我们的MATLAB安装包路径(/usr/local/MATLAB/R2017b)。

3)设置R路径:
拉到最后会有R的设置:

如图,将R的安装路径(/usr/bin/R)放到标红处那里替换掉。

正式运行

这时我们的设置全部完成了,将修改好的settings.sh文件保存,将整个FIX包复制到ubuntu中的/usr/local路径下。

训练数据

我们将在FSL中完成ICA完整处理的10名左右被试数据拿出来作为训练,我图方便会将他们都整理成一个目录下,例如:

需要注意,FIX的运行需要我们输入完整的文件,少一个都不行,包括有:

如果我们在Feat或Melodic中做了头东矫正与配准,那么应该都是齐全的(我们看生成目录下会分别由一个mc与reg的文件夹),如果你没有完全进行所有步骤,那么需要在后续补充文件输入,同时确保每一个被试.ica文件夹下都包含有你完成好的噪声人工标记.txt文档,并且命名为hand_labels_noise.txt。

将工作路径切换到我们整理好材料的路径中,数据训练指令为:

/usr/local/fix/fix -t <Training> [-l]  <Melodic1.ica> <Melodic2.ica> ...

其中training是我们会生成的数据集文件名(training.Rdata),-l 是其中一个选项,加上它,会生成另一个Traning_LOO文件夹,后面的.ica是我们每名被试数据的整个.ica文件夹目录,如果你使用的是Feat,那么则是.Feat格式,将10个数据的命名以此黏贴上去,然后回车。

输入训练数据越多,跑的时间越长。

最终我们会得到:

.RData就是我们自己训练出来的数据集,凭借这个,我们可以进行接下来的自动去噪了。

自动标记去噪

现在我们使用生成得RData来试试处理一名已运行完ICA但没有进行噪声分类的数据(同样的,ICA需要有如上所示完整的文件)

我们直接使用这行代码生成最终的去噪后的nii文件:

/usr/local/fix/fix <mel.ica> **.RData  20

mel.ica就是我们想要处理的数据,RData是我们生成的数据集(注意如果不在一个目录需要指名具体存放路径),后面的数字20是一个阈限值,我们可以调整大小,达到想要的信噪区分效果(一般情况下使用20即可)。

这就是FIX给我们自动生成的噪声.txt文件,里面记录有自动标记好的噪声成分。

一个问题
我在最初设置好跑指令时有遇到过MATLAB错误的情况(卡在了提取特征成分一步,并且给位哦生成了报错文件--segmentation violation)

我查询了一些文章,这篇文章解决了我的问题:

进入上面的这个MATLAB目录,重命名一个文件后就能运行了。

以上就是FSL ICA-FIX的一个简单使用流程,希望可以提供参考,欢迎各路大神补充细节。

FSL ICA-FIX配置及处理流程相关推荐

  1. Dubbo(十)之配置加载流程

    转载自  Dubbo配置加载流程 Dubbo 中的配置加载流程介绍 此篇文档主要讲在应用启动阶段,Dubbo框架如何将所需要的配置采集起来(包括应用配置.注册中心配置.服务配置等),以完成服务的暴露和 ...

  2. postgresql定义访问ip与用户_Postgresql-12.1最新版本在线安装以及配置使用全流程

    Postgresql-12.1最新版本在线安装以及配置使用全流程 Postgresql-12.1简单介绍 PostgreSQL 12.1 已经发布,该版本在各方面都得到了加强,包括显著地提升查询性能, ...

  3. Ubuntu16.4配置caffe详细流程

    ubuntu配置caffe总体流程大体分为以下几步骤: (1)安装依赖包  (2)禁用 nouveau  (3)配置环境变量  (4)下载 CUDA 8.0  (5)安装 CUDA 8.0  (6)验 ...

  4. 【小程序】腾讯云服务配置小程序流程

    配置小程序流程 [小程序]SSL配置 [小程序]Nginx配置https协议 [小程序]微信小程序配置

  5. 开发板与虚拟机组网、uboot源码makefile分析、uboot安全启动与非安全启动方式、uboot源码配置与编译流程、制作TF启动盘

    开发板与虚拟机组网. 局面:开发板.PC(Ubuntu系统).网线直连PC:设置Ubuntu系统:1.设置桥接模式,桥接到PC的有线网卡上:2.手动配置IP V4的地址信息,注意和开发板保持在同一网段 ...

  6. 三、域名的购买、解析、配置、绑定流程

    点击[域名] 点击[域名注册] 搜索你要购买的域名 根据需要选择[所有者类型]后,点击立即购买 ---------------------------------------------------- ...

  7. cognos安装和配置即席报表流程

    安装前的配置: 1.  Cognos数据库的创建和用户的创建 注意:字符集需要设置为UTF-8:Cognos用户权限可以给dba: 2.系统上原有JDK的删除(因为Cognos已经自带JDK) 安装- ...

  8. 4G模组通信配置相关概念及流程

    文章目录 一.cs域和ps域: 二.移动设备上网流程 三.PDP上下文 四.TCP/IP AT 命令使用流程图(EC200x) 参考 一.cs域和ps域: CS域 PS域 主要负责语音业务,如12.2 ...

  9. 在jetson tx2上配置jetson-inference的流程以及报错解决

    在显卡上运行完程序完成实验后,需要在tx2开发板上继续实现算法落地 重拾前两天做的jetson-inference的学习,整理一下流程 环境流程 #一些包的安装 $ sudo apt-get upda ...

  10. Windows IIS服务器建站/网站配置全图文流程(新手必备!) 一条龙

    阿里ECS云服务器购买配置全教程 本文提供全图文流程,中文翻译. Chinar 坚持将简单的生活方式,带给世人! (拥有更好的阅读体验 -- 高分辨率用户请根据需求调整网页缩放比例) Chinar - ...

最新文章

  1. RHEL5 下使用syslog-ng构建集中型日志服务器
  2. Windows Phone 网络HttpWebRequest用法
  3. 【Android 应用开发】BluetoothClass详解
  4. 指定端口传输_高速数字传输链路测试 - 高速数字电路仿真设计与测试技术发展趋势综述(二)...
  5. 使用 Chrome 开发者工具的 lighthouse 功能分析 web 应用的性能问题
  6. ListBox的一个郁闷小问题!
  7. Matlab clear, clc 和close函数
  8. 提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?
  9. 优先级调度算法动态优先级_与优先级调度有关的问题及其解决方案
  10. win10系统进入监护人模式的方法
  11. seaborn单变量/双变量/多变量绘图
  12. C++STL之fill()函数使用方法
  13. cartographer源码编译测试之开发环境搭建全在这里了
  14. jenkins 关联 钉钉机器人
  15. 金融随机分析——二叉树资产定价模型 第一卷
  16. C语言:将3*4矩阵中找出行最大,列最小的那个元素。-将低于平均值的人数作为函数返回值,将低于平均分的分数放入below数组中。...
  17. java web短信验证码_在Web项目中手机短信验证码实现的全过程记录
  18. 一种求周期二元线性序列的极小多项式的方法
  19. 力扣121、122、309、714(C语言版)动态规划股票问题
  20. 金字塔图表 html,echarts 金字塔

热门文章

  1. 自定义词库扩展和停止
  2. 人脸识别中的损失函数ArcFace及其实现过程代码(pytorch)--理解softmax损失函数及Arcface
  3. linux 查看链接文件,Linux下的链接文件详解
  4. AD转换实验c语言原理图,我的AD/DA转换单片机实验,含原理图和源码
  5. Uhuntu搜狗拼音输入法安装详细过程
  6. 锂电池一级保护 二级保护
  7. IReader Silverlight电子阅读器介绍开源项目
  8. 缓存框架 EhCache 使用 3
  9. bootice添加linux_用BOOTICE工具在U盘上实现SYSLINUX与GRUB4DOS双启动 - 图文
  10. 十五个免费Windows桌面系统工具(附下载)