This page is the file
TODO.md of the spam-gui repository, shown as HTML.To do
Work planned, in order. Each item: what it is, what « done » means. Behaviour is unchanged by the reorganisation: the
window tests (python tests/gui/screens.py) pass before and after each milestone.
Reorganisation of the code for more modules (SPEC.md 3.4)
1. gui/ and core/: done (2026-11-13)
- The shared window (Qt) in
src/spam_gui/gui/: window, windows, controls, widgets, dialogs, busy, steps, plotting, points, layers. - Without Qt or napari, in
src/spam_gui/core/: parts, volumes, io (reading images), phi (Φ conversions). layers.pysplit intocore/io.py,core/phi.py,gui/layers.py.
2. modules/mmr/: one file per step (not a priority)
modules/mmr.py(about 3,900 lines) split intomodules/mmr/:__init__.py(MultimodalRegistrationModule),state.py(MMRState), one file per step (load, eye, crop, histogram, phasediagram, registration, summary),phipane.py(Current Φ).- What only MMR uses moved into it:
phases.py(its phase layers),PhaseVolumeandPhaseMask(fromcore/volumes.py),quantise,fields,registrationMemory(fromcore/parts.py). - Done when:
modules/mmr.pyandphases.pyare gone, the imports follow, SPEC.md 3.4 andspecs/modules/mmr.mdgive the new paths, and the tests pass at the three sizes.
3. Tests
- The unit tests (
tests/test_*.py) intests/unit/. - The window test split: the checks of the shared window (whatever the module) in
tests/gui/window.py, the MMR workflow intests/gui/modules/mmr.py. - A screenshot script,
tests/gui/screenshots.py: done (2026-11-13). - Done when:
pytest testsandpython tests/gui/screens.pyrun them all, and SPEC.md section 6 gives the new paths.
Shared steps (modules/common/): when the next module is known
- Load two images, eye registration, crop: the steps of MMR that another module would share, made shared
(
modules/common/,specs/common-steps.md: what they need from a module's state, what they give). - Waits for: which module of spam-gui comes next (OPEN_QUESTIONS.md, D5).