Skip to content
/ Riner Public

[AAAI 2026] Unsupervised Multi-Parameter Inverse Solving for Reducing Ring Artifacts in 3D X-Ray CBCT

Notifications You must be signed in to change notification settings

iwuqing/Riner

Repository files navigation

Riner

This repository provides the official implementation of our AAAI 2026 paper, "Unsupervised Multi-Parameter Inverse Solving for Reducing Ring Artifacts in 3D X-Ray CBCT" [arXiv]

image
Fig. 1: Overview of the proposed Riner model.

1. Visualization

image
Fig. 2: Qualitative results of traditional FBP, SOTA-supervised Restormer, and our unsupervised Riner on 10 representative samples from the simulated DeepLesion dataset under 2D fan-beam geometry.

image
Fig. 3: Qualitative results of traditional FDK, model-based Super, SOTA-supervised Restormer, and our unsupervised Riner on a real-world Chicken foot sample with dimensions of 512x512x80 and an ultra-high resolution of 60x60x60 μm³, acquired by a commercial Bruker SKYSCAN 1276 micro-CT scanner under 3D cone-beam geometry.

2. File Description

Riner
│  config.json                      # Configuration file for Riner
│  dataset.py                       # Dataloader
│  data_evaluation.ipynb            # Script for data evaluation
│  data_preprocessing.ipynb         # Script for data simulation
│  main.py                          # Script for optimizing Riner
│  model.py                         # Estimator for X-ray detector responses
│  readme.md                        # README file
│  train.py                         # Training script for Riner
│  utils.py                         # Tool functions
│  
├─data
│      c_m.txt                      # Ground truth responses (i.e., \boldsymbol{\alpha})
│      def_mask.nii                 # Defective mask $\mathbf{m}$
│      gt.nii                       # Ground truth CT images
│      mask.nii                     # Mask for removing background
│      proj_noise.nii               # Raw measurements \rho
│      img_noise.nii                # FBP reconstructions
│      Restormer.nii                # Restormer reconstructions
│      
├─gif                               # Visualizations
│      deeplesion.gif
│      fig_method.png
│      foot.gif
│      
└─out                               
        c_m_pre.txt                 # X-ray detector responses by Riner
        Riner.nii                   # CT images reconstructed by Riner

3. Running Environment

To run this repository, the following major packages are required:

  • PyTorch
  • tinycudann
  • torchkbnufft
  • SimpleITK
  • tqdm
  • numpy
  • other dependencies

4. Optimization

Navigate to ./ and run the following command in your terminal:

python main.py

This optimizes Riner for the 10 representative samples (./data/proj_noise.nii) from the simulated DeepLesion dataset under 2D fan-beam geometry. The reconstructed CT images and the estimated detector response are saved in ./out.

5. Data Simulation and Evaluation

The Jupyter notebooks data_preprocessing.ipynb and data_evaluation.ipynb provide the data simulation for CT ring artifacts and the evaluation code.

For the 10 samples (./data/proj_noise.nii), the quantitative results are as follows:

Method PSNR SSIM
FBP 11.70±2.04 0.403±0.095
Restormer 36.85±1.68 0.951±0.012
Riner (Ours) 39.19±1.40 0.974±0.005

6. Others

NIFTI files (.nii) can be viewed using ITK-SNAP software, available for free download at: ITK-SNAP Download Page

7. Citation

If you find our work useful in your research, please cite:

@article{wu2024unsupervised,
  title={Unsupervised Multi-Parameter Inverse Solving for Reducing Ring Artifacts in 3D X-Ray CBCT},
  author={Wu, Qing and Wei, Hongjiang and Yu, Jingyi and Zhang, Yuyao},
  journal={arXiv preprint arXiv:2412.05853},
  year={2024}
}

About

[AAAI 2026] Unsupervised Multi-Parameter Inverse Solving for Reducing Ring Artifacts in 3D X-Ray CBCT

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published