Differences between revisions 7 and 8
Deletions are marked like this. Additions are marked like this.
Line 4: Line 4:
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.'' 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.
Line 10: Line 10:
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. 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.
Line 14: Line 14:
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: 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:
Line 20: Line 20:
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: 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:
Line 29: Line 29:
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: By default, the cpu-tensorflow package is installed, but if you're on a machine that allows it, you can use the gpu-enabled tensorflow by adding to the following search paths:
Line 35: Line 35:

Keep in mind that '''/usr/pubsw/packages/CUDA/lib64''' contains the shared libraries for many cuda versions, so you should refrain from including it in LD_LIBRARY_PATH until you're actually using cuda, since it will slow down program launches by searching that whole network directory.

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 = fs.run('echo hello!')

Tensorflow GPU

By default, the cpu-tensorflow package is installed, but if you're on a machine that allows it, 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

Keep in mind that /usr/pubsw/packages/CUDA/lib64 contains the shared libraries for many cuda versions, so you should refrain from including it in LD_LIBRARY_PATH until you're actually using cuda, since it will slow down program launches by searching that whole network directory.

Python (last edited 2021-08-26 13:24:17 by AndrewHoopes)