pyxu 2.0

Creator: railscoder56

Last updated:

Add to Cart

Description:

pyxu 2.0

Pyxu: Modular and Scalable Computational Imaging
















































Pyxu (pronounced [piksu], formerly known as Pycsou) is an open-source Python framework allowing scientists at any
level to quickly prototype/deploy hardware accelerated and out-of-core computational imaging pipelines at scale.
Thanks to its microservice architecture and tight integration with the PyData ecosystem, Pyxu supports a wide range
of imaging applications, scales, and computation architectures.




What Makes Pyxu Special?

Universal & Modular ๐ŸŒ: Unlike other frameworks which are specialized for particular imaging types, Pyxu is a
general-purpose computational imaging tool. No more wrestling with one-size-fits-all solutions that donโ€™t quite fit!
Plug-and-Play Functionality ๐ŸŽฎ: Craft imaging pipelines effortlessly with advanced operator algebra logic. Pyxu
automates the tedious bits, like computing gradients, proximal operators, and computing hyperparameters.
High-Performance Computing ๐Ÿš€: Whether youโ€™re using CPUs or GPUs, Pyxu works with both. It employs Duck arrays, just-in-time compilation via Numba, and relies on CuPy and Dask for
GPU/distributed computing needs.
Flexible & Adaptable ๐Ÿ› ๏ธ: Combat the common woes of software rigidity with Pyxuโ€™s ultra-flexible framework.
Bayesian techniques requiring extensive software flexibility are a breeze here.
Hardware Acceleration ๐Ÿ–ฅ๏ธ: Leverage built-in support for hardware acceleration to ramp up your computational
speed, all thanks to our module-agnostic codebase.
Distributed Computing ๐Ÿ”—: Got a lot of data? No worries! Pyxu works at scale and is easily deployable on
institutional clusters using industry-standard technologies like Kubernetes and Docker.
Deep Learning Interoperability ๐Ÿค–: Integrate with major deep learning frameworks like PyTorch and JAX for state-of-the-art computational
imaging techniques.



Why is Pyxu Necessary?
In the realm of computer vision ๐Ÿ“ท, digital image restoration and enhancement techniques have established themselves as
indispensable pillars. These techniques, aiming to restore and elevate the quality of degraded or partially observed
images, have witnessed unprecedented progress ๐Ÿ“ˆ in recent times. Thanks to potent image priors, weโ€™ve now reached an
era where image restoration and enhancement methods are incredibly advanced โœจ โ€”so much so that we might be approaching a
pinnacle in terms of performance and accuracy.
However, itโ€™s not all roses ๐ŸŒน.
Despite their leaps in progress, advanced image reconstruction methods often find themselves trapped in a vicious cycle
of limited adaptability, usability, and reproducibility. Many advanced computational imaging solutions, while
effective, are tailored for specific use-cases and seldom venture beyond the confines of a proof-of-concept ๐Ÿšง. These
niche solutions demand deep expertise to customize and deploy, making their adoption in production pipelines
challenging.
In essence, the imaging domain is desperately seeking what the deep learning community found in frameworks like PyTorch, TensorFlow, or Keras โ€”a flexible,
modular, and powerful environment that accelerates the adoption of cutting-edge methods in real-world settings. Pyxu
stands as an answer to this call: a groundbreaking, open-source computational imaging software framework tailored for
Python enthusiasts ๐Ÿ.


Basic Installation
The core of Pyxu is lightweight and straightforward to install. Youโ€™ll need Python (>= 3.10, < 3.13) and a few
mandatory dependencies. While these dependencies will be automatically installed via pip, we highly recommend
installing NumPy and SciPy via conda to benefit from optimized math libraries.
First, to install NumPy and SciPy from conda-forge:
conda install -c conda-forge numpy scipy
And then install Pyxu:
pip install pyxu
Thatโ€™s it for the basic installation; youโ€™re ready to go! Check out the install guide for instructions on how to build from source, or for more
advanced options.


Comparison with other Frameworks
Pyxu offers a comprehensive suite of algorithms, including the latest primal-dual splitting methods for nonsmooth
optimization. The feature set is robust and mature, positioning it as a leader in the computational imaging arena.

Feature Maturity - Comparison

Package Name ๐Ÿ“ฆ
Operator Types ๐Ÿ› ๏ธ
Operator Algebra ๐ŸŽฏ
Algorithmic Suite ๐Ÿ“š
Application Focus ๐ŸŽฏ
Remarks ๐Ÿ’ฌ



PyLops
๐Ÿ”ด Linear oeprators
๐ŸŸก Partial
๐Ÿ”ด Least-squares & sparse reconstructions
๐ŸŸก Wave-processing, geophysics
๐Ÿ”ด Linear operators based on NumPyโ€™s old matrix interface

PyProximal
๐Ÿ”ด Proximable functionals
๐Ÿ”ด None
๐Ÿ”ด Non-smooth convex optimization
๐ŸŸข None
๐Ÿ”ด Under early development, unstable API

Operator Discretization Library (ODL)
๐ŸŸข (Non)linear operators, differentiable/proximable functionals
๐ŸŸข Full
๐ŸŸข Smooth, non-smooth & hybrid (non-)convex optimization
๐ŸŸข None
๐Ÿ”ด Domain-specific language for mathematicians

GlobalBioIm
๐ŸŸข (Non)linear operators, differentiable/proximable functionals
๐ŸŸข Full
๐ŸŸข Smooth, non-smooth & hybrid convex optimization
๐ŸŸข None
๐Ÿ”ด MATLAB-based, unlike most DL frameworks

SigPy
๐ŸŸก Linear operators, proximable functionals
๐ŸŸก Partial
๐ŸŸก Smooth & non-smooth convex optimization
๐Ÿ”ด MRI
๐Ÿ”ด Very limited suite of operators, functionals, and algorithms

SCICO
๐ŸŸข (Non)linear operators, differentiable/proximable functionals
๐ŸŸข Full
๐ŸŸข Smooth, non-smooth & hybrid (non-)convex optimization
๐ŸŸข None
๐ŸŸก JAX-based (pure functions only, no mutation, etc.)

DeepInv
๐ŸŸข (Non)linear operators, differentiable/proximable functionals
๐ŸŸก Partial
๐ŸŸข Smooth, non-smooth & hybrid (non-)convex optimization
๐ŸŸก Deep Learning
๐ŸŸก PyTorch-based (lots of dependencies)

Pyxu
๐ŸŸข (Non)linear operators, differentiable/proximable functionals
๐ŸŸข Full
๐ŸŸข Smooth, non-smooth & hybrid (non-)convex optimization
๐ŸŸข None
๐ŸŸข Very rich suite of operators, functionals, algorithms & HPC features



Pyxu is unique in supporting both out-of-core and distributed computing. Additionally, it offers robust support for JIT
compilation and GPU computing via Numba and CuPy respectively. Most contenders either offer partial support or lack
these features altogether.

HPC Features - Comparison

Package Name ๐Ÿ“ฆ
Auto Diff/Prox โš™๏ธ
GPU Computing ๐Ÿ–ฅ๏ธ
Out-of-core Computing ๐ŸŒ
JIT Compiling โฑ๏ธ



PyLops
๐Ÿ”ด No
๐ŸŸข Yes (CuPy)
๐Ÿ”ด No
๐ŸŸก Partial (LLVM via Numba)

PyProximal
๐Ÿ”ด No
๐Ÿ”ด No
๐Ÿ”ด No
๐Ÿ”ด No

Operator Discretization Library (ODL)
๐ŸŸข Yes
๐ŸŸก Very limited (CUDA)
๐Ÿ”ด No
๐Ÿ”ด No

GlobalBioIm
๐ŸŸข Yes
๐ŸŸข Yes (MATLAB)
๐Ÿ”ด No
๐Ÿ”ด No

SigPy
๐Ÿ”ด No
๐ŸŸข Yes (CuPy)
๐ŸŸก Manual (MPI)
๐Ÿ”ด No

SCICO
๐ŸŸข Yes
๐ŸŸข Yes + TPU (JAX)
๐Ÿ”ด No
๐ŸŸข Yes (XLA via JAX)

DeepInv
๐ŸŸข Autodiff support
๐ŸŸข Yes (PyTorch)
๐Ÿ”ด No
๐ŸŸก Partial(XLA via torch.compile)

Pyxu
๐ŸŸข Yes
๐ŸŸข Yes (CuPy)
๐ŸŸข Yes (Dask)
๐ŸŸข Yes (LLVM and CUDA via Numba)





Get Started Now!
Ready to dive in? ๐ŸŠโ€โ™€๏ธ Our tutorial kicks off with an introductory overview of computational imaging and Bayesian
reconstruction. Our user guide then provides an in-depth tour of Pyxuโ€™s multitude of features through concrete examples.
So, gear up to embark on a transformative journey in computational imaging.


Join Our Community
Pyxu is open-source and ever-evolving ๐Ÿš€. Your contributions, whether big or small, can make a significant impact. So
come be a part of the community thatโ€™s setting the pace for computational imaging ๐ŸŒฑ.
Letโ€™s accelerate the transition from research prototypes to production-ready solutions. Dive into Pyxu today and make
computational imaging more powerful, efficient, and accessible for everyone! ๐ŸŽ‰


Cite us
@software{pyxu-framework,
author = {Matthieu Simeoni and
Sepand Kashani and
Joan Ruรฉ-Queralt and
Pyxu Developers},
title = {pyxu-org/pyxu: pyxu},
publisher = {Zenodo},
doi = {10.5281/zenodo.4486431},
url = {https://doi.org/10.5281/zenodo.4486431}
}

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.