FreeSurfer Python Development

To facilitate straightforward and reproducible python development in the lab, a custom python3 (anaconda) distribution for internal developers is installed at /space/freesurfer/python/linux. To use this version, make sure all calls to python or python3 point to this install by adding the following to your PATH.

export PATH=/space/freesurfer/python/linux/bin:$PATH

Keep in mind there's also a python3 link in /usr/pubsw/bin, so it's important that /space/freesurfer/python/linux/bin comes before that in your PATH.

Developing and Using the FreeSurfer Python Library

The freesurfer python library, which contains general utilities and various submodules like deepsurfer, gems, and samseg, is developed in the repository under repo/python/freesurfer. In order to utilize this library during development, you must point your PYTHONPATH at it:

export PYTHONPATH=/path/to/your/freesurfer-repository/python:$PYTHONPATH

This allows you to import your working version of the freesurfer library in any script or python interpreter. You can test it by opening a python interpreter and running:

import freesurfer as fs
status ='echo hello!')


By default, the GPU version of tensorflow is installed. You can still make tensorflow use the CPU with this version, but if your machine does not have cuda installed (like oribi), then you unfortunately won't be able to import tensorflow at all. In this case, you must activate the tensorflow-cpu conda environment by running:

source activate tensorflow-cpu