FreeSurfer Python Development
To ensure consistency and control of python libraries in the lab, a custom python3 (anaconda) distribution for internal freesurfer developers is installed at /space/freesurfer/python/linux. To make sure calls to python or python3 point to this version, add the following to your PATH. Note: the examples on this page assume you're using bash as your shell.
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 it in your PATH.
Developing and Using the FreeSurfer Python Library
The freesurfer python library, which contains general FS 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:
This allows you to import your working version of the freesurfer library in any script or python interpreter. You can test this by calling python then running:
import freesurfer as fs status = fs.run('echo hello!')
By default, the cpu-tensorflow package is installed, but if you're on a machine with cuda installed, you can use the gpu-enabled tensorflow by adding to the following search paths:
export PYTHONPATH=/space/freesurfer/python/linux/tensorflow-gpu:$PYTHONPATH export LD_LIBRARY_PATH=/usr/pubsw/packages/CUDA/lib64:$LD_LIBRARY_PATH