Skip to content

Documentation: Update documentation on reconstruction algorithms#3157

Open
RasmiaKulan wants to merge 4 commits into
mainfrom
1839-Update_documentation_on_PDHG-TV
Open

Documentation: Update documentation on reconstruction algorithms#3157
RasmiaKulan wants to merge 4 commits into
mainfrom
1839-Update_documentation_on_PDHG-TV

Conversation

@RasmiaKulan
Copy link
Copy Markdown
Collaborator

Issue Closes #1839

Description

Restructured the current algorithm documentation to:

  • Align with the Diátaxis framework
  • List parameter descriptions for gridrec, FBP_CUDA and SIRT_CUDA
  • List parameter descriptions for PDHG-TV including NN and Stochastic (SPDHG)

Developer Testing

  • I have verified unit tests pass locally: python -m pytest -vs

Acceptance Criteria and Reviewer Testing

  • Unit tests pass locally: python -m pytest -vs
  • from the source directory, make build-docs
  • cd docs/build/html
  • python -m http.server 8000
  • In a browser of your choosing, navigate to: http://0.0.0.0:8000/developer_docs/how-to-guides/testing.html (localhost:8000 worked for me)
  • Validate that you can see all the instructions, all the links mentioned are correct and the images coincide with the instructions updating correctly for light and dark modes.

Documentation and Additional Notes

@ashleymeigh2
Copy link
Copy Markdown
Collaborator

There is naturally some crossover between Diátaxis categories in pages like this, especially for technical algorithm documentation where users benefit from both conceptual guidance and reference information together.

The mix of explanation, parameter details, implementation notes, and usage guidance works reasonably well here, but it does make the page span multiple documentation categories.

It may be worth having a team discussion about how strictly we want to apply the Diátaxis model for technical overview pages like this.


When to use FBP_CUDA
""""""""""""""""""""

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section explains when to use FBP_CUDA, but it does not yet explain why filtered back projection behaves differently from iterative methods.


Have a look at our refine iterations tool on the Reconstruct tab of the Reconstruction window that
should assist you in finding the optimal number of rotations for your data.
Overview
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section would benefit from a short explanation of how iterative reconstruction works conceptually.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

SIRT progressively refines the reconstruction by repeatedly comparing simulated projections against measured projection data and correcting the reconstruction estimate over multiple iterations.

gridrec
^^^^^^^
This filter is from the TomoPy package.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The gridrec section currently focuses mainly on implementation details and usage recommendations.

Consider briefly explaining how Fourier-based reconstruction differs from iterative methods, why gridrec performs well on CPUs, and what tradeoffs exist compared with GPU-based approaches.

This would help users understand how gridrec differs conceptually from the other reconstruction algorithms.

* - Pixel size (microns)
- Defines the physical pixel spacing used to convert image distances into real-world units, ensuring correct scaling of attenuation coefficients (e.g. cm⁻¹).

References
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This page may fit more naturally within the Reference section rather than Explanation.


When to use PDHG-TV
"""""""""""""""""""

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The new “When to use” sections are a strong improvement. Consider making the recommendations more comparative, such as explaining when to use SIRT_CUDA instead of FBP_CUDA or when PDHG-TV may outperform SIRT. This would help users understand the tradeoffs between algorithms more clearly

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Or a small comparison table would strengthen the Explanation focus of the page and help users choose an appropriate algorithm more confidently.

:alt: PDHG-TV in reconstruction window
:width: 60%
:align: center
:class: only-light
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Add Figure Captions

ASTRA Toolbox
----------------------
These filters are used from the ASTRA Toolbox package.
-------------
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The geometry explanation is good, but this section could briefly explain why parallel beam vector geometry matters For example: how tilt correction improves reconstruction quality, or how automatic geometry generation simplifies workflows.
This would better connect implementation details to reconstruction behaviour.

@JackEAllen JackEAllen marked this pull request as draft May 19, 2026 14:00
@ashleymeigh2 ashleymeigh2 self-assigned this May 19, 2026
@RasmiaKulan RasmiaKulan marked this pull request as ready for review May 19, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Document SPDHG

2 participants