The Core Imaging Library (CIL) is an open-source versatile Python framework for solving inverse problems with special emphasis on imaging applications such as computed tomography (CT), using a plug-in architecture for data and operators, interfacing to toolboxes such as ASTRA, TIGRE and SIRF. A key component of CIL is its optimisation module enabling users to flexibly combine mathematical operators and functionals to form smooth and non-smooth optimisation problems and solve these with a range of first-order algorithms. The present work introduces an expansion of CIL with a new modular framework for stochastic optimisation, allowing researchers to easily use a variety of existing stochastic optimisation algorithms as well form new ones by combining modular building blocks. Users can flexibly configure algorithmic components, adapt to diverse problem structures, and experiment with various sampling and step size strategies. Rather than individual black-box implementations of each fixed algorithm with significant redundancies, our design is modular providing building blocks that can be flexibly combined to realise a wealth of algorithm instances. The framework is particularly well-suited for large-scale applications, where stochastic methods offer notable computational advantages over deterministic approaches. To demonstrate its versatility and practical utility, we present experiments on real-world datasets from imaging inverse problems, such as X-Ray CT and Positron Emission Tomography (PET) reconstruction. In summary, the presented software expansion aims to support the research community with a robust, extensible optimisation suite for developing, testing, and benchmarking stochastic methods for inverse problems.
翻译:暂无翻译