M13Rec001, Mouse heart, spiral wave and optogenetic termination
64 × 55 px, 9,267 frames, 1 kHz, 133 µm/px, deposit checks: negative values, nan mask all frames, temporal smoothing, spatial smoothing
Run 339921d8, 2026-10-28 18:40 UTC, protocol parameters v3, code 008c2dc (uncommitted changes), 9 workers, signature 9b40a32d, run view 339921d8, 13 signatures of this recording
Not reportable: range check not passed, code uncommitted changes, parameters unsigned, reviewer sign-off pending; 20 rules open
Properties
| Deposit | 10.5281/zenodo.10228296, https://zenodo.org/records/10228296 |
| Publication | 10.1371/journal.pcbi.1011660 |
| Licence | CC-BY-4.0 (as stated: cc-by-4.0) |
| Authors | Hussaini, Sayedeh; Luther, Stefan; Lädke, Sarah L. |
| File | public/M13Rec001_complete.npy, npy, 260,958,848 bytes |
| sha256 | 3f8f2e1b8f776633089b33ccd4bf3fccb4f13140b71991f1dcd0e0a12bb48cbc |
| Frame rate | 1000 Hz, publication 10.1371/journal.pcbi.1011660, Camera frames are 64 x 64 in the paper; the deposit is 64 x 55 (cropped). Consistent with the DAQ: 10 samples per frame and a 5 s light pulse spanning 50,001 samples imply a 10 kHz DAQ. |
| Pixel size | 133 µm, publication 10.1371/journal.pcbi.1011660, paper states 64 x 64 px at 133 um; the deposit is 64 x 55 (cropped, not rebinned) |
| Polarity | inverted (depolarization downward), measured |
| Segments source | project lead (not a domain scientist), following the paper's design, 10.1371/journal.pcbi.1011660 |
| Protocol | Mouse whole heart optical mapping (Luther lab), mouse, whole heart; parameters v3 set by developer (not a domain scientist): version 3: baseline 901 frames = 2.1 x the 433-frame (2.31 Hz) post-termination cycle resolved under v2; v2's 641 frames was 1.48 cycles, on the 1.5-cycle line, and the pipeline check held one run and passed another on the same inputs. pad 500 >= half the window. Provisional (REVIEW_NEEDED item 16). |
| Run | 339921d8-9255-4d78-9789-6816dd8b409c |
| Started, finished | 2026-10-28 18:40 UTC, 2026-10-28 18:48 UTC |
| Code | 008c2dc076bcebf9e7fa01a05e8b7c4b5a713b37 (uncommitted changes) |
| Workers | 9 |
| Steps | load, deposit_checks, baseline_correct, polarity, spatial_filter(phase only), hilbert_phase, phase_singularities, track_and_pair, beats_apd_cv, sensitivity, render |
| Signature | 9b40a32d-d6e2-4d0d-9976-9137ed881bea, 2026-10-28 18:47 UTC |
| Movie | runs/339921d8-9255-4d78-9789-6816dd8b409c/movie.mp4 |
| Lossless frames | runs/339921d8-9255-4d78-9789-6816dd8b409c/frames/voltage.npy, runs/339921d8-9255-4d78-9789-6816dd8b409c/frames/phase.npy, runs/339921d8-9255-4d78-9789-6816dd8b409c/frames/maps.npz; shape 8267 × 64 × 55, <f4 |
Parameters
% Mouse whole heart optical mapping (Luther lab), v3, read-only % set by developer (not a domain scientist); provisional, REVIEW_NEEDED 16 baseline_frames = 901; % >= 2 x slowest cycle (415, MAP): ok pad_frames = 500; % each side, outside the window spatial_sigma = 1.0; % px, Gaussian, phase only spatial_truncate = 4.0; % kernel radius, sigma lowpass = []; % none polarity = -1; % measured, skew of dV/dt rotor_threshold = 0.9; % turns, |winding| per plaquette rotor_erode_px = 3; % px from tissue edge ignored link_px = 4.0; % tracking, max step per frame max_gap = 5; % frames a track may vanish min_cycles = 1.0; % own rotations, min_frames = 52 pair_dist_px = 3.0; % opposite-charge pairing paired_frac = 0.5; % max paired fraction of a track render_step = 4; % movie only
Segments
| Segment | Defined | Analysed | Cycle, frames | Expected Rotors | Bounded By |
|---|---|---|---|---|---|
| Illumination with arrhythmia | 0–3,170 | 500–3,170 | 52 (n = 53) | present | LED on before frame 0 (DAQ) → termination step (image, ±17 frames) |
| Illumination after termination | 3,170–4,977 | 3,170–4,977 | 415 (n = 4) | absent | termination step (image, ±17 frames) → illumination off (DAQ, ±11 frames) |
| Light off | 4,977–9,267 | 4,977–8,767 | 411 (n = 10) | absent | illumination off (DAQ, ±11 frames) → recording end |
Frames at 9,267 total, 1.0 ms per frame. Cycle from the MAP channel of the DAQ log (median interval) when one exists, else from per-pixel dominant frequency. Boundaries, expectations and the segment design are provisional (project lead (not a domain scientist), following the paper's design, 10.1371/journal.pcbi.1011660).
Metrics
| Metric | Unit | Illumination with arrhythmia | Illumination after termination | Light off | Physiological Range |
|---|---|---|---|---|---|
| Rhythm | |||||
| Dominant frequency | Hz | 15.356–19.850 | 2.214 | 2.375 | 18.75–20 Hz, one recording, 10.1371/journal.pcbi.1011660, ±25% provisional |
| Rotors | |||||
| Persistent rotors | count | 4–15 | 0 | 0 | none cited |
| Max concurrent persistent rotors | count | 1–2 | 0 | 0 | none cited |
| Frames with a singularity | fraction | 0.479 | 0.001–0.015 | 0.003–0.030 | none cited |
| Beats, where a global rhythm exists | |||||
| Beats | count | 57 | 4 | 9 | none cited |
| Global amplitude ratio | ratio | 0.72 | 0.95 | 0.95 | gate ≥ 0.30 provisional |
| APD50 | ms | 14 | 16 | 16 | none cited |
| APD90 | ms | 25 | 76 | 75 | none cited |
| Conduction velocity | cm/s | 31.3 | 58.5 | 60.0 | none cited |
Values at the run setting. Red: range across the sensitivity grid (12 baseline × sigma settings, 3 trackers) where the spread exceeds 25 % of the median; not reportable as a value. Beat metrics are not varied over the grid. Dominant frequency over the whole analysed window: 2.419 Hz.
| Criterion | Rule | Result |
|---|---|---|
| Singularities present where the design expects them, absent elsewhere | each 'present' segment: frac >= 0.1 and >= 2.0 x max frac over 'absent' segments, at every setting | holds at 12 filter settings provisional |
| Persistent rotors present where the design expects them, absent elsewhere | each 'present' segment: count >= 1; each 'absent' segment: count <= 0, at every setting | holds at 12 filter settings and 3 trackers provisional |
| Persistence threshold, paper context | lifetime ≥ 52 frames (measured cycle) and ≥ 50 frames (cited 20 Hz) | agree provisional |
Sensitivity analysis
| Baseline, frames | Sigma, px | Persistent Rotors | Singularity Frames, fraction | Tracks | Rule | |||||
|---|---|---|---|---|---|---|---|---|---|---|
| illuminated arrhythmia | after termination | light off | illuminated arrhythmia | after termination | light off | singularities | persistent rotors | |||
| 6× cycle 2712 | light 0.5 | 5 | 0 | 0 | 0.409 | 0.007 | 0.029 | 5 | holds | holds |
| 6× cycle 2712 | default 1.0 | 5 | 0 | 0 | 0.403 | 0.007 | 0.030 | 5 | holds | holds |
| 6× cycle 2712 | heavier 2.0 | 4 | 0 | 0 | 0.382 | 0.007 | 0.027 | 4 | holds | holds |
| 3× cycle 1356 | light 0.5 | 12 | 0 | 0 | 0.480 | 0.004 | 0.009 | 12 | holds | holds |
| 3× cycle 1356 | default 1.0 | 11 | 0 | 0 | 0.476 | 0.003 | 0.008 | 11 | holds | holds |
| 3× cycle 1356 | heavier 2.0 | 12 | 0 | 0 | 0.458 | 0.004 | 0.007 | 12 | holds | holds |
| 1.5× cycle 678 | light 0.5 | 13 | 0 | 0 | 0.488 | 0.003 | 0.004 | 13 | holds | holds |
| 1.5× cycle 678 | default 1.0 | 13 | 0 | 0 | 0.485 | 0.002 | 0.004 | 13 | holds | holds |
| 1.5× cycle 678 | heavier 2.0 | 15 | 0 | 0 | 0.468 | 0.001 | 0.003 | 15 | holds | holds |
| run 901 | light 0.5 | 12 | 0 | 0 | 0.484 | 0.015 | 0.013 | 12 | holds | holds |
| run 901 | default 1.0 | 13 | 0 | 0 | 0.479 | 0.015 | 0.012 | 13 | holds | holds |
| run 901 | heavier 2.0 | 12 | 0 | 0 | 0.461 | 0.012 | 0.008 | 12 | holds | holds |
Bold row: the run setting. Baselines are multiples of the slowest segment's cycle (452 frames, illuminated after termination); the run setting is the protocol's own window. Sigma is the spatial Gaussian for phase only. Fixed: window 500–8767, polarity -1, winding threshold 0.9, edge 3 px, lifetime ≥ 52 frames. Red: a rule whose result differs from the run setting. All labels provisional.
Trackers
| Tracker | Link, px | Gap, frames | Persistent Rotors | Tracks | Persistent-Rotor Rule | ||
|---|---|---|---|---|---|---|---|
| illuminated arrhythmia | after termination | light off | |||||
| strict | 2.0 | 1 | 5 | 0 | 0 | 5 | holds |
| default, run | 4.0 | 5 | 13 | 0 | 0 | 13 | holds |
| loose | 6.0 | 10 | 15 | 0 | 0 | 15 | holds |
Tracker disagreement is a review item, not part of the pass/fail.
Stability
| Metric | Min | Median | Max | Spread / Median | Settings | Varied Over | Result |
|---|---|---|---|---|---|---|---|
| persistent rotor tracks | 4 | 12 | 15 | 92 % | 15 | filter grid + trackers | unstable, not reportable |
| light off, dominant freq (Hz) | 2.38 | 2.38 | 2.38 | 0 % | 4 | baseline windows | stable |
| light off, persistent rotors | 0 | 0 | 0 | 0 % | 15 | filter grid + trackers | stable |
| light off, singularity frames fraction | 0.0029 | 0.00858 | 0.0296 | 311 % | 12 | filter grid | unstable, not reportable |
| light off, persistent rotor count max | 0 | 0 | 0 | 0 % | 15 | filter grid + trackers | stable |
| illuminated arrhythmia, dominant freq (Hz) | 15.4 | 17.2 | 19.9 | 26 % | 4 | baseline windows | unstable, not reportable |
| illuminated arrhythmia, persistent rotors | 4 | 12 | 15 | 92 % | 15 | filter grid + trackers | unstable, not reportable |
| illuminated after termination, dominant freq (Hz) | 2.21 | 2.21 | 2.21 | 0 % | 4 | baseline windows | stable |
| illuminated arrhythmia, singularity frames fraction | 0.382 | 0.472 | 0.488 | 22 % | 12 | filter grid | stable |
| illuminated after termination, persistent rotors | 0 | 0 | 0 | 0 % | 15 | filter grid + trackers | stable |
| illuminated arrhythmia, persistent rotor count max | 1 | 2 | 2 | 50 % | 15 | filter grid + trackers | unstable, not reportable |
| illuminated after termination, singularity frames fraction | 0.000553 | 0.00553 | 0.0149 | 260 % | 12 | filter grid | unstable, not reportable |
| illuminated after termination, persistent rotor count max | 0 | 0 | 0 | 0 % | 15 | filter grid + trackers | stable |
A metric is reportable as a value only if its spread across all settings is at most 25 % of its median provisional; otherwise its range is reported instead.