实现在win10上安装fmriprep

一、fmriprep介绍

fMRIPrep is a BIDS App that employs a standardized pre-processing pipeline on BIDS-compliant fMRI data. This pipeline utilizes the leading tools from different fMRI software packages (AFNI, FSL, ANTs, Freesurfer, nipype) to perform specific steps during the pre-processing. Rather than being limited to an individual package, fMRIPrep will leverage the best software tool for each pre-processing step, such as ANTs for normalization, FreeSurfer for surface reconstruction, and so on. In addition, users can easily access the workflows to determine how their data is pre-processed, thus providing better transparency and reproducibility.
对应缺点:
Limitations and reasons not to use fMRIPrep:
1.Very narrow FoV images oftentimes do not contain enough information for standard image registration methods to work correctly. Also, problems may arise when extracting the brain from these data. fMRIPrep supports pre-aligned BOLD series, and accepting pre-computed derivatives such as brain masks is a target of future effort.
2.fMRIPrep may also underperform for particular populations (e.g., infants) and non-human brains, although appropriate templates can be provided to overcome the issue.
3.The “EPInorm” approach is currently not supported, although we plan to implement this feature (see #620).
4.If you really want unlimited flexibility (which is obviously a double-edged sword).
5.If you want students to suffer through implementing each step for didactic purposes, or to learn shell-scripting or Python along the way.
6.If you are trying to reproduce some in-house lab pipeline.
(摘自fmriprep官网描述)


二、环境要求

1.电脑版本是win10专业版,教育版之类也可以,家庭版不可以!(docker要求)
2.conda + python3.8(个人感觉3以上就可以吧)

三、docker安装和配置fmriprep

1.docker安装

参考链接:
b站详细fmriprep_tutorial,强烈推荐,本文大多参考该视频
菜鸟教程安装
另一个安装博客
注意1:刚安装好记得更新Linux内核(WSL2),按提示就行;安装完成要设置环境变量

一方面安装成功会看到对应电脑对应任务栏或者右下角隐藏栏也会出现小海豚,安装不成功就是红色小海豚。也可以命令行进行安装成功测试:

docker run --rm hello-world

注意2:docker内存有限制,若有必要记得更改默认位置,参考链接:
docker内存配置
小插曲:由于我的电脑比较low,我在设置内存出现了报错内存不够,重新打开docker再减小内存就可以,尽量分配的越多越好。
Q:docker默认安装在c盘这个有办法改吗?这个更改配置貌似就是把image之类的转移到了其他地方。有知道的可以给俺说一下,阿里嘎多!

2.配置fmriprep

命令行输入:

docker pull nipreps/fmriprep

该命令自动拉取最新的fmriprep,请注意更新版本。

3.fmriprep调用

调用方式:
1)直接在docker运行,需要输入多余的参数(不推荐)
2)下载脚本(注意保证你能使用pip)并添加到环境变量方便以后直接使用fmriprep-docker调用。命令行输入:

pip install --user --upgrade fmriprep-docker

命令行输入以下代码测试:

fmriprep-docker

四、准备BIDS数据集

1.BIDS介绍

BIDS全称是Brain Imaging Data Structure,它是一种统一的脑影像数据存储规范,利于数据共享;目前有许多优秀的神经影像app支持bids格式,称之为BIDS-app,fmriprep就是一种。
知乎介绍
一个BIDS数据集格式的example
大概框架
其他参考资料:
对应官网链接
github参考
BIDS Validator,可检验格式的合理性

2.创建数据集

创建BIDS格式的数据集一共需要5步:
1)DICOM files to NIfTI
使用dcn2niix来做(win务必建议如下命令):

dcm2niix conda install -c conda-forge dcm2niix

小碎念:这步我搞了好久,卡了半天,明明安装成功,但是在后续操作我一直报如下错误,然后我试着已经添加环境变量依旧报错,后尝试在powershell中运行.\dcm2niix等各种方法依旧不行,然后我将dcm2niix.exe安装到我自己的Anaconda\Scripts就可以了,不知道为什么;后续询问b站up说可以试着尝试使用下面这个命令:
报错

pip install dcm2niix

然后安装:

pip install dcm2bids --user

然后手动修改bug
先找到自己的dcm2bids的安装路径,上面这个命令就可以直接看到了,如果没有就再输入一遍。修改如图的utils.py文件,在第二幅图的位置加上/,原来的是没有/的:
在这里插入图片描述
在这里插入图片描述

2)存储文件
结构:被试-Session-模态-文件,参考:
dcm2bids的主页
(1)创建一个新文件夹
(2)三个主要命令:

dcm2bids_helper -d
dcm2bids_scaffold -o
dcm2bids -d <原始的DICOM文件夹路径>  -p 01 -c D:\demo\BIDS_config.json -o <指定输出路径>  --forceDcm2niix

说明:
“-d”, “–dicom_dir”:原始DICOM文件路径
“-s”, “–session”
“-c”, “–config”:需要自己编写的配置文件(重要,后面单独再说)
“-o”, “–output_dir”:指定输出路径
–forceDcm2niix 强制后缀
(3)命令说明
dcm2bids_helper -d:获得一个帮助文件,通过该文件才能知道如何去编写config文件

dcm2bids_helper -d <原始DICOM数据路径>

运行成功后会显示帮助文件路径;
在这里插入图片描述

在这里插入图片描述
我们主要通过json文件编写config文件;通过原始的dicom数据中包含的键值对筛选出我们想要的dicom数据并将这些数据转化成DIffTI格式,并且正确的重命名到bisd格式下。
在这里插入图片描述
更多编写config资料参考:
bids官网
Andy’s Brain Book
dcm2bids_scaffold -o:创建一个bids的目录结构(这些文件必须正常存在才能运行fmriprep),如下图。后续需要根据自己的数据集进行修改文件内容:

dcm2bids_scaffold -o <指定路径>

在这里插入图片描述
文件夹含义及修改参考官方链接:
文件解释和内容修改
第三条dcm2bids命令运行效果:
在这里插入图片描述

3)添加描述文件
其余文件的描述
4)手动添加必要东西
如下图所示:
(1)sourcedata是用来放原始的dicom数据的;
(2)code用来放一些自己编写的批处理文件等;
(3)sub-01是dcm2bids生成的bids格式被试;
(4)derivatives用来存放最后运行fmriprep预处理的生成文件;
(5)其他描述文件参考3)
参考知乎:
补充

在这里插入图片描述

5)检验合理性
BIDS Validator

五、预处理

有两种方式:一种是在docker里面运行,不过相对繁琐,不推荐;我们介绍利用fmriprep-docker进行处理。
其中需要用到freesurfer的证书:
证书获取
人机验证不能显示的解决办法
在这里插入图片描述
在这里插入图片描述
报错参考

总结

刚开始学,自己基础也不好,而且不fan qiang找到的资料太少了,花了好几天时间才搞好,特此记录以防后续需要,也是自己的第一篇博客,如果对大家有帮助就更好啦!特别感谢宝藏up主biubiuqu,大家可以看他的视频,本文章好多借鉴本视频。后续希望自己可以继续坚持!

Supongo que te gusta

Origin blog.csdn.net/qq_42698411/article/details/122268119
Recomendado
Clasificación