Repository navigation
Merge workspace, amplitude threshold splits, and curation workflow improvements - #1404
Conversation
|
In version current as of Aug 19 the keyboard shortcuts to switch between different waveforms types (single, average, templates) no longer works. The functionality is available by clicking in the WaveformView window but it no longer works as a keyboard shortcut. |
|
Strange. Any error message in the terminal? There's no text box that is stealing the keyboard focus? Are other shortcuts working? |
No errors in the terminal. OTher shortcuts (e.g. space bar) are working. |
…workflow # Conflicts: # phy/cluster/views/tests/test_waveform.py # phy/cluster/views/waveform.py
|
Integration update:
The PR remains a draft pending the phylib 2.7.1 release, replacement of the temporary Git pin with |
Summary
Add reversible merge workspaces, AIND/SpikeInterface merge-proposition review, and amplitude-threshold splitting for the Template GUI. Preserve complete selection, table, and history context through curation operations, and return successful merges to Cluster View with only the result selected for immediate quality assignment.
Merge and proposition workflows
Venters or cancels Merge mode;Gmerges all staged clusters and selected Similarity candidates, including selections hidden by filtering. Cancellation restores the entry workspace; undo restores the exact pre-merge workspace, and redo restores the result.mergesfrom producer-ownedcuration.json. The persistent proposition queue uses stable source-order labels, concise rows, status colors, and full-detail tooltips. Clicking a pending proposition stages it for review; candidates can be added, removed, or reordered before acceptance.Alt+Down/Alt+Upnavigate pending propositions;Alt+Backspacerejects and advances;Alt+Shift+Backspaceresets a completed review.Gcommits and returns to Cluster View; navigation to the next proposition is explicit after acceptance.accepted_modified; overlapping proposals become stale when source units disappear. Save decisions and applied/result IDs atomically tocuration_review.json, coupled to the normal dirty/save lifecycle and protected by a source hash. Never overwritecuration.json.Splitting, selection, and GUI behavior
Alt-right-drag in Amplitude View previews a threshold for one selected cluster, linked to individual waveform traces.Kcommits an exact all-spike partition strictly below the threshold; empty and whole-cluster selections are rejected. Control-right-click or the view menu clears the preview.Control+SpaceSimilarity batches and a persistent Skip Noise and MUA preference. Restore selection and table context through merge, split, metadata changes, and history.W/Shift+Wwith actual Qt key events.Dependencies and release acceptance
Require released
phylib>=2.7.1,<3, regenerate the lockfile from PyPI, and remove the temporary test-CI archive substitution. Keep the intentional scheduled upstream compatibility job. Update installation instructions and historical handoff notes.Cyrille approved the handoff and merges on 8 October 2026, accepting documented automated real-dataset validation as maintainer acceptance in place of the historical named-tester gate. This PR develops phy
2.2.0.dev0; it does not publish a phy release.Validation
template-describepass without editable checkouts or a phylib override.curation.json. Raw recording paths are unavailable, so these exercise stored waveforms rather than raw trace extraction; they are not human visual reviews.c3fd5cc0b4ef8e23cbadee80cf234bb1711bd8ee: CI and spelling passed before merge. Squash merged ascae2a1e9b5bff0eca89ae1f05248161d4f3168ef; the merged tree is identical to the tested head. Resulting master CI passed the complete Linux/macOS/Windows Python 3.10–3.12 matrix, docs and packaging; master spelling also passed.Try the source build
Use a separate checkout and a copy of a dataset:
git clone https://github.com/cortex-lab/phy.git phy-merge-workflow cd phy-merge-workflow git switch master uv sync --frozen --dev uv run phy template-gui /path/to/copied/dataset/params.pyThe stable PyPI phy release remains 2.1.0 until a separate phy release is prepared.