/uniGradICON

The official website for uniGradICON: A Foundation Model for Medical Image Registration

Primary LanguagePythonApache License 2.0Apache-2.0

uniGradICON: A Foundation Model for Medical Image Registration

arXiv

This the official repository for uniGradICON: A Foundation Model for Medical Image Registration

uniGradICON is based on GradICON but trained on several different datasets (see details below). The result is a deep-learning-based registration model that works well across datasets. More results can be found here.

teaser

Please (currently) cite as:

@misc{tian2024unigradicon,
      title={uniGradICON: A Foundation Model for Medical Image Registration}, 
      author={Lin Tian and Hastings Greer and Roland Kwitt and Francois-Xavier Vialard and Raul San Jose Estepar and Sylvain Bouix and Richard Rushmore and Marc Niethammer},
      year={2024},
      eprint={2403.05780},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

Training and testing data

uniGradICON has currently been trained and tested on the following datasets.

Training data:

Dataset Anatomical region # of patients # per patient # of pairs Type Modality
1. COPDGene Lung 899 2 899 Intra-pat. CT
2. OAI Knee 2532 1 3,205,512 Inter-pat. MRI
3. HCP Brain 1076 1 578,888 Inter-pat. MRI
4. L2R-Abdomen Abdomen 30 1 450 Inter-pat. CT

Testing data:

Dataset Anatomical region # of patients # per patient # of pairs Type Modality
5. Dirlab-COPDGene Lung 10 2 10 Intra-pat. CT
6. OAI-test Knee 301 1 301 Inter-pat. MRI
7. HCP-test Brain 32 1 100 Inter-pat. MRI
8. L2R-NLST-val Lung 10 2 10 Intra-pat. CT
9. L2R-OASIS-val Brain 20 1 19 Inter-pat. MRI
10. IXI-test Brain 115 1 115 Atlas-pat. MRI
11. L2R-CBCT-val Lung 3 3 6 Intra-pat. CT/CBCT
12. L2R-CTMR-val Abdomen 3 2 3 Intra-pat. CT/MRI
13. L2R-CBCT-train Lung 3 11 22 Intra-pat. CT/CBCT

Get involved

Our goal is to continuously improve the uniGradICON model, e.g., by training on more datasets with additional diversity. Feel free to point us to datasets that should be included or let us know if you want to help with future developments.

Easy to use and install

To use:

python3 -m venv unigradicon_virtualenv
source unigradicon_virtualenv/bin/activate

pip install unigradicon

wget https://www.hgreer.com/assets/slicer_mirror/RegLib_C01_1.nrrd
wget https://www.hgreer.com/assets/slicer_mirror/RegLib_C01_2.nrrd

unigradicon-register --fixed=RegLib_C01_2.nrrd --fixed_modality=mri --moving=RegLib_C01_1.nrrd --moving_modality=mri --transform_out=trans.hdf5 --warped_moving_out=warped_C01_1.nrrd

To register without instance optimization

unigradicon-register --fixed=RegLib_C01_2.nrrd --fixed_modality=mri --moving=RegLib_C01_1.nrrd --moving_modality=mri --transform_out=trans.hdf5 --warped_moving_out=warped_C01_1.nrrd --io_iterations None

To warp

unigradicon-warp --fixed [fixed_image_file_name] --moving [moving_image_file_name]  --transform trans.hdf5 --warped_moving_out warped.nii.gz --linear

To warp a label map

unigradicon-warp --fixed [fixed_image_file_name] --moving [moving_image_segmentation_file_name]  --transform trans.hdf5 --warped_moving_out warped_seg.nii.gz --nearest_neighbor

We also provide a colab demo.

Plays well with others

UniGradICON is set up to work with Itk images and transforms. So you can easily read and write images and display resulting transformations for example in 3D Slicer.

The result can be viewed in 3D Slicer: result