Coder Social home page Coder Social logo

xzluo97 / x-metric Goto Github PK

View Code? Open in Web Editor NEW
8.0 1.0 3.0 38.95 MB

X-Metric: An N-Dimensional Information-Theoretic Framework for Groupwise Registration and Deep Combined Computing (TPAMI 2023)

License: Apache License 2.0

Python 100.00%
groupwise-registration image-segmentation information-theory maximum-likelihood medical-image-registration python probabilistic-graphical-models statistical-modelling mutual-information deformable-registration

x-metric's Introduction

$\mathcal{X}$-Metric

Welcome! This library provides the official implementation of our paper: $\mathcal{X}$-Metric: An N-Dimensional Information-Theoretic Framework for Groupwise Registration and Deep Combined Computing [TPAMI] [arXiv]. We also benchmarked several (multimodal) intensity-based groupwise registration algorithms represented as the following graphical models.

graphs-Graphical Model

Usage

For multimodal groupwise registration, taking the BrainWeb data (./core/data/BrainWeb/test.zip) as an example, you could run ./core/trainers/Brainweb/BrainWebGroupRegTrainer.py by the following code:

python -W ignore BrainWebGroupRegTrainer.py \
       -g #SET GPU DEVICE ID# \
       -tedsp #SET YOUR OWN TEST DATA PATH# \
       -ifl #SET INITIAL FFD LEVEL# \
       -mt #SET MODEL TYPE# \
       -nc #SET NUMBER OF CLASSES# \
       -tt FFD \
       -ffds #SET FFD SPACINGS# \
       -ffdi \
       --alpha #SET REGULARIZATION COEFFICIENT#\
       -lr #SET STEP SIZE# \
       -steps #SET NUMBER OF STEPS#

For deep combined computing on the MSCMR dataset, you could run ./core/trainers/MSCMR/MSCMRDCCTrainer.py by the following code:

python -W ignore MSCMRDCCTrainer.py \
       -g #SET GPU DEVICE ID# \
       -trdsp #SET YOUR OWN TRAINING DATA PATH# \
       -vdsp #SET YOUR OWN VALIDATION DATA PATH# \
       -tedsp #SET YOUR OWN TEST DATA PATH# \
       -cp # clamp probability \
       -sup_mods #SET MODALITIES WITH LABELS# \
       -up # use probaility maps \
       -tt DDF \
       -epochs #SET TRAINING EPOCHS# \
       -isp #SET NUMBER OF INTERLEAVING STEPS# \
       -bs #SET TRAINING BATCH SIZE#

Bonus

Lecture notes on introducing mutual information based image registration can be found here.

Citation

If you find the code useful, please cite our paper as follows:

@article{luo2022xmetric,
  title={X-Metric: An N-Dimensional Information-Theoretic Framework for Groupwise Registration and Deep Combined Computing},
  author={Luo, Xinzhe and Zhuang, Xiahai},
  journal={IEEE Transactions on Pattern Analysis and Machine Intelligence},
  year={2022},
  publisher={IEEE},
  doi={10.1109/TPAMI.2022.3225418}
}

x-metric's People

Contributors

xzluo97 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

x-metric's Issues

Group-wise Registration of 3D T1 Brain MRI scans

Hi @xzluo97 ,

Thank you for the great work and kindly sharing the code.

I am now trying to run the group-wise registration (FFD or SVF) on a set of three T1 brain 3D MRIs (.nii.gz file), and save the final displacement field.

If I want to use XCoRegUN and XCoRegGT (both without segmentation), how should I start?

I am a bit lost in the code and don't know where to modify, could you give me some hints/guidances?

Thanks a lot!

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.