docker下安装FSL,实现头皮剥离(命令行)

前言


  上一篇博客写的docker入门,从docker要素,到容器与虚拟机的区别,再到打印第一个hello world,再到在容器中配置Python环境。这里也是在配环境,是一个脑影像软件FSL的环境,其实很简单,一看就会。

  docker原理与基本操作见:Doker入门一条龙

  docker下FSL图形化交互见:Docker容器中GUI软件的远程图形界面交互


方法一:用现成的镜像


  • 拉取FSL镜像

  dockerhub中FSL镜像,下载较多的是neurodata上传的fsl_1604 镜像。它是ubuntu内核,查看ubuntu版本为2020,所以笔者比较疑惑它为什么叫1604。里面fsl环境变量那些应该是已经添加了的,因为可以直接使用fsl的命令,如bet

docker pull neurodata/fsl_1604
  • 运行容器

docker run -itd --name fsl_1604  -v /d/docker/fsl_1604:/shared_data neurodata/fsl_1604 bash
  • 分割头皮测试

bet /shared_data/test.nii.gz  /shared_data/test_out.nii.gz
  • MRIcron查看结果

在这里插入图片描述 在这里插入图片描述
test.nii.gz test_out.nii.gz

方法二:自己搭FSL环境


docker run -it --name ubuntu_fsl -v /d/docker/ubuntu_fsl:/shared_data ubuntu bash

  更换apt镜像源详细叙述见上一篇文章。它很重要,因为以下将用通用的软件安装方式来安装FSL,如果不更换至国内源,下载速度将非常慢。笔者发现用阿里源安装fsl时常常出错,所以把镜像源换成了163源。即

  sources.list

deb http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.163.com/ubuntu/ focal-backports main restricted universe multiverse
  • 安装FSL

  可以按照neuro.debian.net指示进行安装,但是到最后一步时可能找不到fsl-complete包。也可以像通常安装软件那样安装FSL。这里用后者。

apt-get install fsl

  安装过程要持续较长一段时间,如果安装过程出现错误,重新更新一下源,再尝试安装。中间的设置按照提示进行即可。

apt-get update
  • 配置FSL环境变量

  配置环境变量也就是将软件的入口放在操作系统能遍历到的地方,这样你在命令行窗口直接输入该软件使用命令时操作系统可以找到并执行该命令。如果不配置,则需要cd到该命令所在位置,然后用./bet执行它。

  未配置环境变量时使用,如FSL剥头皮的bet命令:

/usr/share/fsl/5.0/bin/./bet

# dpkg -L fsl查看软件安装地址

  这篇文章中讲解了多种配置环境变量的方法,这里只配置bash。目录/etc/fsl/下的fsl.sh脚本提供了fsl的入口,所以我们将它的路径追加到/etc下的bash.bashrc文件末尾即可。

echo ". /etc/fsl/fsl.sh" >>/etc/bash.bashrc

  退出容器

exit

  重新进入容器

docker exec -it ubuntu_fsl bash  

  查看环境变量,其中不出意外已经存在FSL的路径。

echo $PATH 

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/lib/fsl/5.0

  配置环境变量后即可直接使用bet命令。

  • 分割头皮测试

bet /shared_data/test.nii.gz  /shared_data/test_out.nii.gz
  • MRIcron查看结果

在这里插入图片描述 在这里插入图片描述
test.nii.gz test_out.nii.gz

参考


  https://hub.docker.com/r/neurodata/fsl_1604
  https://www.cnblogs.com/dylancao/p/10109298.html
  https://blog.csdn.net/jiangjiang_jian/article/details/80698029?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522160290344719724838538902%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=160290344719724838538902&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allfirst_rank_v2~rank_v28-2-80698029.pc_first_rank_v2_rank_v28&utm_term=linux+fsl&spm=1018.2118.3001.4187

猜你喜欢

转载自blog.csdn.net/sinat_35907936/article/details/108997783