Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Equal-angle fan-beam CT #1673

Open
gggah opened this issue Feb 13, 2025 · 4 comments
Open

Equal-angle fan-beam CT #1673

gggah opened this issue Feb 13, 2025 · 4 comments

Comments

@gggah
Copy link

gggah commented Feb 13, 2025

Can ODL perform equal-angle fan-beam CT reconstruction, and if so, how should I set up the geometry?/

@Emvlt
Copy link

Emvlt commented Feb 14, 2025

Hello,

If by "equal-angle" you mean that the detector pixels should be equally spaced, it is straightforward: please check this demo

@leftaroundabout
Copy link
Contributor

Your particular scenario seems like it should directly be tackled with CircularDetector (for 2D), or CylindricalDetector (for 3D) instead. Use a suitable partition for the (angular-)uniform sampling as desired, and the translation parameter to place the detector where you want it.

If you need more detailed help, please provide more concrete information about your geometry.

@gggah
Copy link
Author

gggah commented Feb 14, 2025

Your particular scenario seems like it should directly be tackled with CircularDetector (for 2D), or CylindricalDetector (for 3D) instead. Use a suitable partition for the (angular-)uniform sampling as desired, and the translation parameter to place the detector where you want it.

If you need more detailed help, please provide more concrete information about your geometry.

Hi, thank you very much for your reply, I would like to realize the following configuration, where the rays are equally spaced at an angle of roughly 0.077°. And for the reconstruction I want to utilize SART for the reconstruction, do I still need to call astra? Very much looking f

Image

orward to your explanation.

@leftaroundabout
Copy link
Contributor

@gggah Now I look into this more closely I find my advice was actually not much use, because Astra doesn't support ODL's curved detectors! So as it stands, you would need to go the general route of interpolating the detector sampling so that an ordinary flat-uniform-detector ray transform can be used, which Astra does support.

I admit that this is not satisfying; it would make a lot of sense for ODL to perform this interpolation automatically when a curved detector is specified but the backend does not support it natively. Perhaps we can implement this before the next release.

Cf. #1560 for previous discussion of the matter and a solution outline.

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

No branches or pull requests

3 participants