Skip to content
Snippets Groups Projects
Forked from FSL / fslpy
1635 commits behind the upstream repository.

fslpy

The fslpy project is a FSL programming library written in Python. It is used by FSLeyes.

Installation

Install fslpy and its core dependencies via pip:

pip install fslpy

Dependencies

All of the core dependencies of fslpy are listed in the requirements.txt file.

Some extra dependencies are listed in requirements.txt which provide addditional functionality:

  • wxPython: The fsl.utils.idle module has functionality to schedule functions on the wx idle loop.
  • indexed_gzip: The fsl.data.image.Image class can use indexed_gzip to keep large compressed images on disk instead of decompressing and loading them into memory..
  • trimesh/rtree: The fsl.data.mesh.TriangleMesh class has some methods which use trimesh to perform geometric queries on the mesh.

If you are using Linux, need to install wxPython first, as binaries are not available on PyPI. Change the URL for your specific platform:

pip install -f https://extras.wxpython.org/wxPython4/extras/linux/gtk2/ubuntu-16.04/ wxpython

The rtree library also assumes that libspatialindex is installed on your system.

Once wxPython has been installed, you can simply type the following to install the rest of the extra dependencies:

pip install fslpy[extras]

Documentation

fslpy is documented using sphinx. You can build the API documentation by running:

python setup.py doc

The HTML documentation will be generated and saved in the doc/html/ directory.

If you are interested in contributing to fslpy, check out the contributing guide.

Tests

Run the test suite via:

python setup.py test

A test report will be generated at report.html, and a code coverage report will be generated in htmlcov/.

Credits

The fsl.data.dicom module is little more than a thin wrapper around Chris Rorden's dcm2niix program.

The example.mgz file, used for testing, originates from the nibabel test data set.