xvr: X-ray to Volume Registration

Paper shield License: MIT Colab Hugging Face Hugging Face uv

xvr is a PyTorch package for training, fine-tuning, and performing 2D/3D X-ray to CT/MR registration using pose regression models. It provides a streamlined CLI and API for training patient-specific registration models efficiently. Key features include significantly faster training than comparable methods, submillimeter registration accuracy, and human-interpretable pose parameters.

image

Key Features

  • 🚀 Single CLI/API for training and registration.
  • ⚡️ Significantly faster training than existing methods.
  • 📐 Submillimeter registration accuracy.
  • 🩺 Human-interpretable pose parameters.
  • 🐍 Pure Python/PyTorch implementation.
  • 🖥️ Cross-platform support (macOS, Linux, Windows).

xvr leverages DiffDRR, the differentiable X-ray renderer.

Installation and Usage

Refer to the GitHub repository for detailed installation instructions, usage examples, and documentation on training, finetuning, and registration.

Experiments

Models

Pretrained models are available here.

Data

Benchmarks datasets, reformatted into DICOM/NIfTI files, are available here.

If you use the DeepFluoro dataset, please cite:

@article{grupp2020automatic,
  title={Automatic annotation of hip anatomy in fluoroscopy for robust and efficient 2D/3D registration},
  author={Grupp, Robert B and Unberath, Mathias and Gao, Cong and Hegeman, Rachel A and Murphy, Ryan J and Alexander, Clayton P and Otake, Yoshito and McArthur, Benjamin A and Armand, Mehran and Taylor, Russell H},
  journal={International journal of computer assisted radiology and surgery},
  volume={15},
  pages={759--769},
  year={2020},
  publisher={Springer}
}

If you use the Ljubljana dataset, please cite:

@article{pernus20133d,
  title={3D-2D registration of cerebral angiograms: A method and evaluation on clinical images},
  author={Mitrović, Uros˘ and S˘piclin, Z˘iga and Likar, Bos˘tjan and Pernus˘, Franjo},
  journal={IEEE transactions on medical imaging},
  volume={32},
  number={8},
  pages={1550--1563},
  year={2013},
  publisher={IEEE}
}

Logging

We use wandb to log experiments. To use this feature, set the WANDB_API_KEY environment variable by adding the following line to your .zshrc or .bashrc file:

export WANDB_API_KEY=your_api_key
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support