Pycsou: High Performance Computational Imaging with Python
Matthieu Simeoni
- Native support for distributed and out-of-core computing on CPUs/GPUs.
- A precision context manager for changing locally the compute precision (single/double).
- Just-in-time compilation via Numba of compute-critical components.
- Vectorized operators to efficiently process multiple inputs in parallel.
Finally, Pycsou is also interoperable with major deep learning frameworks such as PyTorch, allowing its users to benefit from the latest incursions of deep learning in the field of computational imaging (e.g., PnP methods, unrolled neural networks, deep generative priors). This is achieved by means of zero-copy data exchange via the __cuda_array_interface__ protocol.
Matthieu Simeoni
Seminar • 2023-03-28
AbstractDeveloping high-quality computational imaging methods not only requires a deep understanding of the physics underlying an imaging system, but also thorough knowledge of optimisation and computer science to efficiently distribute and accelerate inference tasks. The wide range of skills required poses a major barrier to the adoption of advanced imaging solutions in production pipelines. In this presentation I will introduce Pycsou, an open-source computational imaging software framework which directly addresses this issue. This framework allows imaging scientists at any level to easily prototype imaging pipelines by composing fundamental building-blocks in plug-and-play fashion and deploy them in production environments. To achieve excellent performance and scalability, Pycsou leverages a number of high-performance computing tools (HPC) from the PyData stack:- Native support for distributed and out-of-core computing on CPUs/GPUs.
- A precision context manager for changing locally the compute precision (single/double).
- Just-in-time compilation via Numba of compute-critical components.
- Vectorized operators to efficiently process multiple inputs in parallel.
Finally, Pycsou is also interoperable with major deep learning frameworks such as PyTorch, allowing its users to benefit from the latest incursions of deep learning in the field of computational imaging (e.g., PnP methods, unrolled neural networks, deep generative priors). This is achieved by means of zero-copy data exchange via the __cuda_array_interface__ protocol.