Overview#

Scientific Computational Imaging Code (SCICO) is a Python package for solving the inverse problems that arise in scientific imaging applications. Its primary focus is providing methods for solving ill-posed inverse problems by using an appropriate prior model of the reconstruction space. SCICO includes a growing suite of operators, cost functionals, regularizers, and optimization algorithms that may be combined to solve a wide range of problems, and is designed so that it is easy to add new building blocks. When solving a problem, these components are combined in a way that makes code for optimization routines look like the pseudocode in scientific papers. SCICO is built on top of JAX rather than NumPy, enabling GPU/TPU acceleration, just-in-time compilation, and automatic gradient functionality, which is used to automatically compute the adjoints of linear operators. An example of how to solve a multi-channel tomography problem with SCICO is shown in the figure below.

Solving a multi-channel tomography problem with SCICO.

The SCICO source code is available from GitHub, and pre-built packages are available from PyPI. (Detailed instructions for installing SCICO are available in Installing SCICO.) It has extensive online documentation, including API documentation and usage examples, which can be run online at Google Colab and binder.

If you use this library for published work, please cite [5] (see bibtex entry balke-2022-scico in docs/source/references.bib in the source distribution).

Contributing#

Bug reports, feature requests, and general suggestions are welcome, and should be submitted via the GitHub issue system. More substantial contributions are also welcome.

License#

SCICO is distributed as open-source software under a BSD 3-Clause License (see the LICENSE file for details). LANL open source approval reference C20091.

© 2020-2023. Triad National Security, LLC. All rights reserved. This program was produced under U.S. Government contract 89233218CNA000001 for Los Alamos National Laboratory (LANL), which is operated by Triad National Security, LLC for the U.S. Department of Energy/National Nuclear Security Administration. All rights in the program are reserved by Triad National Security, LLC, and the U.S. Department of Energy/National Nuclear Security Administration. The Government has granted for itself and others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide license in this material to reproduce, prepare derivative works, distribute copies to the public, perform publicly and display publicly, and to permit others to do so.