Giter VIP home page Giter VIP logo

modetv2's Introduction

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

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

Paper link: [arxiv]

图片1

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

Dataset

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

LPBA [link]

Mindboggle [link]

ABCT [link]

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
  • pip 21.2.4
  • gcc 9.5.0
  • CUDA 11.3
  • Python 3.9
  • PyTorch 1.11.0
  • NumPy 1.21.5
  • Nvidia Tesla V100

For convenience, we are sharing the preprocessed LPBA dataset used in our experiments. 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 use the code in your research, please cite:

@misc{wang2024modetv2,
      title={ModeTv2: GPU-accelerated Motion Decomposition Transformer for Pairwise Optimization in Medical Image Registration}, 
      author={Haiqiao Wang and Zhuoyuan Wang and Dong Ni and Yi Wang},
      year={2024},
      eprint={2403.16526},
      archivePrefix={arXiv},
      primaryClass={cs.CV}
}

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.

modetv2's People

Contributors

zax130 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Forkers

tara0907

modetv2's Issues

Problems

Thank you for your work. In Figure 10 of your paper, I have been puzzled by what 'epoch=0' means. You also mentioned in section 4.5.3, 'Secondly, in cross-domain PO experiments across different brain MRI datasets (M2L and L2M), our model achieved relatively high DSC values even without PO (epoch=0).' Does 'epoch=0' mean that the default initialization weights of modelTV2 are used? Could you please tell me the meaning of 'epoch=0'? Thank you

About the split of ABCT dataset

Thanks for your work. I have some questions about the Abdomen CT (ABCT) dataset. Does this dataset derive from the cross-modality dataset Abdomen MR-CT in L2R? I found that I can't figure out the split of the dataset (train/test: 35/8).
image
I am wondering the exact way of your split. Hope for your reply. Thanks!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.