M13Rec001, run 339921d8
Status done, stage done; requested by [not recorded]; worker local worker; started 2026-10-28 18:40 UTC, finished 2026-10-28 18:48 UTC, 464 s; signature 9b40a32d
Stages
| Stage | Started | Seconds |
|---|---|---|
| claimed | 18:39:59 | 0.1 |
| pipeline_check | 18:39:59 | 42.5 |
| baseline_rule | 18:40:42 | 0.5 |
| deposit_checks | 18:40:42 | 0.3 |
| analysis | 18:40:42 | 17.3 |
| render | 18:41:00 | 396.8 |
| persist | 18:47:36 | 0.9 |
| critic | 18:47:37 | 48.3 |
| done | 18:48:26 | 0.2 |
Log
| Time | Agent | Action | Detail |
|---|---|---|---|
| 18:40:42 | runs | run started | {"checked_by": "openai:gpt-5.5", "protocol_params_version": 3, "recording_id": "55cb4aa3-6502-45a6-a14c-85cb676fe8c3", "run_id": "339921d8-9255-4d78-9789-6816dd8b409c"} |
| 18:47:38 | runs | signature written | {"criteria": "provisional", "holds": {"persistent_rotors": true, "persistent_rotors_fraction_superseded": false, "singularities": true}, "run_id": "339921d8-9255-4d78-9789-6816dd8b409c", "signature_id": "9b40a32d-d6e2-4d0d-9976-9137ed881bea"} |
Entries from the audit log for this run; new rows and stage changes arrive by realtime while the run is open (connecting).
Pipeline check
Proceed: True; parameters v3.
| Field | Protocol | Recording | Severity | Detail |
|---|---|---|---|---|
| no mismatches | ||||
| Anomaly | Severity | Effect on the Fixed Pipeline |
|---|---|---|
| Pre-deposit processing / raw-data label | warn | The deposited movie should not be treated as raw camera counts: documented and measured masking, temporal smoothing, spatial smoothing, and normalization mean that the protocol's Gaussian phase smoothing is added on top of prior filtering of unknown total strength, and analyses depending on raw photon noise or independent pixel noise would be misleading. |
| Event interpretation at frame 3170 | warn | The segment boundary at frame 3170 is a provisional fluorescence step/rhythm-change interpretation, not a directly measured light-on event. The fixed segments can be analysed, but labels involving spiral termination should be read as provisional and not as a direct measurement of illumination onset. |
| Baseline and illumination artifact | info | Blue-light crosstalk, re-normalization to the stimulation light signal, and a large slow signal range/step can affect absolute fluorescence level and amplitude measures. The protocol's high-pass handling can be applied, but amplitude or fluorescence-level interpretations remain confounded by illumination/crosstalk/normalization effects. |
| Baseline-window rule | info | The coded rule passed: baseline_frames 901 is at least 2.0 times the slowest segment cycle from the MAP channel, with slowest_segment illuminated_after_termination, slowest_cycle_frames 415, required_min_frames 830, and ratio 2.171. This is reported as code status only and is not a separate reason to hold the run. |
The recording may be analysed under the fixed Mouse whole heart optical mapping protocol, parameter set version 3, because the available facts match the protocol context: mouse whole heart optical mapping from the Luther-lab public reference recording, with the recording frame rate established as 1000 Hz from the publication and DAQ consistency, and pixel size 133 µm from the publication. No fact mismatch indicates that the fixed frame-count or pixel-based parameters would be wrong for this recording. However, the deposited data are processed rather than raw, the frame-3170 event and segment labels are provisional, and illumination/crosstalk/normalization effects can confound fluorescence-level and amplitude interpretation, so these warnings must accompany any analysis.
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.
| Measurement | Value | Method, 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 coverage | 66.2%, 2332 of 3520 px | depositor NaN mask (frame 0) |
| Polarity | blocks 18, inverted True, blocks agreeing 18, median dvdt skew -4.419912338256836 | sign of median per-pixel skew of dV/dt, baseline-corrected (121 frames) |
| Drift / bleaching | baseline change -1.61, vs beat amplitude -1.12, slow range 3.33, trend, Spearman -0.489 | running 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 processing | negative values, nan mask all frames, temporal smoothing, spatial smoothing | deposit checks |
| Dominant cycle by block, frames | 0–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 |
| Concern | Severity | Detail |
|---|---|---|
| Pre-deposit processing / raw-data label | warn | The 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 3170 | warn | The 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 artifact | warn | The 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 thresholds | info | Event 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. |
| Event | Frame | Source | Method |
|---|---|---|---|
| illumination on | 0 ± 11 | acquisition log | midpoint threshold on DAQ channel 'led_trigger', mapped to frames via camera triggers |
| illumination off | 4977 ± 11 | acquisition log | midpoint threshold on DAQ channel 'led_trigger', mapped to frames via camera triggers |
| baseline step | 3170 ± 17 | image | consensus 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
| Metric | Segment | Value at Run Setting | Cited Range | Status |
|---|---|---|---|---|
| persistent rotor tracks | all | 13 count | none cited | unstable not reportable |
| dominant freq (Hz) | light off | 2.375 Hz | none cited | no cited range |
| persistent rotors | light off | 0 count | none cited | no cited range |
| singularity frames fraction | light off | 0.01214 fraction of frames | none cited | unstable not reportable |
| persistent rotor count max | light off | 0 count | none cited | no cited range |
| dominant freq (Hz) | illuminated arrhythmia | 19.1 Hz | 18.75–20, checked 14.0625–25, 10.1371/journal.pcbi.1011660 | unstable not reportable |
| persistent rotors | illuminated arrhythmia | 13 count | none cited | unstable not reportable |
| dominant freq (Hz) | illuminated after termination | 2.214 Hz | none cited | no cited range |
| singularity frames fraction | illuminated arrhythmia | 0.479 fraction of frames | none cited | no cited range |
| persistent rotors | illuminated after termination | 0 count | none cited | no cited range |
| persistent rotor count max | illuminated arrhythmia | 2 count | none cited | unstable not reportable |
| singularity frames fraction | illuminated after termination | 0.01494 fraction of frames | none cited | unstable not reportable |
| persistent rotor count max | illuminated after termination | 0 count | none cited | no cited range |
Compare with run e21e4827
A: this run, code 008c2dc (uncommitted changes), 9 workers. B: run e21e4827, 2026-10-27 23:37 UTC, code 905d5be (uncommitted changes), 9 workers. 28 stored values differ.
| File | A | B | Same | How |
|---|---|---|---|---|
| frames/voltage | 5dabf0aed0a4 | 5dabf0aed0a4 | yes | recorded sha256 |
| frames/phase | 7be44c8e09b6 | 7be44c8e09b6 | yes | recorded sha256 |
| frames/maps | 9982b72c2c9f | ef9220b79a6c | no | recorded sha256 |
| maps/activation.png | f0433d3a9771 | f0433d3a9771 | yes | sha256 of the stored file |
| maps/dominant_frequency.png | 9004a90ee80c | 9004a90ee80c | yes | sha256 of the stored file |
| movie.mp4 | 6519517 | 6519517 | yes | size in bytes only; frames not compared |
| Stored Value | A | B |
|---|---|---|
| criteria_status.rules | length 20 | length 19 |
| criteria_status.rules[16].description | The pipeline agent's hold/proceed decision from protocol mismatches and inspector anomalies; it chooses no parameter | 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[16].expert | optical mapping analyst | cardiac electrophysiologist per species |
| criteria_status.rules[16].location | worker/agents/pipeline.py (INSTRUCTIONS, validator) | worker/voltage/physiology.py (RANGES, TOLERANCE_FRAC) |
| criteria_status.rules[16].values.anomalies | ['Pre-deposit processing / raw-data label', 'Event interpretation at frame 3170', 'Baseline and illumination artifact', 'Baseline-window rule'] | [absent] |
| criteria_status.rules[16].values.mismatches | [] | [absent] |
| criteria_status.rules[16].values.model | openai:gpt-5.5 | [absent] |
| criteria_status.rules[16].values.proceed | True | [absent] |
| criteria_status.rules[16].values.ranges | [absent] | ['mouse_spiral_rotation_hz'] |
| criteria_status.rules[16].values.segment_rhythm_rule | [absent] | expected persistent rotors 'present' -> spiral arrhythmia |
| criteria_status.rules[16].values.tolerance_frac | [absent] | 0.25 |
| criteria_status.rules[17].description | 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 | A 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[17].expert | cardiac electrophysiologist per species | biostatistician + optical mapping analyst |
| criteria_status.rules[17].location | worker/voltage/physiology.py (RANGES, TOLERANCE_FRAC) | worker/agents/critic.py (STABLE_FRAC, stability) |
| criteria_status.rules[17].values.ranges | ['mouse_spiral_rotation_hz'] | [absent] |
| criteria_status.rules[17].values.segment_rhythm_rule | expected persistent rotors 'present' -> spiral arrhythmia | [absent] |
| criteria_status.rules[17].values.stable_frac | [absent] | 0.25 |
| criteria_status.rules[17].values.tolerance_frac | 0.25 | [absent] |
| criteria_status.rules[17].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'] |
| criteria_status.rules[18].description | A 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' | The 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 flagged |
| criteria_status.rules[18].expert | biostatistician + optical mapping analyst | computational cardiac electrophysiologist (phase mapping) |
| criteria_status.rules[18].location | worker/agents/critic.py (STABLE_FRAC, stability) | worker/agents/critic.py (persistence_variants) |
| criteria_status.rules[18].values.measured_cycle | [absent] | 52 |
| criteria_status.rules[18].values.paper_rotation | [absent] | 50 |
| criteria_status.rules[18].values.stable_frac | 0.25 | [absent] |
| criteria_status.rules[18].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] |
| pipeline.check | {'model': 'openai:gpt-5.5', 'proceed': True, 'anomalies': [{'topic': 'Pre-deposit processing / raw-data label', 'severity': 'warn', 'effect_on_analysis': "The deposited movie should not be treated as raw camera counts: documented and measured masking, temporal smoothing, spatial smoothing, and normalization mean that the protocol's Gaussian phase smoothing is added on top of prior filtering of unknown total strength, and analyses depending on raw photon noise or independent pixel noise would be misleading."}, {'topic': 'Event interpretation at frame 3170', 'severity': 'warn', 'effect_on_analysis': 'The segment boundary at frame 3170 is a provisional fluorescence step/rhythm-change interpretation, not a directly measured light-on event. The fixed segments can be analysed, but labels involving spiral termination should be read as provisional and not as a direct measurement of illumination onset.'}, {'topic': 'Baseline and illumination artifact', 'severity': 'info', 'effect_on_analysis': "Blue-light crosstalk, re-normalization to the stimulation light signal, and a large slow signal range/step can affect absolute fluorescence level and amplitude measures. The protocol's high-pass handling can be applied, but amplitude or fluorescence-level interpretations remain confounded by illumination/crosstalk/normalization effects."}, {'topic': 'Baseline-window rule', 'severity': 'info', 'effect_on_analysis': 'The coded rule passed: baseline_frames 901 is at least 2.0 times the slowest segment cycle from the MAP channel, with slowest_segment illuminated_after_termination, slowest_cycle_frames 415, required_min_frames 830, and ratio 2.171. This is reported as code status only and is not a separate reason to hold the run.'}], 'rationale': 'The recording may be analysed under the fixed Mouse whole heart optical mapping protocol, parameter set version 3, because the available facts match the protocol context: mouse whole heart optical mapping from the Luther-lab public reference recording, with the recording frame rate established as 1000 Hz from the publication and DAQ consistency, and pixel size 133 µm from the publication. No fact mismatch indicates that the fixed frame-count or pixel-based parameters would be wrong for this recording. However, the deposited data are processed rather than raw, the frame-3170 event and segment labels are provisional, and illumination/crosstalk/normalization effects can confound fluorescence-level and amplitude interpretation, so these warnings must accompany any analysis.', 'mismatches': [], 'hold_reason': None, 'protocol_id': 'f65d786f-f194-4be2-88b8-10d3dd25d674', 'methods_text': 'For recording 55cb4aa3-6502-45a6-a14c-85cb676fe8c3 under protocol f65d786f-f194-4be2-88b8-10d3dd25d674, the provisional parameter set version 3 is used with 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 frame rate is 1000 Hz from the publication, with DAQ consistency noted, and the pixel size is 133 µm from the publication. The recording has 9267 frames in a 64 by 55 npy movie; the analysed window is frames 500 to 8767. The provisional segment definitions are illuminated_arrhythmia from frames 0 to 3170, illuminated_after_termination from frames 3170 to 4977, and light_off from frames 4977 to 9267; the parameter set, the segment definitions and the criteria are provisional.', 'params_version': 3, 'prompt_version': 'pipeline-v2'} | None |
| methods_text | For recording 55cb4aa3-6502-45a6-a14c-85cb676fe8c3 under protocol f65d786f-f194-4be2-88b8-10d3dd25d674, the provisional parameter set version 3 is used with 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 frame rate is 1000 Hz from the publication, with DAQ consistency noted, and the pixel size is 133 µm from the publication. The recording has 9267 frames in a 64 by 55 npy movie; the analysed window is frames 500 to 8767. The provisional segment definitions are illuminated_arrhythmia from frames 0 to 3170, illuminated_after_termination from frames 3170 to 4977, and light_off from frames 4977 to 9267; the parameter set, the segment definitions and the criteria are provisional. | Recording 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. |