个人装了几次FSL后发现还是在线安装最方便,推荐方法一
- 方法一(最好用!推荐)
这种方法关键是保证网络顺畅,我们学习室的台式机没有无线网卡,我历经了几次京东退货后,发现linux18系统能用的是比较旧的一款网卡Tenda W311M 150M。
安排好网卡后,没有python2.7可以先安装一个python
sudo apt-get install python2.7 #下载python2.7
再进入FSL官网(https://fsl.fmrib.ox.ac.uk/fsldownloads/),填写好资料后就能下载fslpython_install.py,下载好后就可以开始安装了
python2.7 [下载存放路径]/fslpython_install.py #用python2.7运行fsl的下载和安装
安装过程中看到这么一句话,提醒你指定fsl的安装位置
where to install fsl? [/usr/local/fsl]
输入你想安装的位置路径,如:
/media/mankiki/software/fsl #我的安装位置选在software分区的,这条命令会在这里新建一个fsl文件夹存放所有的组件
等待上面的命令完成没有报错就是安装成功了,可以直接跳到我后面“按照fsl官网的测试命令试试fsl还有没有啥其他问题”这部分。
若过程中fsl下载完成但安装失败(如step1完成,step2失败),输入下列命令重新安装:
sudo rm -r $FSLDIR/fslpython # 删除fslpython配置路径
sudo $FSLDIR/etc/fslconf/fslpython_install.sh -f $FSLDIR # 重新安装缺失文件
例如我的:
sudo rm -r /media/mankiki/software/fsl/fslpython
sudo/media/mankiki/software/fsl/etc/fslconf/fslpython_install.sh -f /media/mankiki/software/fsl
若安装过程中又报错,打开它指示的***.log文件翻到很后面的位置查看问题所在(看到英文不要害怕,就找Error这个词在哪里,然后把完整的那句报错内容复制到百度找办法),例如我遇到的是miniconda安装问题(CondaHTTPError: HTTP 000 CONNECTION FAILED for url)
百度下解决办法:
cp ~/.condarc{,.bak}
> conda config --add channels
> https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda
> config --add channels
> https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda
> config --add channels
> https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config
> --set show_channel_urls yes
vim ~/.condarc
##主要是删除此行: - defaults
#修改后配置文件的内容如下:
channels:
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/
- https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
show_channel_urls: true
按ESC后输入:wq保存退出
source ~/.condarc #应用修改后的设置
再次尝试前面提到的重新安装的命令 rm …………
安装好后,按照fsl官网的测试命令试试fsl有没有啥其他问题
测试的时候我输入flirt -version
后碰到了一个报错:
flirt: error while loading shared libraries: libquadmath.so.0: cannot open shared object file: No such file or directory #说明不存在libquadmath.so.0
同样百度解决方法如下:
sudo apt install libquadmath0 #安装libquadmath0
————————以下是之前的经验分享,捉了点虫———————————
- 方法二(去年尝试的,参考了其它人的分享贴,有小伙伴反馈说成功了)
官网推荐通过fslpython.py文件下载FSL失败了太多次,我放弃了,所以采取先下载安装包再安装到系统上的策略。
fsl6.0.5 的下载地址:https://fsl.fmrib.ox.ac.uk/fsldownloads/fsl-6.0.5-centos7_64.tar.gz
在terminal里输入($downloaddir 为你下载安装包时选择的保存路径)不清楚cp\cd\tar等命令什么意思先去搜一下:
cp $downloaddir/fsl-6.0.5-centos7_64.tar.gz /home/manki/software/fsl #把安装包复制到我想安装的位置,即/home/mankiki/software/fsl
cd /home/manki/software/fsl #进入该位置
tar -xzvf fsl-6.0.5-centos7_64.tar.gz #解压安装包
在terminal里继续输入 vim ~/.bashrc
打开打开一个文件添加环境变量:
FSLDIR=/home/manki/software/fsl #等号后面是你的安装路径
#下面三行不用改动继续输入
${FSLDIR}/etc/fslconf/fsl.sh
PATH=${FSLDIR}/bin:$PATH
export FSLDIR PATH
输好后按esc, 输入:wq!再按enter强制保存退出
在终端里输入source ~/.bashrc
即可
现在就可以直接在terminal里输入fsl打开软件了
下载软件包解压安装fsl后,还要再安装FSLeyes和配置环境,我看了别人的经验分享贴,使用Anaconda构建虚拟环境后下载安装fsleyes。
sudo su #取得root权限
wget -c https://repo.anaconda.com/archive/Anaconda3-2020.11-Linux-x86_64.sh #下载anaconda
bash $downloaddir/Anaconda3-2020.11-Linux-x86_64.sh #安装,$downloaddir为你的下载路径
长按enter,直到出现 [yes|no],输入yes
同样会需要你自定义安装路径,我新建了个文件夹cell在/home/mankiki/下, 选择它作为我的安装路径:[/root/anaconda3] >>>/home/mankiki/cell/anaconda3
Do you wish the installer to initialize Anaconda3? ……还有啥来着,反正是输入yes
输入source ~/.bashrc
使得安装生效
输入vim ~/.bashrc查看.bashrc文件,将如下所示的conda配置部分复制到/etc/bash.bashrc末尾(用vim /etc/bash.bashrc打开编辑即可)
再重启一下终端。
这一步是去掉base(看的攻略建议的,我也不清楚具体的作用)
conda deactivate
conda config --set auto_activate_base false
创建虚拟环境fslpython(在root条件下创建,便于所有用户都可以用,其存于$AnacondaPATH/envs/目录下,我的是/home/mankiki/cell/anaconda3/envs/)
conda create -n fslpython python=3.8
conda activate fslpython #激活虚拟环境
conda install -c conda-forge fsleyes #安装fsleyes
然后进入到 $AnacondaPATH/envs/fslpython/bin/下,输入./fsleyes运行fsleyes
如:
cd $AnacondaPATH/envs/fslpython/bin/ #我的是 cd /home/mankiki/cell/anaconda3/envs/fslpython/bin/
./fsleyes #打开fsleyes
但这是如果直接输fsl看到fsl GUI界面,点击其中的‘FSLeyes’还是没反应,就需要继续操作。
rm /home/mankiki/software/fsl/fsl/bin/fsleyes #删除fsl里的fsleyes(如果有的话,我把fsl的安装目录弄多了一个文件夹,所以路径就长了……)
ln -s /home/manki/cell /anaconda3/envs/fslpython/bin/fsleyes /home/manki/software/fsl/fsl/bin/fsleyes #建立新的软连接替换之前的fsleyes
ll /opt/fsl/bin/fsleyes #查看一下
在从terminal输入fsl,然后再点击FSLeyes图标,就可以顺利调出了。
上述操作之后,还有些只在fslpython虚拟环境中的FSL命令可能也找不到,如imcp,immv,dcm2niix等……
可以参考这篇中最后一部分(批量建立软连接)
https://blog.csdn.net/sinat_35907936/article/details/112969857?spm=1001.2101.3001.6650.1&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-112969857-blog-107435915.pc_relevant_paycolumn_v3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7ECTRLIST%7ERate-1-112969857-blog-107435915.pc_relevant_paycolumn_v3&utm_relevant_index=2
其他参考:
https://blog.csdn.net/m0_46418391/article/details/107435915?spm=1001.2101.3001.6650.13&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-13-107435915-blog-89376758.pc_relevant_downloadblacklistv1&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EBlogCommendFromBaidu%7Edefault-13-107435915-blog-89376758.pc_relevant_downloadblacklistv1&utm_relevant_index=14