Metadata-Version: 2.4
Name: scilpy
Version: 2.2.2
Summary: Scilpy: diffusion MRI tools and utilities
Author: SCIL Team
License: UNKNOWN
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Environment :: Console
Classifier: Intended Audience :: Science/Research
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Scientific/Engineering
Requires-Python: <3.13,>=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: bctpy==0.6.*
Requires-Dist: bids-validator==1.14.*
Requires-Dist: bz2file==0.98
Requires-Dist: coloredlogs==15.0.*
Requires-Dist: cvxpy==1.6.*
Requires-Dist: cycler==0.12.*
Requires-Dist: deepdiff<8.7,>=8.1
Requires-Dist: dipy==1.11.*
Requires-Dist: dmri-amico==2.1.*
Requires-Dist: dmri-commit<2.5.0,>=2.4.2
Requires-Dist: docopt==0.6.*
Requires-Dist: dvc==3.59.*
Requires-Dist: formulaic==0.5.*
Requires-Dist: fury==0.12.*
Requires-Dist: future==1.0.*
Requires-Dist: GitPython==3.1.*
Requires-Dist: h5py==3.12.*
Requires-Dist: joblib==1.4.*
Requires-Dist: kiwisolver==1.4.*
Requires-Dist: matplotlib==3.10.*
Requires-Dist: nibabel==5.3.*
Requires-Dist: nilearn==0.11.*
Requires-Dist: nltk==3.9.*
Requires-Dist: numba==0.61.*
Requires-Dist: numba-kdtree==0.4.*
Requires-Dist: numpy==1.26.*
Requires-Dist: openpyxl==3.1.*
Requires-Dist: packaging==24.*
Requires-Dist: pathspec==0.12.*
Requires-Dist: pybids==0.18.*
Requires-Dist: PyMCubes==0.1.*
Requires-Dist: pyparsing==3.2.*
Requires-Dist: PySocks==1.7.*
Requires-Dist: pytest==8.3.*
Requires-Dist: pytest-xdist==3.8.*
Requires-Dist: pytest-console-scripts==1.4.*
Requires-Dist: pytest-cov==6.0.*
Requires-Dist: pytest-html==4.1.*
Requires-Dist: pytest-metadata==3.1.*
Requires-Dist: pytest-mock==3.14.*
Requires-Dist: python-dateutil==2.9.*
Requires-Dist: pytz==2024.2
Requires-Dist: requests==2.32.*
Requires-Dist: scikit-image==0.25.*
Requires-Dist: scikit-learn==1.6.*
Requires-Dist: scipy==1.15.*
Requires-Dist: six==1.17.*
Requires-Dist: statsmodels==0.14.*
Requires-Dist: trimeshpy==0.0.*
Requires-Dist: vtk==9.3.*
Provides-Extra: dev
Requires-Dist: pytest; extra == "dev"
Requires-Dist: ipython; extra == "dev"
Dynamic: license-file

# Scilpy
[![GitHub release (latest by date)](https://img.shields.io/github/v/release/scilus/scilpy)](https://github.com/scilus/scilpy/releases)
[![codecov](https://codecov.io/github/scilus/scilpy/graph/badge.svg?token=oXjDog4YZG)](https://codecov.io/github/scilus/scilpy)
[![Documentation Status](https://readthedocs.org/projects/scilpy/badge/?version=latest)](https://scilpy.readthedocs.io/en/latest/?badge=latest)

[![PyPI version badge](https://img.shields.io/pypi/v/scilpy?logo=pypi&logoColor=white)](https://pypi.org/project/scilpy)
[![PyPI - Downloads](https://static.pepy.tech/badge/scilpy)](https://pypi.org/project/scilpy)

[![Docker container badge](https://img.shields.io/docker/v/scilus/scilus?label=docker&logo=docker&logoColor=white)](https://hub.docker.com/r/scilus/scilpy)

**Scilpy** is the main library supporting research and development at the Sherbrooke Connectivity Imaging Lab
([SCIL]).

**Scilpy** mainly comprises tools and utilities to quickly work with diffusion MRI. Most of the tools are based
on or are wrappers of the [DIPY] library, and most of them will eventually be migrated to [DIPY]. Those tools implement the recommended workflows and parameters used in the lab.

The library is now built for Python 3.12 so be sure to create a virtual environnement for Python 3.12. If this version is not installed on your computer:
```
sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get install python3.12 python3.12-dev python3.12-venv python3.12-tk
```

:warning: We highly suggest to install uv to speedup scilpy installation: https://docs.astral.sh/uv/getting-started/installation/

:point_up: BUT, if you don't want to use uv, scilpy can still be installed by omitting the uv from all the installation command lines below.

Make sure your pip is up-to-date before trying to install:
```
uv pip install --upgrade pip
```

The library's structure is mostly aligned on that of [DIPY].

We highly encourage to install scilpy in a virtual environnement. Once done and you're in your virtual environnement, the library and scripts can be installed locally by running these commands:

## Install scilpy as a user

```
# If you are using Python3.10 or Python3.11, export this variable before installing
export SETUPTOOLS_USE_DISTUTILS=stdlib

uv pip install scilpy # For the most recent release from PyPi
```

## Install scilpy as a developer

```
# If you are using Python3.10 or Python3.11, export this variable before installing
export SETUPTOOLS_USE_DISTUTILS=stdlib

uv pip install -e . # Install from source code (for development)
```

## EXTRAS

On Linux, most likely you will have to install libraries for COMMIT/AMICO
```
sudo apt install libblas-dev liblapack-dev
```

While on MacOS you will have to use (most likely)
```
brew install openblas lapack
```

On Ubuntu >=20.04, you will have to install libraries for matplotlib
```
sudo apt install libfreetype6-dev
```

Note that using this technique will make it harder to remove the scripts when changing versions.
We highly recommend working in a [Python Virtual Environment].

[SCIL]:http://scil.dinf.usherbrooke.ca/
[DIPY]:http://dipy.org
[Python Virtual Environment]:https://virtualenv.pypa.io/en/latest/

**Scilpy** documentation is available: https://scilpy.readthedocs.io/en/latest/
