{
  "acceptance": {
    "burn_held_out_score_reported": false,
    "headline_performance_claim_authorized": false,
    "no_fire_score_reported": true,
    "real_radiometric_tiffs_replayed": true,
    "status": "diagnostic only; public source is a single-burn subset"
  },
  "alert_count": 77302,
  "dataset": {
    "access_url": "https://www.kaggle.com/datasets/brycehopkins/flame-3-computer-vision-subset-sycan-marsh",
    "archive_sha256": "91541a8d394f3af5bf37d1691516702dfeb22bf4a55967ae5706887b2e2dea93",
    "data_card_collection_window": "2023-10-25 to 2023-10-27",
    "dataset_export_record_checksum_sha256": "5283d140c3966b594d77a1f98b71da1986a0e915fbb061c992c2f80e28cb4c26",
    "doi": "10.21227/w0mz-aq48",
    "license": "Public Kaggle CV subset, version 1; Kaggle data card labels the subset MIT.",
    "name": "FLAME 3 Computer Vision Subset (Sycan Marsh)",
    "observed_thermal_jpeg_exif_days": [
      "2022-10-25",
      "2022-10-26",
      "2022-10-27"
    ],
    "provenance_manifest_checksum_sha256": "cd768f214bbe4a3f713cc6b6297bc48650b1a664f1621ca42edd8daff33ad5c9",
    "version": "Kaggle dataset version 1 (2024-05-21)"
  },
  "detector": {
    "implementation": "telescope_explorer/src/rfs_pipeline/detector.py",
    "implementation_sha256": "bb885e41d84dec11ec8f5fee4a981ea510666878eaf5b8a7a7d564c61bfc85e3",
    "profile": {
      "association_radius_px": 3.0303030303030303,
      "background_exclusion_dilation_px": 1,
      "background_method": "median-filter plus component-excluded local ring",
      "connectivity": 8,
      "gsd_m_per_px": 0.0594,
      "high_contrast_k": 10.0,
      "high_persistence_frames": 3,
      "local_background_window_px": 9,
      "max_component_diameter_px": 4.02020202020202,
      "max_interframe_motion_m": 0.18,
      "max_target_diameter_m": 0.12,
      "medium_contrast_k": 5.0,
      "min_contrast_k": 2.0,
      "min_persistence_frames": 2,
      "profile": "compact-hot-v1",
      "psf_spread_allowance_px": 2.0,
      "required_data_source": "radiometric",
      "requires_current_calibration": true,
      "source_units": "kelvin"
    }
  },
  "failed_frame_ids": {
    "false_negative": [
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--00334",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--00499",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--00531",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--00232"
    ],
    "false_positive": [
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00001",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00002",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00003",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00004",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00005",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00006",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00007",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00008",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00010",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00011",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00012",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00013",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00014",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00017",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00018",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00019",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00021",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00022",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00023",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00024",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00026",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00027",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00028",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00029",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00030",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00031",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00032",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00033",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00034",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00035",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00036",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00037",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00038",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00040",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00043",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00044",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00045",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00046",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00047",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00048",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00050",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00051",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00052",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00053",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00054",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00055",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00056",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00057",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00058",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00059",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00060",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00061",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00062",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00063",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00066",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00068",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00069",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00070",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00071",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00072",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00073",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00074",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00075",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00076",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00077",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00079",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00080",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00081",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00082",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00083",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00084",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00085",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00086",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00087",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00088",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00089",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00090",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00092",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00094",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00095",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00096",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00097",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00098",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00099",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00100",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00101",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00102",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00103",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00104",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00105",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00106",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00107",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00108",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00109",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00111",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00112",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00113",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00114",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00115",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--00116",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00015",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00025",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00041",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00064",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00065",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00078",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00091",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--00093"
    ]
  },
  "failed_sequence_ids": {
    "false_negative": [
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-002",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-004",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-006",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-002"
    ],
    "false_positive": [
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--sequence-001",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--sequence-002",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--sequence-003",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--sequence-001"
    ]
  },
  "false_positive_rates": {
    "false_positives_per_evaluated_frame": 0.14634146341463414,
    "false_positives_per_evaluated_sequence": 0.15384615384615385,
    "false_positives_per_no_fire_frame": 0.9310344827586207,
    "false_positives_per_no_fire_sequence": 1.0
  },
  "frame_metrics": {
    "f1": 0.916913946587537,
    "false_negative": 4,
    "false_positive": 108,
    "precision": 0.8512396694214877,
    "recall": 0.9935691318327974,
    "specificity": 0.06896551724137931,
    "total": 738,
    "true_negative": 8,
    "true_positive": 618
  },
  "limitations": [
    "The public Kaggle CV source is one Sycan Marsh prescribed burn; the full six-burn FLAME 3 source is available only on request, so this run is not burn-held-out.",
    "The published Celsius TIFF calibration is consumed as supplied and has not been independently verified.",
    "Fire/no-fire labels are frame-level scene labels, not compact hot-target locations or centimetre-scale EmberScope truth.",
    "The public oblique subset lacks the flight telemetry needed to verify the detector's 5.94 cm GSD and inter-frame motion assumptions.",
    "Sequences are reconstructed from preserved whole-second EXIF timestamps and label continuity; original capture cadence is not independently verified.",
    "Preserved thermal-JPEG EXIF reports 2022-10-25 through 2022-10-27, while the public Kaggle data card describes collection from 2023-10-25 through 2023-10-27; the replay uses the observed EXIF without silently correcting it."
  ],
  "result_checksum_sha256": "9c5c0db93f5759cbc12c2f0a44cdbb8eef32a9836fe93424e20c77dbd39101b7",
  "run_date": "2026-07-30",
  "runner": {
    "implementation": "projects/rural-fire-service-camera/scripts/rfs_flame3_replay_benchmark.py",
    "implementation_sha256": "d3b6263bf90c73b5543d029feb0685699960741100f0fe5aaacdfae20114765f"
  },
  "schema_version": "emberscope-rfs-flame3-replay-benchmark.v1",
  "sequence_metrics": {
    "f1": 0.8181818181818182,
    "false_negative": 4,
    "false_positive": 4,
    "precision": 0.8181818181818182,
    "recall": 0.8181818181818182,
    "specificity": 0.0,
    "total": 26,
    "true_negative": 0,
    "true_positive": 18
  },
  "sequence_results": [
    {
      "alert_count": 1967,
      "frame_count": 16,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "bed95c40f17f30fce92f4758b61631f7549a559fc5ff949db0ce840972677e74",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 16,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-001"
    },
    {
      "alert_count": 0,
      "frame_count": 1,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "406e206711e6c84f6d3c4b299c9ea92f4e108cc6b7b3d65b8326d480ecc512a6",
      "label": "fire",
      "outcome": "false_negative",
      "predicted_positive_frame_count": 0,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-002"
    },
    {
      "alert_count": 2450,
      "frame_count": 33,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "9da345d0430d072abeb83b43c4787de8b8b578e51595bd4f0832a05437c01d00",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 33,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-003"
    },
    {
      "alert_count": 0,
      "frame_count": 1,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "a79bf4823320beac7b07a6b0927fb518198a985df1d84bbbc4c10f5f56806822",
      "label": "fire",
      "outcome": "false_negative",
      "predicted_positive_frame_count": 0,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-004"
    },
    {
      "alert_count": 1714,
      "frame_count": 30,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "2f44553d37d6f30b9a20e3c5914c62d7ebbc9f1294daf84de0dc7fec43bdfd16",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 30,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-005"
    },
    {
      "alert_count": 0,
      "frame_count": 1,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "8a538c004ec8ee73516abd2bd7cf4ecca59e8102f6c2546382241310cb9c0914",
      "label": "fire",
      "outcome": "false_negative",
      "predicted_positive_frame_count": 0,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--fire--sequence-006"
    },
    {
      "alert_count": 1699,
      "frame_count": 19,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "98641b2fba8c7c861a2565edb035c14a05645be0ec5decc466e2ad1d34f4a1b0",
      "label": "no-fire",
      "outcome": "false_positive",
      "predicted_positive_frame_count": 19,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--sequence-001"
    },
    {
      "alert_count": 288,
      "frame_count": 15,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "3f772fec83d8a684d264d85ad8db530f4e526bb6a7e97f5a977cd88c2b9c7c8c",
      "label": "no-fire",
      "outcome": "false_positive",
      "predicted_positive_frame_count": 12,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--sequence-002"
    },
    {
      "alert_count": 3999,
      "frame_count": 74,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "item_ids_sha256": "c25a2bd30be386fb4320102a592b4f0f422a5982c8e47cba50ac23c62b1d490e",
      "label": "no-fire",
      "outcome": "false_positive",
      "predicted_positive_frame_count": 69,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t--no-fire--sequence-003"
    },
    {
      "alert_count": 8017,
      "frame_count": 55,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "8049109b310260207e1988ae668d0233f43bfe2e2e2fb63539ec3be033899b37",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 55,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--fire--sequence-001"
    },
    {
      "alert_count": 430,
      "frame_count": 5,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "751c07ed3208e2e2835f8dac89c60578570aebe7d085b89971bb721441154841",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 5,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--fire--sequence-002"
    },
    {
      "alert_count": 4767,
      "frame_count": 40,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "c4737a732077a0567dd9eb7f69a9d534888137abbc138e79019944c56db5447a",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 40,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--fire--sequence-003"
    },
    {
      "alert_count": 2710,
      "frame_count": 26,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "51fba62f977a0a9071155fa8da619ef5d402b15d2a2ca2e694a32e9b00119c70",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 26,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--fire--sequence-004"
    },
    {
      "alert_count": 3238,
      "frame_count": 34,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "5170852e427add26ad7257021d03e091c3722cc18c32879e88dc749bfb2eb053",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 34,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--fire--sequence-005"
    },
    {
      "alert_count": 1110,
      "frame_count": 16,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "1a2e051794b3e1e4e9696bbdca77b925fc375e2000b5951cc46a9e653f9e969f",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 16,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--fire--sequence-006"
    },
    {
      "alert_count": 888,
      "frame_count": 8,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "item_ids_sha256": "7bcdfeb05d772422d240a09f9715773673cfb06084840b8bd000de4227d9498b",
      "label": "no-fire",
      "outcome": "false_positive",
      "predicted_positive_frame_count": 8,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t--no-fire--sequence-001"
    },
    {
      "alert_count": 2901,
      "frame_count": 16,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "126feb4835348b5fe0260236049d67e9bceb09f723a125b51e229cf13b39cca4",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 16,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-001"
    },
    {
      "alert_count": 0,
      "frame_count": 1,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "09fccbb36d2b04192a4eb54144f0a24862d967f7fdad54ccc96a7fa9e5d4625d",
      "label": "fire",
      "outcome": "false_negative",
      "predicted_positive_frame_count": 0,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-002"
    },
    {
      "alert_count": 3764,
      "frame_count": 29,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "eaa0fd7dac27d40901d56cbe8101a7e7210b304504c75e0239f96c8e532e783d",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 29,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-003"
    },
    {
      "alert_count": 9351,
      "frame_count": 70,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "ad7620824776dad868723d6765b62af860ff524c17430e2fb30ddcfbbe17eb5f",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 70,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-004"
    },
    {
      "alert_count": 5831,
      "frame_count": 32,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "3fb0fcf67d2331ea5e4681c710027015f9a804e8a5098544b105d7ec4ca91cae",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 32,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-005"
    },
    {
      "alert_count": 12837,
      "frame_count": 106,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "7f5cc06c38ef2b742664ad6afa104eb970dfc57984aafc3885a8b8fbfc2d45bf",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 106,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-006"
    },
    {
      "alert_count": 2631,
      "frame_count": 21,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "2e77be8f0297c2a38d9c774348d96c72a38e9e64de1a23dc65df7c18ec20d365",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 21,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-007"
    },
    {
      "alert_count": 1351,
      "frame_count": 20,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "7366479969024fbde40484a7aa9ea0d903c8fa5942734bfc6b0608077ff8226d",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 20,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-008"
    },
    {
      "alert_count": 2557,
      "frame_count": 37,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "3ce56c1736bc4c1f299eadf7445430838ec5494245f38d1fb775f1b7a7f56c21",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 37,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-009"
    },
    {
      "alert_count": 2802,
      "frame_count": 32,
      "group_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t",
      "item_ids_sha256": "b8535daa76fb9bfbb703757849b19478f1e668977f8182ce0b0dea6a0a5488a7",
      "label": "fire",
      "outcome": "true_positive",
      "predicted_positive_frame_count": 32,
      "sequence_id": "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t--fire--sequence-010"
    }
  ],
  "split": {
    "burn_held_out": false,
    "evaluation_burn_ids": [
      "sycan-marsh-prescribed-burn"
    ],
    "evaluation_group_ids": [
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-25--dji-m30t",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-26--dji-m30t",
      "sycan-marsh-prescribed-burn--sycan-marsh-oregon--2022-10-27--dji-m30t"
    ],
    "evaluation_split": "test",
    "grouping_rule": "burn_id/site/day/sensor; day from thermal-JPEG EXIF",
    "max_sequence_gap_seconds": 10.0,
    "no_fire_included": true,
    "non_evaluation_burn_ids": [],
    "non_evaluation_group_ids": [],
    "sequence_rule": "same burn/site/day/sensor group and label; break when adjacent EXIF timestamps differ by more than 10 s",
    "source_timezone": "America/Los_Angeles"
  }
}
