|
Size: 3622
Comment:
|
Size: 5633
Comment:
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| [[DownloadAndInstall|top]] | [[Installation|previous]] | [[TestingFreeSurfer|next]] | |
| Line 5: | Line 5: |
| == To configure FreeSurfer == | == Basic setup == |
| Line 7: | Line 7: |
| 1. Copy the license file into freesurfer/ and rename it to ".license" (no quotes) if necessary. | 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. |
| Line 9: | Line 13: |
| 2. The file freesurfer/FreeSurferEnv.csh is a csh (c-shell) script that will configure your environment so that you can use FreeSurfer. It sets a few envrionment variables and performs some sanity checks. If you are comfortable writing shell scripts, you may wish to set up your system differently, but we recommend the following: | 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 }}} |
| Line 11: | Line 18: |
| Create a file in your home directory called something like "SetUpFreeSurfer.csh" with the following contents: | 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. |
| Line 13: | Line 20: |
| `# Local setup.` [[BR]] `setenv FREESURFER_HOME <full path to freesurfer/>`[[BR]] [[BR]] `# Additional configurations will go here.`[[BR]] [[BR]] `# Call configuration script.`[[BR]] `cd $FREESURFER_HOME`[[BR]] `source Free``Surfer``Env.csh`[[BR]] |
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. |
| Line 22: | Line 27: |
| The full path to your freesurfer directory should be something like: `/home/username/freesurfer` |
If using bash or sh, type: {{{ export FREESURFER_HOME=<freesurfer_installation_directory>/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.sh }}} |
| Line 26: | Line 33: |
| 2. If you wish to designate a non-default subjects directory, add the following line in the 'additional configurations' section, before 'cd $FREESURFER_HOME' is called: | 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 FSF_OUTPUT_FORMAT nii SUBJECTS_DIR /usr/local/freesurfer/subjects MNI_DIR /usr/local/freesurfer/mni }}} 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. == License == If you haven't done so already, [[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: |
| Line 30: | Line 63: |
| 3. If you installed the MINC tools, then add the following lines to the additional configuration section: `setenv MINC_BIN_DIR /usr/pubsw/packages/mni/current/bin`[[BR]] `setenv MINC_LIB_DIR /usr/pubsw/packages/mni/current/lib` If you did not install the MINC tools, 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: |
3. If you do NOT intend to use the functional tools, then add the following line to the additional configuration section: |
| Line 45: | Line 69: |
| `fsfasthome = getenv('FSFAST_HOME');` [[BR]] `fsfasttoolbox = sprintf('%s/toolbox',fsfasthome);` [[BR]] `path(path,fsfasttoolbox);` [[BR]] |
`fsfasthome = getenv('FSFAST_HOME');` <<BR>> `fsfasttoolbox = sprintf('%s/toolbox',fsfasthome);` <<BR>> `path(path,fsfasttoolbox);` <<BR>> |
| Line 49: | Line 73: |
| 5. Save the file. You will need to source this file every time you want to use Freesurfer. | 4. You may also wish to declare a path to an FSL installation you might have: |
| Line 51: | Line 75: |
| 6. Make sure you are using csh or tcsh. You can check by typing 'ps' at the command line. If you do not see csh or tcsh as one of the processes in the right hand column of output, you must change your default shell to csh or tcsh or explicitly launch csh or tcsh first. | `setenv FSL_DIR /usr/local/fsl` |
| Line 53: | Line 77: |
| To explicitly launch csh or tcsh (tcsh is recommended), simply enter the following command: | 5. Save the file. You will need to source this file (!SetUpFreeSurfer.csh) every time you want to use Freesurfer. |
| Line 55: | Line 79: |
| `tcsh` | == Optional removal of third-party packages == |
| Line 57: | Line 81: |
| You may notice your prompt change. Note that some of your login files may not be run in the new shell environment. See the man pages for tcsh for details. | Freesurfer includes in its distribution several third-party open-sourced packages which are required for Freesurfer to fully function. The distributed packages have not been modified from their source origins, so it is possible to delete the distributed package if an equivalent package is already installed on your system. Please be aware that the packages distributed with Freesurfer have been tested for compatibility with its tools. |
| Line 59: | Line 83: |
| 7. Source the script. | The distributed packages, their version, and location are listed here: |
| Line 61: | Line 85: |
| `source Set``Up``Free``Surfer.csh` | || '''Package''' || '''Version''' || '''$FREESURFER_HOME Location''' || || MNI || 1.4* || /mni || || FSL || 3.2 || /fsl || || GSL || 1.6 || /lib/gsl || || Tcl/Tk/Tix/BLT || 8.4.6** || /lib/tcltktixblt || *refers to MINC version **refers to Tcl/Tk version |
| Line 63: | Line 93: |
| You should see output like this: | To use a prior installed package, just move or delete the Freesurfer directory containing the package, and replace with a symbolic link to your own package. For instance, assuming an MNI toolkit is already installed in /usr/local/mni: {{{ cd $FREESURFER_HOME mv mni mni-backup ln -s /usr/local/mni mni }}} |
| Line 65: | Line 100: |
| `Setting up enviroment for Free``Surfer/FS-FAST`[[BR]] `FREESURFER_HOME /home/freesurfer`[[BR]] `FSFAST_HOME /home/freesurfer/fsfast`[[BR]] `AFNI_DIR /home/freesurfer/afni`[[BR]] `FSL_DIR /home/freesurfer/fsl`[[BR]] `SUBJECTS_DIR /home/freesurfer/subjects`[[BR]] |
The !FreeSurferEnv.csh setup script will now point to those tools. |
| Line 72: | Line 102: |
| If you see any warnings, you can probably safely ignore them, but make sure they are not notifying you that it can't find something you think should exist. | == Testing FreeSurfer == |
| Line 74: | Line 104: |
| If you see any error messages, make sure you have performed the installation process properly, and that your `FREESURFER_HOME` setting is correct. From now on, you only need to source the Set``Up``Free``Surfer.csh script once in a shell session to be able to run FreeSurfer. You may want to do this in our shell's login scripts (i.e. .cshrc or .tcshrc). |
'''Next:''' [[TestingFreeSurfer|testing your FreeSurfer installation]]. |
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 FSF_OUTPUT_FORMAT nii SUBJECTS_DIR /usr/local/freesurfer/subjects MNI_DIR /usr/local/freesurfer/mni
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.
License
If you haven't done so already, 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 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');
fsfasttoolbox = sprintf('%s/toolbox',fsfasthome);
path(path,fsfasttoolbox);
4. You may also wish to declare a path to an FSL installation you might have:
setenv FSL_DIR /usr/local/fsl
5. Save the file. You will need to source this file (SetUpFreeSurfer.csh) every time you want to use Freesurfer.
Optional removal of third-party packages
Freesurfer includes in its distribution several third-party open-sourced packages which are required for Freesurfer to fully function. The distributed packages have not been modified from their source origins, so it is possible to delete the distributed package if an equivalent package is already installed on your system. Please be aware that the packages distributed with Freesurfer have been tested for compatibility with its tools.
The distributed packages, their version, and location are listed here:
Package |
Version |
$FREESURFER_HOME Location |
MNI |
1.4* |
/mni |
FSL |
3.2 |
/fsl |
GSL |
1.6 |
/lib/gsl |
Tcl/Tk/Tix/BLT |
8.4.6** |
/lib/tcltktixblt |
*refers to MINC version **refers to Tcl/Tk version
To use a prior installed package, just move or delete the Freesurfer directory containing the package, and replace with a symbolic link to your own package. For instance, assuming an MNI toolkit is already installed in /usr/local/mni:
cd $FREESURFER_HOME mv mni mni-backup ln -s /usr/local/mni mni
The FreeSurferEnv.csh setup script will now point to those tools.
