mbipy
Modulation based x-ray phase contrast imaging.
Installation
Clone the repository and cd to the directory, then:
pip install .
Usage
See the example notebooks.
Algorithms
Normal Integration
Functional Interface
| function | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| arnison | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| dct_poisson | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| dst_poisson | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| frankot | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| kottler | 🟢 | 🟢 | 🟢 | 🟢 | 🟢 |
| li | 🟢 | 🔴 | 🔴 | 🟢 | 🔴 |
| southwell | ❓ | 🔴 | 🔴 | 🟢 | 🔴 |
OOP Interface
| class | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| Li | 🟢 | 🔴 | 🔴 | 🟢 | 🔴 |
| Southwell | ❓ | 🔴 | 🔴 | 🟢 | 🔴 |
Phase Retrieval
Implicit
Functional Interface
| function | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| lcs | ❓ | 🟢 | ❓ | 🟢 | 🟢 |
| lcs_df | ❓ | 🟢 | ❓ | 🟢 | 🟢 |
| lcs_ddf | ❓ | 🟢 | ❓ | 🟢 | 🟢 |
OOP Interface
| class | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| Lcs | ❓ | ❓ | ❓ | 🟢 | 🟢 |
| LcsDf | ❓ | ❓ | ❓ | 🟢 | 🟢 |
| LcsDDf | ❓ | ❓ | ❓ | 🟢 | 🟢 |
Explicit
Functional Interface
| function | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| umpa | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
| xst | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
| xsvt | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
| xst_xsvt | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
OOP Interface
| function | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| Umpa | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
| Xst | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
| Xsvt | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
| XstXsvt | ❓ | ❓ ¹ | ❓ | 🟢 | ❓ |
¹ Has significant memory usage during compilation due to lack of strides in JAX.
² No wavelet transform available in numba - contributions welcome!
Data
To download the data for the examples, you need to use git-lfs.
Dependencies
Optional:
Metadata
Release files for mbipy 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| mbipy-0.1.0.tar.gz | 38.1 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| mbipy-0.1.0-py2.py3-none-any.whl | Python 3, Python 2 | none | any | Details |
Total release size: 93.8 kB
Release files / mbipy-0.1.0.tar.gz
| Download URL | mbipy-0.1.0.tar.gz |
|---|---|
| Size | 38.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bd4b049ab5b0460e08aff03db4e8d2bdb8837ec88d3e73263618aef04980e093
|
|
BLAKE2b-256 checksum How to use checksums |
fc574af116b46e9ed62f5ff102272f8c29f605af95cf025f0c0d2f4b8fdd93cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.8
|
Release files / mbipy-0.1.0-py2.py3-none-any.whl
| Download URL | mbipy-0.1.0-py2.py3-none-any.whl |
|---|---|
| Size | 55.7 kB |
| Tags | Python 2 Python 3 |
|
SHA-256 checksum How to use checksums |
3f591b40aa18c570502ab3f6393a3dd95f4b3c12aed8e5a89ad659e0a0d12d0e
|
|
BLAKE2b-256 checksum How to use checksums |
fabf94f89762107a8c76bce5baabf2212d07e89477713d65b67a74fac77df8f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.5.8
|