University of Cambridge Computational Image Analysis (CIA) groups AI tools for tomographic reconstruction, LION (Learned Iterative Optimization Networks)
The toolbox contains data dowloading and pre-processing, torch DataSet
classes for the existing data, and Experiments
class with implementation of default realistic experiments, several data-driven methods and models, and features to enhacne reproduciblity.
WARNING Building in progress. This is a tool in development in very early stages. Many things are bound to fail and many more are bound to change. If you want to help with development, send an email to Ander Biguri and/or open and issue or a discussion.
Install:
git clone https://github.com/CambridgeCIA/LION.git
cd LION
git submodule update --init --recursive
conda env create --file=env.yml
conda activate LION
pip install .
If you would like to contribute to the development of LION, you can replace the last line of the above set of commands by
pip install -e .
to make the installation editable (i.e. changes you make to the source will be visible when you restart the REPL or start a new Python process).
Optional, if you want pre-commits. Install pre commits for auto-formating your commits. Highly suggested if you want reproducibility, this will auto-save changes in your conda enviroments and will update your conda enviroment when pulling
conda activate LION
pip install pre-commit
pre-commit install --hook-type pre-commit --hook-type post-merge
If you want the MS-D networks installed, you need to
cd ./LION/models/CNNs/MS-D
pip install .
We are working on reimplementing MS-D due to the repo bein obsolete.
Currently there are several DataSets supported by LION. LION automatically knows where these are, but currently it only works for people working on the servers of CMS at University of Cambridge. To make it work in somewhere else, you just want to change LION/utils/paths.py line 7 LION_DATA_PATH = pathlib.Path("/store/LION/datasets/")
to the actual location in your system. We are working on figuring out how to make LION flexible at install.
NOTE: If you are part of CIA at DAMTP, you already have access to these datasets and you don't need to follow any instruction to dowload them.
The supported Datasets are 2DeteCT
, LIDC-IDRI
,
LION supports all types of data-driven methods for CT reconstructions. They can, as a general taxonomy, be described as:
- Post-Processing methods: a "denoising" network. Takes a noisy recon and cleans it.
- Iterative Unrolled methods: Uses the operator to imitate iterative recon algorithms, but has learned parts.
- Learned regularizer: Explicitly learned regularization functions.
- Plug-and-Play (PnP): Implicit learned regularization, a regularization optimization step is learned, rather than an explicit one.
Folders for each of these exist in LION/models
. An extra folder for standard CNNs
is also available.
Read more about which models are available in each class here
Read developers.md
Biguri 💻 🎨 🤔 ✅ |
Emilien Valat 💻 🎨 🤔 🔣 |
Ferdia 🎨 🔧 💻 |
michi217 💻 🔣 |
Oliver Coughlan 💻 |
mbkiss 🎨 💻 |
ChristinaRunkel 💻 🐛 🎨 💡 🤔 🔬 📓 |
Zak Shumaylov 💻 |
Hong Ye Tan 💻 🎨 |
Charlie Shoebridge 💻 🎨 🤔 |