This repository represents the official PyTorch code base for our BMVC 2024 published paper NCA-Morph: Medical Image Registration with Neural Cellular Automata. Our code exclusively utilizes the PyTorch version of the VoxelMorph framework as its foundation. For more details, please refer to [our paper; at link to paper].
This BMVC 2024 submission currently includes the following registration networks
- NCA-Morph
- VoxelMorph
- ViTVNet
- TransMorph
- NICE Trans
The simplest way to install all dependencies is by using Anaconda:
- Create a Python 3.9 environment as
conda create -n <your_conda_env> python=3.9
and activate it asconda activate <your_conda_env>
. - Install CUDA and PyTorch through conda with the command specified by PyTorch. The command for Linux was at the time
conda install pytorch torchvision cudatoolkit=11.3 -c pytorch
. Our code was last tested with version 1.13. Pytorch and TorchVision versions can be specified during the installation asconda install pytorch==<X.X.X> torchvision==<X.X.X> cudatoolkit=<X.X> -c pytorch
. Note that the cudatoolkit version should be of the same major version as the CUDA version installed on the machine, e.g. when using CUDA 11.x one should install a cudatoolkit 11.x version, but not a cudatoolkit 10.x version. - Navigate to the project root (where
setup.py
lives). - Execute
pip install -r requirements.txt
to install all required packages.
- Since our code base follows the VoxelMorph Framework, all models are trained in the same fashion.
- The easiest way to start is using our
train_abstract_*.py
python files. For every baseline and Continual Learning method, we provide specifictrain_abstract_*.py
python files, located in the scripts folder. - The eval folder contains a jupyter notebooks that was used to calculate performance metrics and plots used in our submission.
- Splits: The train and test splits which were used during training for all methods can be found in the misc folder of this repository.
- Models: Our pre-trained models from our submission can be provided by contacting the main author upon request.
- Prototypes: Our generated prototypes along with the preprocessed dataset can be requested per mail.
For more information about NCA-Morph, please read the following paper:
Ranem, A., Kalkhof, J. & Mukhopadhyay, A. (2024).
NCA-Morph: Medical Image Registration with Neural Cellular Automata.
If you are using NCA-Morph or our code base for your article, please cite the following paper:
@article{ranem2024ncamorph,
title={NCA-Morph: Medical Image Registration with Neural Cellular Automata},
author={Ranem, Amin and Kalkhof, John and Mukhopadhyay, Anirban}
}