/ICON

A library for performing image registration using deep learning, regularized by inverse consistency

Primary LanguageJupyter NotebookOtherNOASSERTION

Demo figure

ICON: Learning Regular Maps through Inverse Consistency

This is the official repository for

ICON: Learning Regular Maps through Inverse Consistency.
Hastings Greer, Roland Kwitt, Francois-Xavier Vialard, Marc Niethammer.
ICCV 2021 https://arxiv.org/abs/2105.04459

GradICON: Approximate Diffeomorphisms via Gradient Inverse Consistency.
Lin Tian, Hastings Greer, Francois-Xavier Vialard, Roland Kwitt, Raúl San José Estépar, Marc Niethammer.
CVPR 2023 https://arxiv.org/abs/2206.05897

Cite this work

@InProceedings{Greer_2021_ICCV,
    author    = {Greer, Hastings and Kwitt, Roland and Vialard, Francois-Xavier and Niethammer, Marc},
    title     = {ICON: Learning Regular Maps Through Inverse Consistency},
    booktitle = {Proceedings of the IEEE/CVF International Conference on Computer Vision (ICCV)},
    month     = {October},
    year      = {2021},
    pages     = {3396-3405}
}
@article{Tian_2022_arXiv,
  title={GradICON: Approximate Diffeomorphisms via Gradient Inverse Consistency},
  author={Tian, Lin and Greer, Hastings and Vialard, Fran{\c{c}}ois-Xavier and Kwitt, Roland and Est{\'e}par, Ra{\'u}l San Jos{\'e} and Niethammer, Marc},
  journal={arXiv preprint arXiv:2206.05897},
  year={2022}
}

uniGradICON and multiGradICON

If you are interested in general purpose deep learning registration approaches check out uniGradICON and multiGradICON. These networks were trained using the GradICON technology but over many different datasets allowing them to generalize to different unimodal and multimodal registration tasks.

Video Presentation

Running our code

We are available on PyPI!

pip install icon-registration

To run our pretrained model in the cloud on sample images from OAI knees, visit our knee google colab notebook

To run our pretrained model for lung CT scans on an example from COPDgene, visit our lung google colab notebook


To train from scratch on the synthetic triangles and circles dataset:

git clone https://github.com/uncbiag/ICON
cd ICON

pip install -e .

python training_scripts/2d_triangles_example.py