{
 "top": [
  {
   "scientific_name": "Halichoeres hortulanus",
   "common_name": "Checkerboard wrasse",
   "family": "Labridae",
   "prob": 0.9912,
   "prob_geo": 0.9996,
   "crop_votes": 1.0
  },
  {
   "scientific_name": "Coris aygula",
   "common_name": "Clown coris",
   "family": "Labridae",
   "prob": 0.0056,
   "prob_geo": 0.0001,
   "crop_votes": 0.0
  },
  {
   "scientific_name": "Halichoeres marginatus",
   "common_name": "Dusky wrasse",
   "family": "Labridae",
   "prob": 0.0026,
   "prob_geo": 0.0002,
   "crop_votes": 0.0
  },
  {
   "scientific_name": "Macropharyngodon bipartitus",
   "common_name": "Vermiculate wrasse",
   "family": "Labridae",
   "prob": 0.0003,
   "prob_geo": 0.0,
   "crop_votes": 0.0
  },
  {
   "scientific_name": "Hemigymnus sexfasciatus",
   "common_name": "Sixbar thicklip wrasse",
   "family": "Labridae",
   "prob": 0.0001,
   "prob_geo": 0.0,
   "crop_votes": 0.0
  }
 ],
 "family": [
  {
   "name": "Labridae",
   "prob": 1.0
  },
  {
   "name": "Serranidae",
   "prob": 0.0
  },
  {
   "name": "Pseudochromidae",
   "prob": 0.0
  },
  {
   "name": "Lutjanidae",
   "prob": 0.0
  },
  {
   "name": "Lethrinidae",
   "prob": 0.0
  }
 ],
 "genus": [
  {
   "name": "Halichoeres",
   "prob": 0.9938
  },
  {
   "name": "Coris",
   "prob": 0.0056
  },
  {
   "name": "Macropharyngodon",
   "prob": 0.0003
  },
  {
   "name": "Hemigymnus",
   "prob": 0.0001
  },
  {
   "name": "Cephalopholis",
   "prob": 0.0
  }
 ],
 "agreement": 1.0,
 "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": 64
 },
 "open_set": {
  "n_species": 23272,
  "top": [
   {
    "scientific_name": "Halichoeres hortulanus",
    "common_name": "Checkerboard wrasse",
    "family": "Labridae",
    "prob": 0.9291,
    "in_label_set": true
   },
   {
    "scientific_name": "Halichoeres dimidiatus",
    "common_name": "",
    "family": "Labridae",
    "prob": 0.0424,
    "in_label_set": false
   },
   {
    "scientific_name": "Coris aygula",
    "common_name": "Clown coris",
    "family": "Labridae",
    "prob": 0.0057,
    "in_label_set": true
   },
   {
    "scientific_name": "Halichoeres vrolikii",
    "common_name": "Indian ocean pinstriped wrasse",
    "family": "Labridae",
    "prob": 0.0029,
    "in_label_set": false
   },
   {
    "scientific_name": "Macropharyngodon geoffroy",
    "common_name": "Shortnose wrasse",
    "family": "Labridae",
    "prob": 0.0028,
    "in_label_set": false
   }
  ],
  "family": [
   {
    "name": "Labridae",
    "prob": 1.0
   },
   {
    "name": "Scaridae",
    "prob": 0.0
   },
   {
    "name": "Pomacentridae",
    "prob": 0.0
   },
   {
    "name": "Cirrhitidae",
    "prob": 0.0
   },
   {
    "name": "Chaetodontidae",
    "prob": 0.0
   }
  ],
  "label_top1_global_rank": 1,
  "label_set_mass": 0.936
 },
 "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": "w02_fish2",
  "dir": "D:\\devel\\fish-reconstructor\\work\\w02\\fish\\w02_fish2",
  "track_ids": null,
  "n_available": 614,
  "frames": [
   218,
   222,
   227,
   321,
   328,
   436,
   440,
   586,
   588,
   601,
   609,
   637,
   672,
   675,
   680,
   683,
   699,
   700,
   1066,
   1067,
   1084,
   1085,
   1090,
   1414,
   1494,
   1502,
   1503,
   1580,
   1585,
   1700,
   1702,
   1706,
   2173,
   2175,
   2191,
   2196,
   2206,
   2836,
   2843,
   2881,
   2887,
   2888,
   2895,
   2902,
   2903,
   2909,
   2929,
   2930,
   2934,
   2938,
   2943,
   3135,
   3256,
   3257,
   3265,
   3275,
   3280,
   3282,
   3307,
   3310,
   3315,
   3379,
   4579,
   4582
  ]
 },
 "created": "2026-11-10 07:55:55"
}