Newer
Older

Paul McCarthy
committed
fslpy
=====
.. image:: https://git.fmrib.ox.ac.uk/fsl/fslpy/badges/master/build.svg
:target: https://git.fmrib.ox.ac.uk/fsl/fslpy/commits/master/
.. image:: https://git.fmrib.ox.ac.uk/fsl/fslpy/badges/master/coverage.svg
:target: https://git.fmrib.ox.ac.uk/fsl/fslpy/commits/master/

Paul McCarthy
committed
The ``fslpy`` project is a `FSL <http://fsl.fmrib.ox.ac.uk/fsl/fslwiki/>`_
programming library written in Python. It is used by `FSLeyes

Paul McCarthy
committed
Installation
------------
Install ``fslpy`` and its core dependencies via pip::
pip install fslpy

Paul McCarthy
committed
Dependencies
------------
All of the core dependencies of ``fslpy`` are listed in the `requirements.txt
<requirements.txt>`_ file.
Some extra dependencies are listed in `requirements.txt
<requirements-extra.txt>`_ which provide addditional functionality:
- ``wxPython``: The `fsl.utils.idle <fsl/utils/idle.py>`_ module has
functionality to schedule functions on the ``wx`` idle loop.
- ``indexed_gzip``: The `fsl.data.image.Image <fsl/data/image.py>`_ 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 <fsl/data/mesh.py>`_
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]

Paul McCarthy
committed
Documentation
-------------
``fslpy`` is documented using `sphinx <http://http://sphinx-doc.org/>`_. 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 <doc/contributing.rst>`_.
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/``.
The `fsl.data.dicom <fsl/data/dicom.py>`_ module is little more than a thin
wrapper around Chris Rorden's `dcm2niix
<https://github.com/rordenlab/dcm2niix>`_ program.
The `example.mgz <tests/testdata/example.mgz>`_ file, used for testing,
originates from the ``nibabel`` test data set.