Skip to main content

pipeline license pypi pyversions

PyUS

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

Requirements

PyUS is based on Python>=3.5, 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.

  • FFTW3 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, although it should work on any GNU/Linux distribution that uses glibc >= 2.12.

Installation

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 --upgrade pip
pip install pyus

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/.

Contributing

See CONTRIBUTING.rst.

Team/Contributors

TODO

License

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

Acknowledgments

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

Release files for pyus 0.2.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distributions (wheels)

Table of built distributions (wheels) for pyus 0.2.2
File
pyus-0.2.2-cp38-cp38-manylinux2010_x86_64.whl CPython 3.8 CPython 3.8 Linux glibc 2.12+ x86-64 Details
pyus-0.2.2-cp37-cp37m-manylinux2010_x86_64.whl CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64 Details
pyus-0.2.2-cp36-cp36m-manylinux2010_x86_64.whl CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64 Details
pyus-0.2.2-cp35-cp35m-manylinux2010_x86_64.whl CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64 Details

Total release size: 147.8 MB

Release files / pyus-0.2.2-cp38-cp38-manylinux2010_x86_64.whl

Download URL pyus-0.2.2-cp38-cp38-manylinux2010_x86_64.whl
Size 38.8 MB
Tags CPython 3.8 Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
a953bb1e38c9aa1a1a8b929c8d6684f1a1b488fbd747962386b71f2ab3bd1ec6
BLAKE2b-256 checksum
How to use checksums
380a9c5d546fe786c57d8f0c5f1a057e4fee6447d46a534a8b8e3e8bbee02a3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / pyus-0.2.2-cp37-cp37m-manylinux2010_x86_64.whl

Download URL pyus-0.2.2-cp37-cp37m-manylinux2010_x86_64.whl
Size 36.6 MB
Tags CPython 3.7 CPython 3.7 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
92c1cd624da904c2bb59d310f2cdf3be706581bdb5a76b36a6cea57d05a98c76
BLAKE2b-256 checksum
How to use checksums
d023bba62ca1c68043be8f63bae4b45a4a915ba7e9209ec920683bf76b8a6721
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / pyus-0.2.2-cp36-cp36m-manylinux2010_x86_64.whl

Download URL pyus-0.2.2-cp36-cp36m-manylinux2010_x86_64.whl
Size 36.7 MB
Tags CPython 3.6 CPython 3.6 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
89118cc58583936f5dc02f3649b1cca0caf649422209f28bcd203f118e831042
BLAKE2b-256 checksum
How to use checksums
8c8134e68809df689e1be52392084d8eec09f3d9d337d0b621d48e583cdeeafb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release files / pyus-0.2.2-cp35-cp35m-manylinux2010_x86_64.whl

Download URL pyus-0.2.2-cp35-cp35m-manylinux2010_x86_64.whl
Size 35.7 MB
Tags CPython 3.5 CPython 3.5 pymalloc Linux glibc 2.12+ x86-64
SHA-256 checksum
How to use checksums
5ce6e3ae5c207505800782c10d7ba69073a026a57f76c3d99660d330c2ff8eee
BLAKE2b-256 checksum
How to use checksums
016fb380ea1e97aa1fd4992fed6fd499fd64266b9fcd71be256db58e923e928f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.4

Release history Release notifications | RSS feed

This release

0.2.2 This release

4 release files

0.2.1

3 release files

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page