Skip to content

feat: add point spread function analysis#97

Open
aadarwal wants to merge 1 commit into
mainfrom
feature/point-spread-functions
Open

feat: add point spread function analysis#97
aadarwal wants to merge 1 commit into
mainfrom
feature/point-spread-functions

Conversation

@aadarwal

@aadarwal aadarwal commented Jun 4, 2026

Copy link
Copy Markdown
Member

Summary

  • Add a reusable optiverse.raytracing geometric PSF API over traced RayPath data.
  • Sample ray crossings at a 2D image plane and report centroid, RMS radius, FWHM, total weight, and a normalized histogram.
  • Add a Tools menu dialog for computing the PSF from the current traced rays.
  • Update the main-window smoke test to match the current Optiverse window title and clean up Qt timers explicitly.

Addresses #17.

Test plan

  • uv run --extra dev mypy src/
  • uv run --extra dev pytest tests/raytracing/test_psf.py tests/ui/test_point_spread_dialog.py tests/test_controllers.py tests/ui/test_main_window.py -q
  • uv run --extra dev pytest tests/raytracing -q
  • uv run --extra dev ruff check src/optiverse/raytracing/psf.py src/optiverse/raytracing/__init__.py src/optiverse/ui/controllers/raytracing_controller.py src/optiverse/ui/views/point_spread_dialog.py src/optiverse/ui/views/main_window.py src/optiverse/ui/builders/action_builder.py tests/raytracing/test_psf.py tests/ui/test_point_spread_dialog.py tests/ui/test_main_window.py

Notes

This is a geometric PSF for the current 2D raytracer. Diffraction PSF and 3D detector modeling remain separate future work.

Add a reusable geometric PSF computation API over traced RayPath data, expose it through the raytracing controller, and add a Tools menu dialog for computing centroid, RMS radius, FWHM, and histogram metrics from the current rays.

Also update the main-window smoke test to match the current Optiverse window title and clean up Qt timers explicitly.

Co-Authored-By: Codex <noreply@openai.com>
@aadarwal aadarwal force-pushed the feature/point-spread-functions branch from 2413279 to b9d3dbc Compare June 4, 2026 05:10
@aadarwal aadarwal marked this pull request as ready for review June 4, 2026 05:23
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.

1 participant