FSL6.0.3/FSL6.0.4完整安装与FSLeyes Not Found修复(centos和ubuntu)

深渊向深渊呼唤

在这里插入图片描述

  这已经是笔者第三篇关于FSL的文章了,足以见其有多么难缠。用官网给的方法,不仅下载慢,而且失败的概率大于99%。所以笔者采用了这篇博客给出的办法,但是这个办法有一个bug,那就是安装完成之后,fsleyes缺失,即fsleyes not found,经过反复试验,最终笔者可以非常顺利的修复fsleyes缺失的问题,现记录在此供大家参考。

  操作系统:ubuntu20.04/centos8/centos7
  使用工具:Anaconda3-2020.11-Linux
  待装软件:fsl6.0.3/fsl6.0.4
  另一方法:Docker容器中GUI软件的远程图形界面交互

copyright ©意疏:https://blog.csdn.net/sinat_35907936/article/details/112969857


Anaconda与虚拟环境(所有操作均在root下)


获取最新版Anaconda3

 wget -c https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh

安装Anaconda3

bash $downloaddir/Anaconda3-2020.11-Linux-x86_64.sh
# $downloaddir 为你的下载路径

  长按enter,直到出现 [yes|no],输入yes

  自定义安装路径,我喜欢放在/opt下:[/root/anaconda3] >>> /opt/anaconda3

  Do you wish the installer to initialize Anaconda3? 输入yes

  source一下使得 initialize生效

source ~/.bashrc

配置所有用户可用

   查看.bashrc文件,将如下所示的conda配置部分复制到/etc/bash.bashrc末尾 (ubuntu)或者 /etc/bashrc 末尾 (centos)。重启一下终端,那样所有用户就可以使用anaconda了。

vim ~/.bashrc

在这里插入图片描述

去掉恼人的base

conda deactivate
conda config --set auto_activate_base false

创建虚拟环境

   从FSL6.0.2之后,FSLeyes就独立于FSL了。如果你有观察过FSL文件中的FSLeyes,你会发现它装在一个miniconda创建的虚拟环境fslpython里。它要用到wxpythonnumpy等我们非常熟悉的包。由于笔者用anaconda比较多,所以就用的它。
  root用户下创建虚拟环境,便于所有用户都可以用,存于$AnacondaPATH/envs/目录下。

conda create -n flspython python=3.8

copyright ©意疏:https://blog.csdn.net/sinat_35907936/article/details/112969857


FSL与FSLeyes(所有操作均在root下)


下载FSL

  下载fsl6.0.3或者/fsl6.0.4,或者是前者大小的两倍。

安装FSL

  解压下载文件到你想要的安装目录,笔者依旧放在/opt下.

tar -xzvf $downloaddir/fsl-6.0.3-centos6_64.tar.gz /opt
# $downloaddir 为你的下载路径

  添加环境变量到/etc/bash.bashrc末尾 (ubuntu)或者 /etc/bashrc 末尾 (centos),便于所有用户都可以使用。

  环境变量:

export FSLDIR=/opt/fsl
export PATH=$PATH:$FSLDIR/bin
source $FSLDIR/etc/fslconf/fsl.sh

  然后键入fsl就可以使用fsl了,但是你会发现点击FSLeyes的时候,会出现FSLeyes not found的错,因为用上述方法下载的包,不包含fsleyes及其依赖的环境。 现在我们手动安装并修复它。

在这里插入图片描述

安装FSLeyes

  激活上面创建的虚拟环境

conda activate flspython

  通过conda-forge安装FSLeyes

conda install -c conda-forge fsleyes

  安装完成之后,进入fsleyes所在目录,我的在 opt/anaconda3/envs/fslpython/bin/下,然后./fsleyes运行fsleyes,如果弹出如下界面,说明FSLeyes安装成功了。

在这里插入图片描述


修复FSL中的FSLeyes((所有操作均在root下)


  删除fsl的bin文件的fsleyes链接

rm /opt/fsl/bin/fsleyes

  建立新的软连接

ln -s /opt/anaconda3/envs/fslpython/bin/fsleyes /opt/fsl/bin/fsleyes

  再一次在终端键入fsl,然后再点击FSLeyes图标,FSLeyes就奇迹般的出现啦。

在这里插入图片描述

copyright ©意疏:https://blog.csdn.net/sinat_35907936/article/details/112969857


参考


https://blog.csdn.net/qq_41763734/article/details/104721471
https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/FSLeyes

栏目