{
 "top": [
  {
   "scientific_name": "Halichoeres hortulanus",
   "common_name": "Checkerboard wrasse",
   "family": "Labridae",
   "prob": 0.9863,
   "prob_geo": 1.0,
   "crop_votes": 0.9844
  },
  {
   "scientific_name": "Chaetodon trifascialis",
   "common_name": "Chevron butterflyfish",
   "family": "Chaetodontidae",
   "prob": 0.0069,
   "prob_geo": 0.0,
   "crop_votes": 0.0156
  },
  {
   "scientific_name": "Bodianus anthioides",
   "common_name": "Lyretail hogfish",
   "family": "Labridae",
   "prob": 0.0021,
   "prob_geo": 0.0,
   "crop_votes": 0.0
  },
  {
   "scientific_name": "Chaetodon melannotus",
   "common_name": "Blackback butterflyfish",
   "family": "Chaetodontidae",
   "prob": 0.0009,
   "prob_geo": 0.0,
   "crop_votes": 0.0
  },
  {
   "scientific_name": "Chaetodon auriga",
   "common_name": "Threadfin butterflyfish",
   "family": "Chaetodontidae",
   "prob": 0.0008,
   "prob_geo": 0.0,
   "crop_votes": 0.0
  }
 ],
 "family": [
  {
   "name": "Labridae",
   "prob": 0.9891
  },
  {
   "name": "Chaetodontidae",
   "prob": 0.0096
  },
  {
   "name": "Pomacentridae",
   "prob": 0.0007
  },
  {
   "name": "Sparidae",
   "prob": 0.0002
  },
  {
   "name": "Lethrinidae",
   "prob": 0.0001
  }
 ],
 "genus": [
  {
   "name": "Halichoeres",
   "prob": 0.9864
  },
  {
   "name": "Chaetodon",
   "prob": 0.0096
  },
  {
   "name": "Bodianus",
   "prob": 0.0025
  },
  {
   "name": "Chromis",
   "prob": 0.0007
  },
  {
   "name": "Acanthopagrus",
   "prob": 0.0002
  }
 ],
 "agreement": 0.9844,
 "confidence": "high",
 "n_crops": 64,
 "model": "bioclip-2.5 (hf-hub:imageomics/bioclip-2.5-vith14, open_clip, zero-shot)",
 "label_set": "redsea_fish_species.csv (332 Red Sea species)",
 "crop_top1_votes": {
  "Halichoeres hortulanus": 63,
  "Chaetodon trifascialis": 1
 },
 "open_set": {
  "n_species": 23272,
  "top": [
   {
    "scientific_name": "Halichoeres hortulanus",
    "common_name": "Checkerboard wrasse",
    "family": "Labridae",
    "prob": 0.9166,
    "in_label_set": true
   },
   {
    "scientific_name": "Halichoeres vrolikii",
    "common_name": "Indian ocean pinstriped wrasse",
    "family": "Labridae",
    "prob": 0.0139,
    "in_label_set": false
   },
   {
    "scientific_name": "Halichoeres argus",
    "common_name": "Argus wrasse",
    "family": "Labridae",
    "prob": 0.0111,
    "in_label_set": false
   },
   {
    "scientific_name": "Siganus doliatus",
    "common_name": "Barred spinefoot",
    "family": "Siganidae",
    "prob": 0.0086,
    "in_label_set": false
   },
   {
    "scientific_name": "Anampses elegans",
    "common_name": "Elegant wrasse",
    "family": "Labridae",
    "prob": 0.0071,
    "in_label_set": false
   }
  ],
  "family": [
   {
    "name": "Labridae",
    "prob": 0.9765
   },
   {
    "name": "Siganidae",
    "prob": 0.0089
   },
   {
    "name": "Chaetodontidae",
    "prob": 0.0077
   },
   {
    "name": "Lethrinidae",
    "prob": 0.0026
   },
   {
    "name": "Pomacentridae",
    "prob": 0.0023
   }
  ],
  "label_top1_global_rank": 1,
  "label_set_mass": 0.9192
 },
 "label": "Halichoeres hortulanus (Checkerboard wrasse) 99% - high",
 "settings": {
  "prompt": "ens",
  "view": [
   "unmasked"
  ],
  "wb": false,
  "temperature": 1.0,
  "soft_alpha": true,
  "logit_scale": 98.875,
  "aggregation": "arithmetic mean over crops of the per-crop softmax (linear opinion pool, per-crop temperature); prob_geo = renormalised geometric mean (reference only, overconfident for correlated crops)",
  "confidence_rule": "high: p1>=0.8 & agreement>=0.8; medium: (p1>=0.4 & agreement>=0.5) or (genus p>=0.7 & agreement>=0.5); else low (p = arithmetic mean of the per-crop softmax); one level down if the open-set check prefers another genus outside the label set (label-set mass < 0.5)"
 },
 "source": {
  "kind": "fish",
  "name": "w58_fish11",
  "dir": "D:\\devel\\fish-reconstructor\\work\\w58\\fish\\w58_fish11",
  "track_ids": null,
  "n_available": 311,
  "frames": [
   317,
   326,
   328,
   387,
   388,
   397,
   399,
   401,
   409,
   411,
   413,
   470,
   476,
   477,
   1368,
   1370,
   1372,
   1374,
   1376,
   1377,
   1379,
   1381,
   1383,
   1387,
   1394,
   1395,
   1397,
   1410,
   1412,
   1413,
   1416,
   1418,
   1419,
   1421,
   1423,
   1425,
   1429,
   1431,
   1432,
   1434,
   2548,
   2736,
   4339,
   4340,
   4343,
   4345,
   4353,
   4360,
   4361,
   4363,
   4366,
   4368,
   4369,
   4371,
   4937,
   4939,
   4940,
   4972,
   4973,
   4982,
   4984,
   4988,
   4990,
   4992
  ]
 },
 "created": "2026-11-10 07:57:33"
}