Modulation based x-ray phase contrast imaging.
Clone the repository and cd to the directory, then:
pip install .See the example notebooks.
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 | ❓ | 🔴 | 🔴 | 🟢 | 🔴 |
Functional Interface
| function | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| lcs | ❓ | 🟢 | ❓ | 🟢 | 🟢 |
| lcs_df | ❓ | 🟢 | ❓ | 🟢 | 🟢 |
| lcs_ddf | ❓ | 🟢 | ❓ | 🟢 | 🟢 |
OOP Interface
| class | CuPy | JAX | Numba | NumPy | PyTorch |
|---|---|---|---|---|---|
| Lcs | ❓ | ❓ | ❓ | 🟢 | 🟢 |
| LcsDf | ❓ | ❓ | ❓ | 🟢 | 🟢 |
| LcsDDf | ❓ | ❓ | ❓ | 🟢 | 🟢 |
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!
To download the data for the examples, you need to use git-lfs.
Optional: