SignatureRun

M13Rec001, run c0c30a22

Status done, stage done; requested by project lead; worker [not recorded]; started 2026-10-27 23:30 UTC, finished 2026-10-27 23:35 UTC, 324 s; signature b456870e

Stages

StageStartedSeconds
[no stage log; run predates stage timing]

Log

TimeAgentActionDetail
23:30:28runsrun started{"checked_by": "no agent", "protocol_params_version": 3, "recording_id": "55cb4aa3-6502-45a6-a14c-85cb676fe8c3", "run_id": "c0c30a22-bf69-424a-8a7c-76e8fbac530d"}
23:35:52runssignature written{"criteria": "provisional", "holds": {"persistent_rotors": true, "persistent_rotors_fraction_superseded": false, "singularities": true}, "run_id": "c0c30a22-bf69-424a-8a7c-76e8fbac530d", "signature_id": "b456870e-cc99-40a9-aff1-55e4133116c4"}

Entries from the audit log for this run; new rows and stage changes arrive by realtime while the run is open (connecting).

Pipeline check

[no pipeline check stored for this run]

Inspector

This is an ex vivo optogenetic mouse whole-heart optical mapping recording associated with spiral-wave termination experiments. Use 1000 Hz: the linked paper states 64 × 64 camera acquisition at 1 kHz, and the deposit’s 64 × 55 frame size is consistent with a cropped version; this agrees with the frame rate already on record. The deposited movie is not truly raw camera output: depositor documentation and measurements indicate masking, temporal/spatial smoothing, and normalization. Polarity is robustly inverted, so depolarization appears as a downward deflection. Illumination was already on before frame 0 and turned off at frame 4977; the frame-3170 image step should be treated as a fluorescence baseline/rhythm-change event with provisional interpretation as spiral termination, not as light onset.

MeasurementValueMethod, Caveat
SNR, median (p10–p90)32.5 (26.9–44.9)assumes white noise; on temporally smoothed deposits noise is underestimated and SNR inflated
Mask coverage66.2%, 2332 of 3520 pxdepositor NaN mask (frame 0)
Polarityblocks 18, inverted True, blocks agreeing 18, median dvdt skew -4.419912338256836sign of median per-pixel skew of dV/dt, baseline-corrected (121 frames)
Drift / bleachingbaseline change -1.61, vs beat amplitude -1.12, slow range 3.33, trend, Spearman -0.489running median (927 frames) of the tissue-mean raw signal; steps from events (light, rhythm change) and depositor normalization or drift removal change or erase the baseline; bleaching cannot be separated from them here
Prior processingnegative values, nan mask all frames, temporal smoothing, spatial smoothingdeposit checks
Dominant cycle by block, frames0–1000: 66.7, 1000–2000: 66.7, 2000–3000: 52.6, 3000–4000: 83.3, 4000–5000: 100.0, 5000–6000: 142.9, 6000–7000: 100.0, 7000–8000: 142.9, 8000–9000: 83.3
ConcernSeverityDetail
Pre-deposit processing / raw-data labelwarnThe README labels M13Rec001 as raw experimental data, but the notebook documents masking, spatial smoothing, temporal smoothing, and normalization with Python Analyser; prior_processing measurements support processed data. Analyses requiring raw photon counts or independent pixel noise would be misleading if this is treated as raw camera data.
Event interpretation at frame 3170warnThe image event at frame 3170 is a baseline_step only. The DAQ shows illumination began before frame 0 and ended at frame 4977, so treating frame 3170 as light onset would be wrong. The stored spiral-termination label is a provisional interpretation from timing relative to the paper, not a direct measurement.
Baseline and illumination artifactwarnThe publication reports blue stimulation light crosstalk causing an increase in fluorescence baseline and re-normalization by division to the recorded stimulation light signal; the recording also has a large slow baseline range and a baseline step. Analyses using absolute baseline or amplitude should account for illumination/crosstalk/normalization effects.
Provisional tool thresholdsinfoEvent detection, processing flags, SNR, rhythm, and reference-rate thresholds are provisional and not yet reviewed by a domain scientist; conclusions depending on them should be checked for critical analyses.
EventFrameSourceMethod
illumination on0 ± 11acquisition logmidpoint threshold on DAQ channel 'led_trigger', mapped to frames via camera triggers
illumination off4977 ± 11acquisition logmidpoint threshold on DAQ channel 'led_trigger', mapped to frames via camera triggers
baseline step3170 ± 17imageconsensus upward step in running-median baseline of tissue-mean raw signal

Inspector report 2026-10-27 20:27 UTC, model openai:gpt-5.5, provisional. Per-pixel SNR is high by the provisional metric: median = 32.506531024253725, p10 = 26.87502130582481, p90 = 44.884363625066875 over 3000 frames. Because the deposit is documented and measured as temporally smoothed, the tool caveat applies: white-noise assumptions can underestimate noise and inflate SNR. The depositor NaN mask in frame 0 contains 2332 tissue pixels out of 3520 total pixels, coverage = 0.6625, with 1188 NaN pixels. Acquisition log detects illumination already on at the first deposited frame: led_trigger transition occurred before_first_frame, 23.0 frames before frame 0, reported as illumination_on at frame 0 with uncertainty 11 frames; photodiode agrees. Acquisition log detects illumination_off at frame 4977 with uncertainty 11 frames; photodiode agrees. Image analysis detects a baseline_step at frame 3170 with uncertainty 17 frames: this measurement only shows the tissue-mean fluorescence baseline changed, not illumination onset. A stored project-lead interpretation, citing Hussaini et al. 2023 Fig 2C, labels the frame-3170 step as “spiral termination under illumination”; the source caveat says the paper does not name M13Rec001 and the termination assignment is inferred from timing, so it should be treated as provisional interpretation, not a direct measurement. The stored image-based “illumination_on” at frame 3170 is contradicted by the DAQ led_trigger and photodiode, which show light already on from before frame 0 until frame 4977. The tissue-mean slow baseline changes substantially: baseline_start = 1.439404845237732, baseline_end = -0.17559432983398438, baseline_change = -1.6149991750717163, which is -1.1213198412261043 times the beat amplitude; slow_baseline_range = 3.3284222781658173 and monotonic_trend_spearman = -0.4894475048599732. The tool cautions that steps from events, rhythm change, depositor normalization, or drift removal affect the baseline, so bleaching cannot be separated here.

Range checks

MetricSegmentValue at Run SettingCited RangeStatus
persistent rotor tracksall13 countnone citedunstable not reportable
dominant freq (Hz)light off2.375 Hznone citedno cited range
persistent rotorslight off0 countnone citedno cited range
singularity frames fractionlight off0.01214 fraction of framesnone citedunstable not reportable
persistent rotor count maxlight off0 countnone citedno cited range
dominant freq (Hz)illuminated arrhythmia19.1 Hz18.75–20, checked 14.0625–25, 10.1371/journal.pcbi.1011660unstable not reportable
persistent rotorsilluminated arrhythmia13 countnone citedunstable not reportable
dominant freq (Hz)illuminated after termination2.214 Hznone citedno cited range
singularity frames fractionilluminated arrhythmia0.479 fraction of framesnone citedno cited range
persistent rotorsilluminated after termination0 countnone citedno cited range
persistent rotor count maxilluminated arrhythmia2 countnone citedunstable not reportable
singularity frames fractionilluminated after termination0.01494 fraction of framesnone citedunstable not reportable
persistent rotor count maxilluminated after termination0 countnone citedno cited range

Compare with run faeb5ebc

A: this run, code 905d5be, None workers. B: run faeb5ebc, 2026-10-27 23:05 UTC, code b1be824 (uncommitted changes), None workers. 28 stored values differ.

FileABSameHow
frames/voltage[none][none][not comparable]recorded sha256
frames/phase[none][none][not comparable]recorded sha256
frames/maps[none][none][not comparable]recorded sha256
maps/activation.pngf0433d3a9771f0433d3a9771yessha256 of the stored file
maps/dominant_frequency.png9004a90ee80c9004a90ee80cyessha256 of the stored file
movie.mp465195176519517yessize in bytes only; frames not compared
Stored ValueAB
criteria_status.ruleslength 19length 20
criteria_status.rules[16].descriptionCited physiological ranges (single-study values widened by a 25% tolerance), applied to segments by their expected rhythm; used by the critic and for frame-rate sanity checksThe pipeline agent's hold/proceed decision from protocol mismatches and inspector anomalies; it chooses no parameter
criteria_status.rules[16].expertcardiac electrophysiologist per speciesoptical mapping analyst
criteria_status.rules[16].locationworker/voltage/physiology.py (RANGES, TOLERANCE_FRAC)worker/agents/pipeline.py (INSTRUCTIONS, validator)
criteria_status.rules[16].values.anomalies[absent]['Pre-deposit processing / raw-data label', 'Event interpretation at frame 3170', 'Baseline and illumination artifact', 'baseline-window rule']
criteria_status.rules[16].values.mismatches[absent][]
criteria_status.rules[16].values.model[absent]openai:gpt-5.5
criteria_status.rules[16].values.proceed[absent]True
criteria_status.rules[16].values.ranges['mouse_spiral_rotation_hz'][absent]
criteria_status.rules[16].values.segment_rhythm_ruleexpected persistent rotors 'present' -> spiral arrhythmia[absent]
criteria_status.rules[16].values.tolerance_frac0.25[absent]
criteria_status.rules[17].descriptionA metric is reportable only if its spread across all sensitivity settings is <= 25% of its median (zero spread when all values are 0); otherwise 'unstable, not reportable'Cited physiological ranges (single-study values widened by a 25% tolerance), applied to segments by their expected rhythm; used by the critic and for frame-rate sanity checks
criteria_status.rules[17].expertbiostatistician + optical mapping analystcardiac electrophysiologist per species
criteria_status.rules[17].locationworker/agents/critic.py (STABLE_FRAC, stability)worker/voltage/physiology.py (RANGES, TOLERANCE_FRAC)
criteria_status.rules[17].values.ranges[absent]['mouse_spiral_rotation_hz']
criteria_status.rules[17].values.segment_rhythm_rule[absent]expected persistent rotors 'present' -> spiral arrhythmia
criteria_status.rules[17].values.stable_frac0.25[absent]
criteria_status.rules[17].values.tolerance_frac[absent]0.25
criteria_status.rules[17].values.unstable['light_off.singularity_frames_frac', 'illuminated_arrhythmia.persistent_rotors', 'illuminated_arrhythmia.persistent_rotor_count_max', 'illuminated_arrhythmia.dominant_freq_hz', 'illuminated_after_termination.singularity_frames_frac', 'persistent_rotor_tracks'][absent]
criteria_status.rules[18].descriptionThe persistent-rotor rule is run at two lifetimes, one measured cycle of the fastest segment and the paper's cited rotation period; both verdicts stored, disagreement flaggedA metric is reportable only if its spread across all sensitivity settings is <= 25% of its median (zero spread when all values are 0); otherwise 'unstable, not reportable'
criteria_status.rules[18].expertcomputational cardiac electrophysiologist (phase mapping)biostatistician + optical mapping analyst
criteria_status.rules[18].locationworker/agents/critic.py (persistence_variants)worker/agents/critic.py (STABLE_FRAC, stability)
criteria_status.rules[18].values.measured_cycle52[absent]
criteria_status.rules[18].values.paper_rotation50[absent]
criteria_status.rules[18].values.stable_frac[absent]0.25
criteria_status.rules[18].values.unstable[absent]['light_off.singularity_frames_frac', 'illuminated_arrhythmia.persistent_rotors', 'illuminated_arrhythmia.persistent_rotor_count_max', 'illuminated_arrhythmia.dominant_freq_hz', 'illuminated_after_termination.singularity_frames_frac', 'persistent_rotor_tracks']
pipeline.checkNone{'model': 'openai:gpt-5.5', 'proceed': True, 'anomalies': [{'topic': 'Pre-deposit processing / raw-data label', 'severity': 'warn', 'effect_on_analysis': "The recording should not be treated as raw camera counts; masking, temporal smoothing, spatial smoothing, and normalization affect noise assumptions and add unknown filtering before the protocol's Gaussian phase smoothing."}, {'topic': 'Event interpretation at frame 3170', 'severity': 'warn', 'effect_on_analysis': 'The frame-3170 boundary is an interpreted fluorescence/rhythm event rather than measured light onset; segment interpretation is provisional.'}, {'topic': 'Baseline and illumination artifact', 'severity': 'info', 'effect_on_analysis': 'Illumination crosstalk, normalization to stimulation-light signal, slow fluorescence change, and a fluorescence step affect absolute fluorescence and amplitude interpretation.'}, {'topic': 'baseline-window rule', 'severity': 'info', 'effect_on_analysis': 'The coded rule passes with baseline_frames 901, slowest_cycle_frames 415, required_min_frames 830, and ratio 2.171.'}], 'rationale': 'The fixed protocol is appropriate to run as a provisional analysis because the recording matches the intended mouse whole-heart optical mapping reference data and no recording fact mismatch makes the frame-based parameters wrong. The frame rate is 1000 Hz from the publication with DAQ consistency, and the coded baseline rule passes for the version 3 baseline of 901 frames. Interpretation is qualified by prior processing, the provisional frame-3170 event boundary, and illumination/normalization effects on fluorescence amplitude.', 'mismatches': [], 'hold_reason': None, 'protocol_id': 'f65d786f-f194-4be2-88b8-10d3dd25d674', 'methods_text': 'Using provisional parameter set version 3 for protocol f65d786f-f194-4be2-88b8-10d3dd25d674, the fixed parameters were baseline_frames=901, spatial_sigma=1.0, spatial_truncate=4.0, pad_frames=500, rotor_threshold=0.9, rotor_erode_px=3, link_px=4.0, max_gap=5, min_cycles=1.0, pair_dist_px=3.0, paired_frac=0.5, and render_step=4. The recording has 9267 frames in npy format with image size 64 by 55, frame rate 1000 Hz from publication 10.1371/journal.pcbi.1011660 with DAQ consistency, and pixel size 133 µm from the same publication. The analysed window was frames 500 to 8767, with provisional segment definitions and criteria: illuminated_arrhythmia frames 0 to 3170, illuminated_after_termination frames 3170 to 4977, and light_off frames 4977 to 9267.', 'params_version': 3, 'prompt_version': 'pipeline-v2'}
methods_textRecording Mouse heart, spiral wave and optogenetic termination (M13Rec001) (doi:10.5281/zenodo.10228296; 64x55 px, 9267 frames, 1000 Hz) was analysed over frames 500-8767. Deposit shows signs of prior processing (provisional): negative values, non integer, nan mask all frames, temporal smoothing, spatial smoothing. Each pixel was baseline-corrected by subtracting a 901-frame centered moving average; NaN pixels were set to zero. Dye polarity (inverted) was taken from the sign of the median per-pixel skew of dV/dt. For phase only, each frame was spatially filtered with a Gaussian (sigma 1.0 px, truncated at 4.0 sigma); no temporal low-pass was applied. Phase was the angle of the Hilbert transform with 500 frames of padding on each side. Phase singularities were plaquettes with |winding| > 0.9 turns at least 3 px inside the tissue edge; they were tracked across frames (same charge, <= 4.0 px per frame, gaps <= 5 frames), and a persistent rotor was a track lasting >= 52 frames (1 cycle(s) of the fastest segment) within 3.0 px of an opposite-charge singularity in no more than 50% of its frames. Acquisition log (LED trigger channel, provisional interpretation): illumination on over frames 500-4977 of the analysed frames 500-8767. Segments (provisional, project lead (not a domain scientist), following the paper's design): illumination with arrhythmia frames 500-3170 (expected persistent rotors: present); illumination after termination frames 3170-4977 (expected persistent rotors: absent); light off frames 4977-8767 (expected persistent rotors: absent). Sensitivity: baseline 2712, 1356, 678, 901 frames x sigma 0.5, 1.0, 2.0 px, and tracker variants. singularities: across filters holds (provisional). persistent rotors: across filters holds (provisional); across trackers holds (provisional). persistent rotors fraction superseded: across filters does not hold (provisional); across trackers does not hold (provisional). All thresholds and criteria are provisional pending review by a domain scientist.Using provisional parameter set version 3 for protocol f65d786f-f194-4be2-88b8-10d3dd25d674, the fixed parameters were baseline_frames=901, spatial_sigma=1.0, spatial_truncate=4.0, pad_frames=500, rotor_threshold=0.9, rotor_erode_px=3, link_px=4.0, max_gap=5, min_cycles=1.0, pair_dist_px=3.0, paired_frac=0.5, and render_step=4. The recording has 9267 frames in npy format with image size 64 by 55, frame rate 1000 Hz from publication 10.1371/journal.pcbi.1011660 with DAQ consistency, and pixel size 133 µm from the same publication. The analysed window was frames 500 to 8767, with provisional segment definitions and criteria: illuminated_arrhythmia frames 0 to 3170, illuminated_after_termination frames 3170 to 4977, and light_off frames 4977 to 9267.
Statusdone
Stagedone
Heartbeat–
Log2 entries