Prerequisites

The FSL software suite requires the X11 windowing system - please install XQuartz before continuing with the FSL installation. The FSL install script will warn you if it is unable to find X11 on your computer.

Yosemite (10.10)+ Recent versions of macOS are known to have problems with FSLView, often after major OS updates have been applied, if you experience errors referencing '/usr/X11R6' try re-installing XQuartz and failing this try: sudo ln -s /opt/X11 /usr/X11R6 ; sudo ln -s /opt/X11 /usr/X11

FSL Install Script

The fslinstaller.py script carries out the installation of FSL, configuring your environment to enable you to run FSL from a terminal (/Applications/Utilities/Terminal.app) window.

if you use Mathworks' MATLAB it will configure your startup.m file to allow you to use the FSL MATLAB functions and on macOS platforms it will also install FSLEyes and FSLView into /Applications.

Running the installer (on macOS or Linux)

Administrative privileges may be required

Installation into certain folders on your computer (e.g. the default, /usr/local) may require administrative privileges. If this is the case, the installer will attempt to gain these privileges through the use of the sudo command, which will require you to enter your password for verification. If you don't have permission to use sudo (an administration account on macOS) then the installer will fail and will need to either install into a folder belonging to your user or to run the installer as the root user. Should you install as root see the configuring your account for FSL section for details on how to use the installer to setup your user account for FSL.

The installer requires access to the internet to be able to download the FSL software appropriate for your platform and runs from within a terminal session, so you need to open a terminal:

  • Linux (Centos 7)
    • The Terminal application can be found in Applications > Utilities > Terminal menu

  • macOS
    • The Terminal application can be found in /Applications/Utilities

In the terminal change to the folder containing the fslinstaller.py file and run it with python; assuming that you wish to install into /usr/local (the default) then just press the Return key when the installer asks where to install to. For example if you downloaded to your Downloads folder:

cd ~/Downloads
python fslinstaller.py

The installer requires python 2.x to run which is the default on macOS and Centos 6 & 7, if you have installed python version 3 and made it the default when you run python then you will need to run it with a python 2 version, you can often find this as:

  • /usr/bin/python
  • python27
  • python2.7
  • python26
  • python2.6

Once the install completes Linux users should log out (System (top right icon) > Log out) and log back in to complete the FSL setup. If you are accessing the Linux computer via a remote SSH session then close the SSH session and re-login. Apple macOS users should open a new terminal window to begin using FSL.

Advanced Options

The installer has some advanced options which may be of use, particularly when scripting installs.

  • -d specify folder to install FSL into (without 'fsl'), e.g. /usr/local

  • -e only configure your account for running FSL
  • -E configure FSL for all users (Linux)
  • -v print installer version number and exit
  • -c check for updated versions of FSL
  • -l list versions of FSL available for download
  • -V install specified version number e.g. 5.0.10

  • -s download the source code for the current, or specified version of FSL
  • -f download the FEEDS data set for the current, or specified version of FSL
  • -q silence all messages
  • -p skip environment setup
  • -D switch on debug messages - use this option to generate logging that can be included when requesting installation support

You can automate the installation process using the -q and -d options to prevent questions being asked and to specify the install location respectively.

Checking the installation

Test that the environment and command line tools are set up correctly by doing the following:

  • Start a new Terminal session (File > Open Terminal under Linux/Gnome, Shell > New Window on macOS)

  • Check that your environment is correct by typing:
    echo $FSLDIR
    
    This should display the name of the directory that you installed FSL in.
  • Check that your path is correct by typing:
          flirt -version
    
    which should display a line like:
          FLIRT version 6.0
    (although the version number might be different).

In general, to run the FSL tools from the command line (within a terminal) you need to enter the program name in lower case (e.g. bet). Typing a command on its own (without any arguments or options) gives you a help message for that command.

A more complete test of the FSL installation can be run, if desired, by using the testing and evaluation suite FEEDS.

Running the GUIs

To run a GUI version of a program you can either type its capitalised name with an additional '_gui' appended in the terminal (e.g. Bet_gui), or you can start the main FSL GUI by just typing fsl.

If this doesn't work the see the FAQ for how to go about fixing this, otherwise you are ready to run FSL.


Advanced usage

Using FSL MATLAB libraries

The fslinstaller script sets this up for you so you should not need to do this. However, if the installer cannot configure MATLAB for some reason you may need to do this by hand.

FSL ships with several MATLAB scripts for loading NIFTI files. These libraries are dependant on FSL environment variables which aren't set in the macOS desktop environment, so won't run in a MATLAB session started from the /Applications/MATLAB.app launcher. You can configure MATLAB by adding the following to your ~/matlab/startup.m file (create it if it doesn't already exist) (assuming FSL is installed in /usr/local!):

setenv( 'FSLDIR', '/usr/local/fsl');
fsldir = getenv('FSLDIR');
fsldirmpath = sprintf('%s/etc/matlab',fsldir);
path(path, fsldirmpath);
clear fsldir fsldirmpath;
 

FslInstallation/MacOsX (last edited 13:52:56 25-04-2017 by DuncanMortimer)