Thanks to visit codestin.com
Credit goes to github.com

Skip to content

“X-Field: A Physically Informed Representation for 3D X-ray Reconstruction” (NeurIPS 2025 Spotlight🌟)

License

Notifications You must be signed in to change notification settings

Brack-Wang/X-Field

Repository files navigation

 

Paper | Project Page

X-Field: A Physically Informed Representation for 3D X-ray Reconstruction

Imaging Processes Comparison and Corresponding 3D Representations cover

 

Introduction

This is the official implementation of X-Field (NeurIPS 2025 Spotlight).

If you find this repository useful, please give it a ⭐ and consider citing our paper!


Installation

# Create conda environment
conda env create --file environment.yml
conda activate xfield

# Install custom CUDA rasterization kernels
pip install xfield/submodules/xfield-rasterization
pip install xfield/submodules/simple-knn


# Install TIGRE for data generation and initialization
wget https://github.com/CERN/TIGRE/archive/refs/tags/v2.3.zip
unzip v2.3.zip
pip install TIGRE-2.3/Python --no-build-isolation

Implementation

1. Training

python train.py -s <data.pickle>

Training outputs (checkpoints, logs, rendered images) are saved to output/<timestamp>/.

3. Evaluation

Evaluate 2D projection rendering and compute metrics (PSNR, SSIM):

python test.py -m <model_path> -s <data.pickle>

Results are saved to <model_path>/test/iter_<N>/.

4. Render 360° Video

Generate a 360-degree rotating visualization:

python render360.py -m <model_path> -p <point_cloud.ply>

Output video saved to <model_path>/360/.

5. CT Reconstruction

Reconstruct 3D CT volume from rendered projections:

python recon_ct.py --data <data.pickle> --path <test_output_path> --method fdk
Available CT reconstruction methods
Method Description
fdk Feldkamp-Davis-Kress (default)
sart Simultaneous Algebraic Reconstruction
ossart Ordered Subset SART
cgls Conjugate Gradient Least Squares
asd_pocs ASD-POCS with TV regularization
os_asd_pocs Ordered Subset ASD-POCS

Dataset

You can download the datasets (synthetic and real) used in our paper:

📦 Download Datasets

Dataset Structure
data/
├── 0_foot_cone.pickle      # Foot CT scan (cone-beam)
├── 0_head_cone.pickle      # Head CT scan (cone-beam)
├── 0_chest_cone.pickle     # Chest CT scan (cone-beam)
├── 2_teapot_cone.pickle    # Teapot synthetic (cone-beam)
└── ...

Each .pickle file contains:

  • X-ray projections
  • Scanner geometry configuration
  • Ground truth CT volume (for evaluation)

Initialize Point Cloud (Optional)

Initialize Gaussian point cloud from CT reconstruction. This step is optional but can improve convergence.

python init_gaussians.py --data <data.pickle> --output <init.npy> --recon_method fdk
Available initialization methods
Method Description
random Random point sampling
fdk FDK algorithm (default)
cgls Conjugate Gradient Least Squares
sart Simultaneous Algebraic Reconstruction
hybrid_cgls_sart_tv Hybrid Initialization

Citation

If you find X-Field useful for your research, please cite:

@inproceedings{wangx,
  title={X-Field: A Physically Informed Representation for 3D X-ray Reconstruction},
  author={Wang, Feiran and Tao, Jiachen and Wu, Junyi and Wang, Haoxuan and Duan, Bin and Wang, Kai and Yang, Zongxin and Yan, Yan},
  booktitle={The Thirty-ninth Annual Conference on Neural Information Processing Systems}
}

@article{wang2025x,
  title={X-Field: A Physically Grounded Representation for 3D X-ray Reconstruction},
  author={Wang, Feiran and Tao, Jiachen and Wu, Junyi and Wang, Haoxuan and Duan, Bin and Wang, Kai and Yang, Zongxin and Yan, Yan},
  journal={arXiv preprint arXiv:2503.08596},
  year={2025}
}

Acknowledgements

We gratefully acknowledge 3DGS, X-Gaussian, and R²-Gaussian, providing valuable references for this implementation.

About

“X-Field: A Physically Informed Representation for 3D X-ray Reconstruction” (NeurIPS 2025 Spotlight🌟)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published