ModeTv2: GPU-accelerated Motion Decomposition Transformer for Pairwise Optimization in Medical Image Registration (MIA2026)

November 18, 2025 · View on GitHub

By Haiqiao Wang, Zhuoyuan Wang, Dong Ni, Yi Wang.

Paper link: [paper] [arxiv]

News

(06/11/2025) 🎉 The paper has been accepted by Medical Image Analysis.

(28/12/2024) We implemented the CUDA version of the 3D Correlation layer based on the modet package. For specific usage, see Correlation&modet.md

图片1

ModeTv1(ModeT) links: [paper] [code]

Dataset

The access addresses of the official and preprocessed public data sets are as follows:

LPBA [link] [preprocessed]

Mindboggle [link] [preprocessed]

ABCT [link] [preprocessed]

IXI [link] [preprocessed]

Note that the preprocessed version of IXI is adopted from TransMorph.

Instructions and System Environment

The way of installation of modet package:

cd modet

pip install .

Please note that the modet package requires CUDA to be installed in the system's environment rather than the cudatoolkit package from the conda environment. If the cudatoolkit package is already present in the environment, please ensure it matches the system's CUDA version.

Our successfully installed environment for modet is as follows:

  • Ubuntu 22.04 / Windows 11
  • pip 21.2.4
  • gcc 9.5.0 / MSVC v142 (VS2022)
  • CUDA 11.3/11.8/12.1
  • Python 3.9/3.11/3.12
  • PyTorch 1.11.0/2.3.0/2.4.1
  • NumPy 1.21.5
  • Nvidia Tesla V100/Nvidia RTX 2080Ti/Nvidia RTX 3090

For convenience, we use the preprocessed LPBA dataset as an example. Once uncompressed, simply modify the "LPBA_path" in train.py to the path name of the extracted data. Next, you can execute train.py to train the network, and after training, you can run infer.py to test the network performance. The small version of ModeTv2 and ModeTv2-diff can run on 2080ti on our preprocessed LPBA dataset. Please note that the suffix "_diff" denotes the diffeomorphic model.

Citation

If you find the code useful, please cite our paper.

@article{WANG2025103862,
title = {ModeTv2: GPU-accelerated Motion Decomposition Transformer for Pairwise Optimization in Medical Image Registration},
journal = {Medical Image Analysis},
pages = {103862},
year = {2025},
issn = {1361-8415},
doi = {https://doi.org/10.1016/j.media.2025.103862},
author = {Haiqiao Wang and Zhuoyuan Wang and Dong Ni and Yi Wang},
}

The overall framework and some network components of the code are heavily based on TransMorph and VoxelMorph. We are very grateful for their contributions. The file makePklDataset.py shows how to make a pkl dataset from the original LPBA dataset. If you have any other questions about the .pkl format, please refer to the github page of [TransMorph_on_IXI].

Baseline Methods

Several PyTorch implementations of some baseline methods can be found at [SmileCode].

How can other datasets be used in this code?

This is a common question, and please refer to the github page of ChangeDataset.md for more information.