Skip to content

Denoise UI - #213

Open
henryhng wants to merge 14 commits into
electronmicroscopy:mainfrom
henryhng:denoise-ui
Open

Denoise UI#213
henryhng wants to merge 14 commits into
electronmicroscopy:mainfrom
henryhng:denoise-ui

Conversation

@henryhng

Copy link
Copy Markdown
Contributor

Stacked diff on top of #207: henryhng/quantem.widget@denoise-v2...henryhng:quantem.widget:denoise-ui

Summary

Frontend controls and frame caching for ShowDiffraction denoise.

Verification

  • Checks run: npm run build, npm run typecheck, npm test (129 passed), PYTHONPATH=src pytest -q tests/test_showdiffraction_denoise.py tests/test_showdiffraction_frontend_source.py (14 passed)
  • User workflow: widget HTML in Chromium; Denoise/Detect dropdowns and Detect View toggle render
  • Data: synthetic Poisson ring pattern, 256x256, float32
  • Backend and hardware: CPU
  • Load/render/interaction timing: filtered frames cached per (frame, mode); nlm about 0.1 s per 512x512 frame, gaussian/anscombe instant
  • Evidence artifacts or screenshots: n/a.

Checklist

  • The change includes focused tests for Python state/export behavior and frontend build coverage where possible; start with PYTHONPATH=src:. pytest -q and npm run build, or run scripts/widget_local_signoff.sh.
  • Before committing, inspect git status --short and git diff --stat; do not commit generated HTML, docs builds, screenshots, local notebooks, private data, or machine-specific notes.
  • Committed notebooks carry NO baked widget state (metadata.widgets) and pass scripts/check_notebook_sizes.py. n/a — no notebook changes.
  • Only the sections below that this PR touches are kept; the rest are deleted from this description.
UI design and theming — frontend / viewer changes
  • The frontend follows the local viewer patterns instead of inventing a new design system; the dropdowns reuse the existing Color/Scale select row and the toggle joins the existing side-menu array.
  • Controls are compact and content-sized: menus for the option sets, a side-menu toggle for the binary.
  • Compact labels stay grouped with the control they name on mobile and narrow layouts.
  • Compact widget control labels do not use decorative colons.
  • Command buttons use Title Case.
  • The widget supports both light and dark notebook/docs themes; the new controls use the shared themedSelect and side-menu styles.
  • The widget has no hardcoded dark-only or light-only assumptions.
  • Histogram UI matches the existing Show2D-style interaction. n/a
  • Hover inspection is independent of selection. n/a
  • New or changed widget interactions have a matching storyboard story. n/a.

This PR workflow follows the packaging standards for reproducible scientific software described in scikit-package: S. Lee, C. Myers, A. Yang, T. Zhang, Y. Xiao, and S. J. L. Billinge, Digital Discovery (2026), DOI 10.1039/d6dd00121a.

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