a foundation model for medical image registration
Project description
uniGradICON: A Foundation Model for Medical Image Registration
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.
Please (currently) cite as:
@article{tian2024unigradicon,
title={uniGradICON: A Foundation Model for Medical Image Registration},
author={Tian, Lin and Greer, Hastings and Kwitt, Roland and Vialard, Francois-Xavier and Estepar, Raul San Jose and Bouix, Sylvain and Rushmore, Richard and Niethammer, Marc},
journal={arXiv preprint arXiv:2403.05780},
year={2024}
}
@article{demir2024multigradicon,
title={multiGradICON: A Foundation Model for Multimodal Medical Image Registration},
author={Demir, Basar and Tian, Lin and Greer, Thomas Hastings and Kwitt, Roland and Vialard, Francois-Xavier and Estepar, Raul San Jose and Bouix, Sylvain and Rushmore, Richard Jarrett and Ebrahim, Ebrahim and Niethammer, Marc},
journal={arXiv preprint arXiv:2408.00221},
year={2024}
}
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 (IO)
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 use a different similarity measure in the IO. We currently support three similarity measures
- LNCC: lncc
- Squared LNCC: lncc2
- MIND SSC: mind
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 50 --io_sim lncc2
To load specific model weight in the inference. We currently support uniGradICON and multiGradICON.
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 --model multigradicon
To warp an image
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:
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file unigradicon-1.0.3.tar.gz
.
File metadata
- Download URL: unigradicon-1.0.3.tar.gz
- Upload date:
- Size: 12.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 08a4148481ddcbb78a456fe03d6ce5f3884b8d657e4a32bdf3fdbb12a60b32e5 |
|
MD5 | 0dd6989c9aec984f84c3f0e388d6fac6 |
|
BLAKE2b-256 | 9de95ef480455e56e5573ccfa2c99ceb3b98c53a02ca3ae63df8b56179e6da8b |
File details
Details for the file unigradicon-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: unigradicon-1.0.3-py3-none-any.whl
- Upload date:
- Size: 11.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.9.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0bf117f903b02b3d7857ba2512a6948a4b5211e70c694139856caeeaf0d2439a |
|
MD5 | b009c2d5bcfecfcf774c4cdbe8a1ec7e |
|
BLAKE2b-256 | acf9a0290226e36724734b7fe906a213bd94ebfaf70285d8baf14c5d8443f803 |