|
Size: 8520
Comment:
|
Size: 5609
Comment: added MNI tool fixup, as it needs to run after sourcing SetUpFreeSurfer.csh
|
| Deletions are marked like this. | Additions are marked like this. |
| Line 1: | Line 1: |
| [wiki:Self:FreeSurferWiki top] | [wiki:Self:Installation previous] | [wiki:Self:DownloadAndInstall top] | [wiki:Self:Installation previous] | [wiki:Self:TestingFreeSurfer next] |
| Line 5: | Line 5: |
| === 3.0 Setting up environment === | == Basic setup == |
| Line 7: | Line 7: |
| The read-me screen of the installer provides directions on setting up the environment to allow running FreeSurfer, and this is reviewed next. ## attachment:install-6readme.jpg Usage of C shell (csh) or enhanced C shell (tcsh) is recommended. The shell type on your system can be checked by typing '''ps''' at the command line in an X terminal window. If csh or tcsh does not appear as one of the processes in the right hand column of output, the default shell must be changed to csh or tcsh. Otherwise, explicitly launch csh or tcsh before attempting to go further. To explicitly launch csh or tcsh (tcsh is recommended), simply enter the following command in an X terminal window: |
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: |
| Line 17: | Line 13: |
| If you do not have a preference for a particular shell, the default shell under Mac OS X can be permanently switched from bash to tcsh by typing 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: |
| Line 22: | Line 18: |
| The file freesurfer/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. | 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 24: | Line 20: |
| This can be done manually via typing the following command in an X terminal window: | To setup the tools to run, from a tcsh or csh, type: |
| Line 26: | Line 22: |
| source /Users/Shared/freesurfer/SetUpFreeSurfer.csh | setenv FREESURFER_HOME <freesurfer_installation_directory>/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.csh |
| Line 28: | Line 25: |
| 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, or '''.tcshrc''' for enhanced C-shell, to include the line: | Where <freesurfer_installation_directory> is replaced with the path of whereever you installed the distribution. If using bash or sh, type: |
| Line 30: | Line 29: |
| source /Users/Shared/freesurfer/SetUpFreeSurfer.csh | setenv FREESURFER_HOME <freesurfer_installation_directory>/freesurfer source $FREESURFER_HOME/SetUpFreeSurfer.sh |
| Line 33: | Line 33: |
| A sample subject directory is provided with the full installation, in /Users/Shared/freesurfer/subjects. If custom subject directories are created using mksubjectdirs or a different sample data set is used, let FreeSurfer know where to look by inserting the following line before the source command above: | 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): |
| Line 35: | Line 37: |
| setenv SUBJECTS_DIR [path to subject directory] }}} Make sure to use C shell (csh) or enhanced C shell (tcsh). This can be checked by typing '''ps''' at the command line in an X terminal window. If csh or tcsh does not appear as one of the processes in the right hand column of output, the default shell must be changed to csh or tcsh. Otherwise, explicitly launch csh or tcsh before attempting to go further. To explicitly launch csh or tcsh (tcsh is recommended), simply enter the following command in an X 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. As the shell starts up, messages are printed out showing the environment variables that have been set by the configuration scripts. The following example shows a case where the SUBJECTS_DIR has been set to something other than the default: {{{ Setting up environment for FreeSurfer/FS-FAST FREESURFER_HOME /Users/Shared/freesurfer FSFAST_HOME /Users/Shared/freesurfer/fsfast SUBJECTS_DIR /Users/Shared/freesurfer/subjects FUNCTIONALS_DIR /Users/Shared/freesurfer/sessions MINC_BIN_DIR /Users/Shared/freesurfer/lib/mni/bin MINC_LIB_DIR /Users/Shared/freesurfer/lib/mni/lib QTDIR /Users/Shared/freesurfer/lib/qt LIBS_DIR /Users/Shared/freesurfer/lib/misc |
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 |
| Line 61: | Line 54: |
| === 4.0 Practice data === | == MINC toolkit perl path fix-up == |
| Line 63: | Line 56: |
| A public distribution data set is available to run the tutorials. It contains 40 subjects, and occupies about 21G of disk-space. The file is available from the [ftp://surfer.nmr.mgh.harvard.edu/pub/dist distribution site], and is called [ftp://surfer.nmr.mgh.harvard.edu/pub/dist/buckner_public_distribution.tar.gz buckner_public_distribution.tar.gz]. | '''Important!''' |
| Line 65: | Line 58: |
| Once the file is downloaded, move the file to the $FREESURFER_HOME/subjects directory, and uncompress and install with the following command: |
Some of the MNI tools contain hard-coded paths to perl. To fix this situation, type: |
| Line 68: | Line 60: |
| tar zxvf buckner_public_distribution.tar.gz | fixup_mni_perl_path |
| Line 71: | Line 63: |
| The downloaded file can then be deleted. | 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). |
| Line 73: | Line 65: |
| To setup the environment variables SUBJECTS_DIR and SUBJECTS to point to this data, type the following command or include in your .cshrc or .tcshrc file: | == License == |
| Line 75: | Line 67: |
| {{{ source $FREESURFER_HOME/subjects/buckner_public_distribution/sample_group_study/scripts/subjects.csh }}} |
If you haven't done so already, [wiki:Self:Registration obtain a license], and copy the .license file to your $FREESURFER_HOME. |
| Line 79: | Line 69: |
| == Optional configuration settings == | |
| Line 80: | Line 71: |
| 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: | |
| Line 81: | Line 73: |
| == To configure FreeSurfer == | 1. Your declaration of the FREESURFER_HOME variable could be moved within the !SetUpFreeSurfer.csh script. |
| Line 83: | Line 75: |
| 1. Copy the license file into freesurfer/ and rename it to ".license" (no quotes) if necessary. 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: Create a file in your home directory called something like "SetUpFreeSurfer.csh" with the following contents: `# 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]] The full path to your freesurfer directory should be something like: `/home/username/freesurfer` 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: |
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 106: | Line 79: |
| 3. If you installed the MINC tools, then add the following lines to the additional configuration section: | 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): |
| Line 111: | Line 84: |
| If you did not install the MINC tools, then add the following line in the local setup section: | 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: |
| Line 125: | Line 98: |
| 5. Save the file. You will need to source this file every time you want to use Freesurfer. | 5. You may also wish to declare a path to an FSL installation you might have: |
| Line 127: | Line 100: |
| 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 129: | Line 102: |
| To explicitly launch csh or tcsh (tcsh is recommended), simply enter the following command: | 6. Save the file. You will need to source this file (!SetUpFreeSurfer.csh) every time you want to use Freesurfer. |
| Line 131: | Line 104: |
| `tcsh` | == Testing FreeSurfer == |
| Line 133: | Line 106: |
| 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. 7. Source the script. `source Set``Up``Free``Surfer.csh` You should see output like this: `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]] 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. 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:''' [wiki:Self:TestingFreeSurfer testing your FreeSurfer installation]. |
[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:
setenv 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_perl_path
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].
