SpyDE v0.3.0
Desktop app (Electron) with a uv-managed Python backend. The
installer is small — the analysis environment (incl. the GPU-correct
PyTorch wheel) is set up on first launch, which needs a network
connection and may take a few minutes. Later launches are instant.
⚠️ Unsigned for now: Windows SmartScreen / macOS Gatekeeper will
warn on first run. On Windows choose "More info → Run anyway"; on
macOS right-click the app → Open.
Downloads
| Platform | File |
|---|---|
| Windows | SpyDE Setup *.exe (NSIS installer) |
| macOS | SpyDE-*.dmg |
| Linux | SpyDE-*.AppImage |
What's Changed
- feat: 0.3.0 Wave 0 + Wave 1 — synthetic data, requires_package gate, batched GPU fitting by @CSSFrancis in #82
- feat(spectroscopy): Wave 2 — composition → auto-populated model by @CSSFrancis in #84
- feat(fit): the Fit wizard — build a model, fit the scan, commit component maps by @CSSFrancis in #86
- feat(atoms): Wave 4 — atom finding, GPU refinement, property maps by @CSSFrancis in #85
- feat(ebsd): Wave 3 — GPU dictionary indexing + pattern preprocessing by @CSSFrancis in #83
- SpyDE 0.3.0 — fitting, EELS/EDS, EBSD, atom mapping, and the data module by @CSSFrancis in #89
- docs: 0.3.0 release plan (tracker #48) by @CSSFrancis in #81
- fix(examples): prefetch the Examples catalogue on backend-ready by @CSSFrancis in #92
- fix(composition): the periodic table's f-block rows were 8 px tall by @CSSFrancis in #94
- feat(contrast): bin the histogram around the display range, add Auto/Reset by @CSSFrancis in #93
- fix(dock): render axis units as LaTeX in the sidebar, edit the raw string by @CSSFrancis in #96
- fix(axes): the origin-pick "+" now follows the crosshair, not a stale flag by @CSSFrancis in #97
- test(e2e): de-flake the two report specs that fail intermittently in CI by @CSSFrancis in #102
- ci(doc): give the docs build one lane per ref, not one lane globally by @CSSFrancis in #109
- fix(report): "+ Add slide" menu was clipped by the sidebar scroller by @CSSFrancis in #103
- fix(ebsd): square-pixel gnomonic projection — the Kikuchi overlay is NOT flipped, but is sheared on non-square detectors by @CSSFrancis in #106
- feat(tutorials): self-contained guided walkthroughs, ✕-only exit, and tutorials in the docs by @CSSFrancis in #107
- perf(load): align chunks at every load, and unify per-chunk dask submission by @CSSFrancis in #95
- ci(e2e): balance the e2e shards by duration, and let the fixture generators run on Windows by @CSSFrancis in #111
- test(e2e): score fit_quality on a percentile, not on the sweep's maximum by @CSSFrancis in #110
- perf(log): virtualise the log rows + coalesce appends (5.4 ms → 0.05 ms per line) by @CSSFrancis in #98
- fix(nav): recursive progressive navigator fill for 5-D stacks by @CSSFrancis in #99
- feat(fit): offer exspy EELSCLEdge in the component picker by @CSSFrancis in #105
- feat(csb): read Direct Electron CSB event streams, and re-cut them To Frames by @CSSFrancis in #101
- Progressive fills show the SIGNAL plot filling in, not just the navigator by @CSSFrancis in #100
- test(e2e): de-flake progressive_signal_preview (main has been red since #100) by @CSSFrancis in #116
- fix(present): undoable deletes, slides that fit the stage, and an un-squished vectors navigator by @CSSFrancis in #113
- Presentations: deck themes, a compose drop you can hit, and the panel that never drew by @CSSFrancis in #118
- feat(om): two-window orientation result — map window + IPF explorer by @CSSFrancis in #108
- fix(5d): the vectors result window, and three bugs underneath it by @CSSFrancis in #119
- perf(nav): the navigator fill submitted one task at a time, and never noticed the cluster by @CSSFrancis in #115
- feat(gpu): run the fitting and EBSD paths on Apple-MPS, and pin kikuchipy parity by @CSSFrancis in #114
- Release v0.3.0 by @github-actions[bot] in #120
Full Changelog: v0.2.0...v0.3.0