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 |
| ROI | x | y | Value at Frame |
|---|
Figure 1. Frames 500–8,767 of 9,267, native 64 × 55 px, nearest-neighbour, no interpolation, float32 as stored. Camera: values as deposited. Voltage: baseline-corrected only (901-frame centred moving average subtracted per pixel), polarity ×-1, no spatial filter. Phase: angle of the Hilbert transform of the Gaussian-filtered signal (σ = 1.0 px), twilight. Activation and dominant frequency: per-pixel maps of the current segment (magma). Singularities (open −1, filled +1): |winding| > 0.9 turns, ≥ 3 px inside the tissue edge. Rotor tracks: persistent rotors (≥ 1 own rotation, lifetime ≥ 52 frames) drawn as rings at their mean core while alive. Mask outline: tissue mask, source nan_frame0 (NaN rule; run predates the mask rule). Opening frame 1,192, display choice: frame with the most concurrent persistent rotors (2) in illumination with arrhythmia, midpoint of the longest such stretch. Display range, display choice: voltage ±99th percentile |V| and camera 1st–99th percentile of the current segment's tissue pixels; phase −π to π.
Figure 2. Traces of the current view at the listed ROIs, from the stored arrays. ROI A (25, 25) and ROI B (46, 17): display choice: A nearest the mean persistent-rotor core, B the farthest tissue pixel from A with amplitude at or above the tissue median. Dashed lines: segment boundaries. Red: playback cursor.