Skip to content

CambridgeCIA/LION

Repository files navigation

LION: AI tools for learned tomographic reconstruction

All Contributors

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.

Datasets

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,

Read more about them here

Models/Methods

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

Developers:

Read developers.md

Contributors

Biguri
Biguri

💻 🎨 🤔
Emilien Valat
Emilien Valat

💻 🎨 🤔 🔣
Ferdia
Ferdia

🎨 🔧 💻
michi217
michi217

💻 🔣
Oliver Coughlan
Oliver Coughlan

💻
mbkiss
mbkiss

🎨 💻
ChristinaRunkel
ChristinaRunkel

💻 🐛 🎨 💡 🤔 🔬 📓
Zak Shumaylov
Zak Shumaylov

💻
Hong Ye Tan
Hong Ye Tan

💻 🎨
Charlie Shoebridge
Charlie Shoebridge

💻 🎨 🤔

About

Learned Iterative Optimization Networks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published