Metadata-Version: 2.1
Name: fslpy
Version: 1.12.0
Summary: FSL Python library
Home-page: https://git.fmrib.ox.ac.uk/fsl/fslpy
Author: Paul McCarthy
Author-email: pauldmccarthy@gmail.com
License: Apache License Version 2.0
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Topic :: Software Development :: Libraries :: Python Modules
Requires-Dist: six (==1.*)
Requires-Dist: deprecation (<=2.*,>=1.*)
Requires-Dist: numpy (==1.*)
Requires-Dist: scipy (<2,>=0.18)
Requires-Dist: nibabel (==2.*)
Provides-Extra: extras
Requires-Dist: indexed-gzip (<1,>=0.7.0); extra == 'extras'
Requires-Dist: wxpython (<4.1,>=3.0.2.0); extra == 'extras'
Requires-Dist: trimesh (<3,>=2.22.28); extra == 'extras'
Requires-Dist: rtree (==0.8.3); extra == 'extras'

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/

.. image:: https://img.shields.io/pypi/v/fslpy.svg
   :target: https://pypi.python.org/pypi/fslpy/

.. image:: https://anaconda.org/conda-forge/fslpy/badges/version.svg
   :target: https://anaconda.org/conda-forge/fslpy


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


Installation
------------


Install ``fslpy`` and its core dependencies via pip::

    pip install fslpy


``fslpy`` is also available on `conda-forge <https://conda-forge.org/>`_::

    conda install -c conda-forge fslpy


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]


Dependencies for testing and documentation are listed in the
`requirements-dev.txt <requirements-dev.txt>`_ file.


Documentation
-------------

``fslpy`` is documented using `sphinx <http://http://sphinx-doc.org/>`_. You
can build the API documentation by running::

    pip install -r requirements-dev.txt
    python setup.py doc

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


Tests
-----

Run the test suite via::

    pip install -r requirements-dev.txt
    python setup.py test

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


Contributing
------------


If you are interested in contributing to ``fslpy``, check out the
`contributing guide <doc/contributing.rst>`_.


Credits
-------


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.


