Skip to main content

FSL Python library

Project description

https://img.shields.io/pypi/v/fslpy.svg https://anaconda.org/conda-forge/fslpy/badges/version.svg https://zenodo.org/badge/DOI/10.5281/zenodo.1470750.svg https://git.fmrib.ox.ac.uk/fsl/fslpy/badges/master/coverage.svg

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

fslpy is tested against Python versions 3.10, 3.11, 3.12, and 3.13.

Installation

Install fslpy and its core dependencies via pip:

pip install fslpy

fslpy is also available on conda-forge:

conda install -c conda-forge fslpy

Dependencies

All of the core dependencies of fslpy are listed in the pyproject.toml file.

Some optional dependencies (labelled extra in pyproject.toml) 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.

  • Pillow: The fsl.data.bitmap.Bitmap class uses Pillow to load image files.

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

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

Once wxPython has been installed, you can type the following to install the remaining optional dependencies:

pip install "fslpy[extra]"

Dependencies for testing and documentation are also listed in pyproject.toml, and are respectively labelled as test and doc.

Non-Python dependencies

The fsl.data.dicom module requires the presence of Chris Rorden’s dcm2niix program.

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

The fsl.transform.x5 module uses h5py, which requires libhdf5.

Documentation

API documentation for fslpy is hosted at https://open.win.ox.ac.uk/pages/fsl/fslpy/.

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

pip install ".[doc]"
sphinx-build doc html

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

Tests

Run the test suite via:

pip install ".[test]"
pytest

Some tests will only pass if the test environment meets certain criteria - refer to the tool.pytest.init_options section of [pyproject.toml](pyproject.toml) for a list of [pytest marks](https://docs.pytest.org/en/7.1.x/example/markers.html) which can be selectively enabled or disabled.

Contributing

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

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.

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fslpy-3.28.0.tar.gz (4.8 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

fslpy-3.28.0-py3-none-any.whl (4.8 MB view details)

Uploaded Python 3

File details

Details for the file fslpy-3.28.0.tar.gz.

File metadata

  • Download URL: fslpy-3.28.0.tar.gz
  • Upload date:
  • Size: 4.8 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fslpy-3.28.0.tar.gz
Algorithm Hash digest
SHA256 7a4a7753c3fd9b1a9276f087f81bd8d0565d634bd017f7ee895263f2f28f216c
MD5 b3aa5bb367927e160d4b2fa3dc45551b
BLAKE2b-256 76768c71f19de2aa53e0813bad8134aaff2748fa4e0e19b7a1828aa36d7dca5b

See more details on using hashes here.

File details

Details for the file fslpy-3.28.0-py3-none-any.whl.

File metadata

  • Download URL: fslpy-3.28.0-py3-none-any.whl
  • Upload date:
  • Size: 4.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.12

File hashes

Hashes for fslpy-3.28.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6f13d7128536da673f8da8b2ba985a5f2589416341338a082af7492e11f026da
MD5 bacf5581754f8063d70bcc0158d5df12
BLAKE2b-256 f8381896fb79058d5671ca54d3f0aee6738c0ac56529b15e3da4cd8140d4fd6c

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page