Deletions are marked like this. | Additions are marked like this. |
Line 29: | Line 29: |
setenv FREESURFER_HOME <freesurfer_installation_directory>/freesurfer | export FREESURFER_HOME=<freesurfer_installation_directory>/freesurfer |
[wiki:DownloadAndInstall top] | [wiki:Installation previous] | [wiki:TestingFreeSurfer next]
FreeSurfer Setup and Configuration
Basic setup
Usage of C shell (csh) or enhanced C shell (tcsh) is recommended, although bash/sh scripts are also provided for the setup scripts. The shell type on your system can be checked by typing ps at the command line in a terminal window. To explicitly launch csh or tcsh (tcsh is recommended), simply enter the following command in a terminal window:
tcsh
The prompt may change, and some login files may not be run in the new shell environment. See the man pages for tcsh for details.
If you do not have a preference for a particular shell, the default shell can be permanently switched to tcsh by typing the following:
chsh -s /bin/tcsh
The file <freesurfer_installation_directory>/!SetUpFreeSurfer.csh is a csh (C-shell) script that will configure the environment so that FreeSurfer can be used. It sets a few environment variables, sources other csh scripts to set up support libraries, and performs some checks that need to be passed before FreeSurfer can start. This file needs to be 'sourced' before running any FreeSurfer binaries.
To setup the tools to run, from a tcsh or csh, type:
setenv FREESURFER_HOME <freesurfer_installation_directory>/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.csh
Where <freesurfer_installation_directory> is replaced with the path of whereever you installed the distribution.
If using bash or sh, type:
export FREESURFER_HOME=<freesurfer_installation_directory>/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.sh
Alternately, the resource file for the shell can be configured to source the file automatically each time the shell is started. In the home directory of the user who will be running FreeSurfer binaries, edit the file .cshrc if C-shell will be used, the .tcshrc for enhanced C-shell, the .bashrc file for Bash, and .profile for sh, to include the previous two lines (which setenv FREESURFER_HOME, and then source the SetUpFreeSurfer.csh(or sh) script).
Upon 'sourcing' the SetUpFreeSurfer.csh(sh) script, you should see output like this (assuming an installation path of /usr/local):
Setting up environment for FreeSurfer/FS-FAST (and FSL) FREESURFER_HOME /usr/local/freesurfer FSFAST_HOME /usr/local/freesurfer/fsfast SUBJECTS_DIR /usr/local/freesurfer/subjects FUNCTIONALS_DIR /usr/local/freesurfer/sessions MINC_BIN_DIR /usr/local/freesurfer/lib/mni/bin MINC_LIB_DIR /usr/local/freesurfer/lib/mni/lib PERL5LIB /usr/local/freesurfer/lib/mni/lib/perl5/5.8.0 GSL_DIR /usr/local/freesurfer/lib/gsl QTDIR /usr/local/freesurfer/lib/qt TCLLIBPATH /usr/local/freesurfer/lib/tcltktixblt/lib
If any warnings appear, it's usually safe to ignore them, but make sure that they are not stating that a file or directory that should exist cannot be found.
If any error messages appear, check that the installation process was successfully completed.
MINC toolkit perl path fix-up
Important!
Some of the MNI tools contain hard-coded paths to perl. To fix this situation, type:
fixup_mni_paths
Now the MNI tools will find the perl binary on your platform. You can confirm this by typing 'nu_correct', which should return version information (v1.10).
License
If you haven't done so already, [wiki:Registration obtain a license], and copy the .license file to your $FREESURFER_HOME.
Optional configuration settings
The defaults declared in the SetUpFreeSurfer.csh script should work for most installations. However, users should free to edit this file to customize certain environment variables:
1. Your declaration of the FREESURFER_HOME variable could be moved within the SetUpFreeSurfer.csh script.
2. The default SUBJECTS_DIR, which is $FREESURFER_HOME/subjects, is most likely the first variable that you will want to customize, as you may keep different groups of subjects in different directories. You may include the following either directly in the SetUpFreeSurfer.csh script, or prior to calling it:
setenv SUBJECTS_DIR <full path to subject dir>
3. If you installed a different set of MINC tools (a set is included in $FREESURFER_HOME/lib/mni), then add the following lines to the additional configuration section (for example):
setenv MINC_BIN_DIR /usr/pubsw/packages/mni/current/binBR setenv MINC_LIB_DIR /usr/pubsw/packages/mni/current/lib
If you did not install the MINC tools (noting that it is required by Freesurfer's 'recon-all' script!), then add the following line in the local setup section:
setenv NO_MINC
4. If you do NOT intend to use the functional tools, then add the following line to the additional configuration section:
setenv NO_FSFAST
If you do intend to use the functional tools, then add these lines to your ~/matlab/startup.m file:
fsfasthome = getenv('FSFAST_HOME'); BR fsfasttoolbox = sprintf('%s/toolbox',fsfasthome); BR path(path,fsfasttoolbox); BR
5. You may also wish to declare a path to an FSL installation you might have:
setenv FSL_DIR /usr/local/fsl
6. Save the file. You will need to source this file (SetUpFreeSurfer.csh) every time you want to use Freesurfer.
Testing FreeSurfer
Next: [wiki:TestingFreeSurfer testing your FreeSurfer installation].