Differences between revisions 11 and 21 (spanning 10 versions)
Revision 11 as of 2019-06-24 12:30:27
Size: 1696
Editor: AndrewHoopes
Comment:
Revision 21 as of 2023-07-14 12:14:32
Size: 956
Editor: AvnishKumar
Comment:
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
## page was renamed from python
= FreeSurfer Python Development =
= FreeSurfer and LCN Python Development =
Line 4: Line 3:
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. If you're a python developer who uses multiple package versions or environments, please install your own local [[https://docs.conda.io/en/latest/miniconda.html|mini-conda distribution]]. It will give you full access and control of the installed packages.

To facilitate quick access to python utilities in the lab, a local conda distribution for internal developers is installed at `/autofs/cluster/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 7: Line 8:
export PATH=/space/freesurfer/python/linux/bin:$PATH export PATH=/autofs/cluster/freesurfer/python/linux/bin:$PATH
Line 10: Line 11:
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 ===

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
}}}
Keep in mind there's also a `python3` link in `/usr/pubsw/bin`, so it's important that `/autofs/cluster/freesurfer/python/linux/bin` comes before that in your `PATH`. If you want a python package installed into this distribution, email [[avnish.kumar@mgh.harvard.edu|Avnish]].

FreeSurfer and LCN Python Development

If you're a python developer who uses multiple package versions or environments, please install your own local mini-conda distribution. It will give you full access and control of the installed packages.

To facilitate quick access to python utilities in the lab, a local conda distribution for internal developers is installed at /autofs/cluster/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=/autofs/cluster/freesurfer/python/linux/bin:$PATH

Keep in mind there's also a python3 link in /usr/pubsw/bin, so it's important that /autofs/cluster/freesurfer/python/linux/bin comes before that in your PATH. If you want a python package installed into this distribution, email Avnish.

Python (last edited 2023-07-14 12:14:32 by AvnishKumar)