diff --git a/README.md b/README.md index f92c1adfa..817121c11 100644 --- a/README.md +++ b/README.md @@ -126,9 +126,12 @@ This work includes a lot of real-world usecases of `DiffDRR` including ### Volume Reconstruction `DiffDRR` is differentiable with respect to the 3D volume as well as camera poses. -Therefore, it could (in theory) be used for volume reconstruction via differentiable -rendering. However, this feature has not been robustly tested and is currently -under active development (see [`reconstruction.ipynb`](https://vivekg.dev/DiffDRR/tutorials/reconstruction.html))! +Therefore, it can be used for volume reconstruction via differentiable +rendering (see [`reconstruction.ipynb`](https://vivekg.dev/DiffDRR/tutorials/reconstruction.html))! + +#### *🆕 Examples on Real-World Data 🆕* + +For an in-depth example using `DiffDRR` for cone-beam CT reconstruction, check out [`DiffVox`](https://github.com/hossein-momeni/DiffVox). ## Development @@ -193,3 +196,12 @@ If the 2D/3D registration capabilities are helpful, please cite our followup, [` pages={11662--11672}, year={2024} } + +If you use the 3D CBCT reconstruction capabilities, please cite our followup, [`DiffVox`](https://arxiv.org/abs/2312.06358): + + @article{momeni2024voxel, + title={Voxel-based Differentiable X-ray Rendering Improves Self-Supervised 3D CBCT Reconstruction}, + author={Momeni, Mohammadhossein and Gopalakrishnan, Vivek and Dey, Neel and Golland, Polina and Frisken, Sarah}, + booktitle={Machine Learning and the Physical Sciences, NeurIPS 2024}, + year={2024} + } diff --git a/notebooks/index.ipynb b/notebooks/index.ipynb index 73316137e..5d1c5a31f 100644 --- a/notebooks/index.ipynb +++ b/notebooks/index.ipynb @@ -195,9 +195,12 @@ "### Volume Reconstruction\n", "\n", "`DiffDRR` is differentiable with respect to the 3D volume as well as camera poses.\n", - "Therefore, it could (in theory) be used for volume reconstruction via differentiable\n", - "rendering. However, this feature has not been robustly tested and is currently \n", - "under active development (see [`reconstruction.ipynb`](https://vivekg.dev/DiffDRR/tutorials/reconstruction.html))!" + "Therefore, it can be used for volume reconstruction via differentiable\n", + "rendering (see [`reconstruction.ipynb`](https://vivekg.dev/DiffDRR/tutorials/reconstruction.html))!\n", + "\n", + "#### *🆕 Examples on Real-World Data 🆕*\n", + "\n", + "For an in-depth example using `DiffDRR` for cone-beam CT reconstruction, check out [`DiffVox`](https://github.com/hossein-momeni/DiffVox)." ] }, { diff --git a/notebooks/tutorials/reconstruction.ipynb b/notebooks/tutorials/reconstruction.ipynb index 32307d151..694675492 100644 --- a/notebooks/tutorials/reconstruction.ipynb +++ b/notebooks/tutorials/reconstruction.ipynb @@ -24,7 +24,9 @@ "2. Initialize a moving DRR module with a random 3D volume\n", "3. Measure the loss between the target X-ray and projections from the moving volume\n", "4. Backpropogate this loss to the volume of the moving DRR and render from the new volume\n", - "5. Repeat Steps 3-4 until the loss has converged" + "5. Repeat Steps 3-4 until the loss has converged\n", + "\n", + "For an in-depth example using `DiffDRR` for cone-beam CT reconstruction, check out our latest work, [`DiffVox`](https://github.com/hossein-momeni/DiffVox)." ] }, {