Skip to main content

A CPU & GPU compatible Python package for Electron Paramagnetic Resonance Imaging

Project description

PyPI version PyPI Downloads

PyEPRI -- A CPU & GPU compatible Python package for Electron Paramagnetic Resonance Imaging

Welcome to the PyEPRI repository, the package documentation and tutorials are available here.

If you have any comments, questions, or suggestions regarding this code, don't hesitate to open a discussion or a bug issue.

If you find PyEPRI useful, please consider citing the following research paper:

Rémy Abergel, Sylvain Durand, and Yves-Michel Frapart. PyEPRI: a CPU & GPU compatible python
package for electron paramagnetic resonance imaging. Journal of Magnetic Resonance, vol 376,
p. 107891, 2025 (DOI: 10.1016/j.jmr.2025.107891).

Installation

PyEPRI can be installed on all plateforms (Linux, MacOs or Windows). However, GPU support is currently only available for systems equipped with an NVIDIA graphics card (which excludes MAC systems).

Installation commands provided below are valid for Linux and Mac systems. More complete installation guidelines (including video tutorials) for Linux, Mac and Windows are available in the online documentation.

Install latest stable version using pip (recommended)

Open a terminal and execute the following steps in order to create a virtual environment, and install the latest stable version of pyepri from the PyPi repository.

###################################################
# Create and activate a fresh virtual environment #
###################################################
python3 -m venv ~/.venv/pyepri
source ~/.venv/pyepri/bin/activate

#########################################################
# Install the `pyepri` package from the PyPi repository #
#########################################################
pip install pyepri

###########################################################
# Optional: enable {torch-cpu, torch-cuda, cupy} backends #
###########################################################

# enable `torch-cpu` backend
pip install pyepri[torch-cpu]

# enable `torch-cuda` backend (requires a NVIDIA graphics card with CUDA installed)
pip install pyepri[torch-cuda]

# enable `cupy` backend (requires a NVIDIA graphics card with CUDA installed)
# (please uncomment the appropriate line depending on your CUDA installation)
# pip install pyepri[cupy-cuda12x] # For CUDA 12.x
# pip install pyepri[cupy-cuda11x] # For CUDA 11.x

Install latest version from Github

Open a terminal and execute the following steps in order to checkout the current code release, create a virtual environment, and install pyepri from the github repository.

##################
# Clone the code #
##################
git clone https://github.com/remy-abergel/pyepri.git
cd pyepri

###################################################
# Create and activate a fresh virtual environment #
###################################################
python3 -m venv ~/.venv/pyepri
source ~/.venv/pyepri/bin/activate
	 
##########################################################
# Install the `pyepri` package from the checked out code #
# (do not forget the . at the end of the command line)   #
##########################################################
pip install -e .

###########################################################
# Optional: enable {torch-cpu, torch-cuda, cupy} backends #
###########################################################

# enable `torch-cpu` backend
pip install -e ".[torch-cpu]"

# enable `torch-cuda` backend (requires a NVIDIA graphics card with CUDA installed)
pip install -e ".[torch-cuda]"

# enable `cupy` backend (requires a NVIDIA graphics card with CUDA installed)
# (please uncomment the appropriate line depending on your CUDA installation)
# pip install -e ".[cupy-cuda12x]" # For CUDA 12.x
# pip install -e ".[cupy-cuda11x]" # For CUDA 11.x

################################################################
# If you want to compile the documentation by yourself, you    #
# must install the [doc] optional dependencies of the package, #
# compilation instructions are provided next                   #
################################################################
pip install -e ".[doc]" # install some optional dependencies
make -C docs html # build the documentation in html format
firefox docs/_build/html/index.html # open the built documentation (you can replace firefox by any other browser)

Because this installation was done in editable mode (thanks to the -e option of pip), any further update of the repository (e.g., using the syncing commang git pull) will also update the current installation of the package.

Troubleshooting

  • Mac users are strongly recommended to use bash shell instead of zsh to avoid slow copy-paste issues (type chsh -s /bin/bash in a terminal).

  • Display issues related to matplotlib interactive mode were reported on Linux systems and were solved by installing python3-tk (type sudo apt-get install python3-tk in a terminal).

  • If the installation of the package or one of its optional dependency fails, you may have more chance with miniconda (or conda).

  • If you still encounter difficulties, feel free to open a bug issue.

License

PyEPRI was created by Rémy Abergel (Centre National de la Recherche Scientifique, Université Paris Cité, Laboratoire MAP5). It is licensed under the terms of the MIT license.

Project details


Download files

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

Source Distribution

pyepri-1.1.1.tar.gz (35.2 MB view details)

Uploaded Source

Built Distribution

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

pyepri-1.1.1-py3-none-any.whl (42.8 MB view details)

Uploaded Python 3

File details

Details for the file pyepri-1.1.1.tar.gz.

File metadata

  • Download URL: pyepri-1.1.1.tar.gz
  • Upload date:
  • Size: 35.2 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyepri-1.1.1.tar.gz
Algorithm Hash digest
SHA256 0c381bc9d7ad4d53c2c6728bb458482912e2f12933f13524a9c0bdde44a437e1
MD5 dfc2386cdc564b87253e850c56297695
BLAKE2b-256 6ec1ab6c7faee2ec35cfd260a8200df34e3d3b216d8298ca3613a033156cbc0d

See more details on using hashes here.

File details

Details for the file pyepri-1.1.1-py3-none-any.whl.

File metadata

  • Download URL: pyepri-1.1.1-py3-none-any.whl
  • Upload date:
  • Size: 42.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for pyepri-1.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 c8c0dc0e7921f92ec64811e8b8df90b2581fc4786e6a3b238dc4e2d06e585469
MD5 81c04c2830514032c55e5d7e1d7ca91a
BLAKE2b-256 45efa6b2cb7e4cc24b69fef90c127feaaf4ca8f831743ab2a02efc7aa6f0c0bd

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