Skip to content

Design note for task 16: EELS zero-loss alignment, background, deconvolution, edge fit - #3

Merged
Paullo9 merged 2 commits into
mainfrom
claude/project-thread-6x0pk3
Oct 21, 2026
Merged

Paullo9 merged 2 commits into
mainfrom
claude/project-thread-6x0pk3

Conversation

@Paullo9

@Paullo9 Paullo9 commented Oct 21, 2026

Copy link
Copy Markdown
Contributor

Requested by Paul · project thread

What and why

Adds docs/design/eels-task-16.md, the design a Mac session implements for suite ROADMAP task 16 (SpectroKit 0.9.0): public API, exSpy 0.3.2 / HyperSpy 2.4.0 reference functions with their own tolerances (D17), pin scripts and fixtures under the existing tools/<slice>/pins.py layout, docs/parity.md rows, implementation order (zero-loss alignment first, for the macTEM EELS room), fast unit target against the parity target, Accelerate only (no Metal: nothing in the task is large enough to pay).

Decisions to review: ImagoKit becomes a dependency for the any-length Double FFT; deconvolution tolerance rtol 1e-7 plus atol 1e-7 × max where exSpy tests nothing; the model fit is an exact minimiser (same deviation as the EDX fit); Richardson-Lucy designed but ordered last (ROADMAP lists it out of scope); L-edge tables for Mg, Al, Si, Fe, Cu.

Docs only. No code, no version bump, no CHANGELOG line.

Checklist

  • swift test -c release passes (no code changed)
  • New or changed behaviour has a test that fails without the change (not applicable: docs only)
  • No tolerance was loosened to make a reference comparison pass (the two kit tolerances apply where upstream states none, and are marked as decisions)
  • Docs updated, including docs/parity.md if the supported features changed (parity rows listed in section 9, to move when the code lands)
  • Results that report validation: "none" are not described as validated

Generated by Claude Code

…olution, edge fit

docs/design/eels-task-16.md: the public API, exSpy 0.3.2 / HyperSpy 2.4.0 reference
functions with their own tolerances (D17), pin scripts and fixtures, parity.md rows,
implementation order (zero-loss alignment first for the macTEM EELS room), fast against
parity target, Accelerate only. No code, no version bump, no CHANGELOG line.

Done: the design a Mac session can implement. Next: a Mac session implements section 2 first.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UvFdXrEy5PVZ5s46XHQDp6
FFT1DDouble is power-of-two only; the deconvolutions use FFT2DDouble(nx: size, ny: 1).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UvFdXrEy5PVZ5s46XHQDp6
@Paullo9 Paullo9 self-assigned this Oct 21, 2026
@Paullo9
Paullo9 marked this pull request as ready for review October 21, 2026 18:25
@Paullo9
Paullo9 merged commit 27d88d1 into main Oct 21, 2026
3 checks passed
@Paullo9
Paullo9 deleted the claude/project-thread-6x0pk3 branch October 21, 2026 18:25
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.

2 participants