Skip to main content

GPU-accelerated Python package for ultrasound imaging.

Project description

PyUS is a GPU-accelerated Python package for ultrasound imaging.


PyUS is based on Python>=3.7, with the following dependencies:

  • numpy
  • scipy
  • matplotlib
  • tqdm
  • pycuda
  • h5py
  • pyfftw

These packages will be installed when calling the pip installation command.

Important notes:

  • CUDA 10.0 is required.
  • CPU-only implementations are also provided, though CUDA 10.0 should still be installed in order to work.
  • Only tested on Ubuntu 16.04 and 18.04 based distributions.


PyUS is currently under development, and beta versions will soon be available for installation from the Python Package Index (PyPI).

For now, the easiest way to install it is by downloading the pre-compiled wheel contained in this archive, and install it using pip in a dedicated Python environment:

pip install dist/pyus-0.2.0-cp37-cp37m-linux_x86_64.whl

Build from sources

Before building the wheel you will need to build the pulse library. To do so, refer to the pulse_directory.

In order to build the wheel from sources, you will first have to install numpy and cython.

pip install numpy cython

An option to provide for the build is the CUDA version that should be used. To do so, just pass it as an environment variable during the call to pip:

CUDA_VERSION=X.Y pip <pip arguments>

If you don’t provide it, the version will be automatically detected on your system, provided that CUDA is installed in the standard location (i.e. /usr/local/). If you have several versions installed or none, an error will be raised and the build will be interrupted. You will then have to provide a specific version of CUDA or install one.

To build the package, you have several options:

  • you can manually build the wheel:

    cd pyus
    CUDA_VERSION=X.Y pip wheel --wheel-dir=<your/wheel/dst/dir> --no-deps .

    where the --wheel-dir option allows you to specify the directory to put the built wheel in, and the --no-deps prevents pip from downloading all the dependencies and putting them with your built wheel.

  • you can install the package locally in editable mode:

    cd pyus
    CUDA_VERSION=X.Y pip install -e .
  • you can install the package normally:

    cd pyus
    CUDA_VERSION=X.Y pip install .

Getting Started

As PyUS is initially an internal package used for research purposes, it still lacks a lot of documentation. We did our best to use type hinting that “speak for themselves”.

In the meantime, some examples are provided under directory examples/.






PyUS is released under the terms of the BSD 3-Clause license.


PyUS is initially an internal research package that was started in 2018 at the Signal Processing Laboratory 5 (LTS5), École polytechnique fédérale de Lausanne.

TODO: citation

Project details

Release history Release notifications

This version


Download files

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

Files for pyus, version 0.2.0
Filename, size File type Python version Upload date Hashes
Filename, size pyus-0.2.0.tar.gz (1.9 MB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN SignalFx SignalFx Supporter DigiCert DigiCert EV certificate StatusPage StatusPage Status page