File size: 4,672 Bytes
f918b86
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
{
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "$id": "https://huggingface.co/spaces/SharpMeow/unroll/resolve/main/docs/bench-bundle.schema.json",
 "title": "Unroll Ink Bench bundle, unroll-inkbench/1",
 "description": "An ink prediction compared with a reference ink layer on one segment, with alignment, agreement metrics, input hashes and letter candidates for expert review. SPDX-License-Identifier: Apache-2.0",
 "type": "object",
 "required": ["schema", "scroll", "segment", "reference", "prediction", "alignment", "metrics", "annotations", "disclaimer"],
 "properties": {
  "schema": { "type": "string", "pattern": "^unroll-inkbench/1(\\.[0-9]+)?$" },
  "tool": { "type": "object", "properties": { "name": { "type": "string" }, "version": { "type": "string" }, "impl": { "type": "string" } } },
  "created": { "type": "string", "description": "UTC, ISO 8601" },
  "scroll": { "type": "string", "examples": ["PHerc0139"] },
  "segment": { "type": "string", "examples": ["w046"] },
  "reference": {
   "type": "object", "required": ["layer", "sha256", "width", "height"],
   "properties": {
    "layer": { "type": "string" }, "label": { "type": "string" }, "file": { "type": "string" },
    "sha256": { "$ref": "#/$defs/sha256" }, "width": { "type": "integer", "minimum": 1 }, "height": { "type": "integer", "minimum": 1 },
    "pxPerMM": { "type": "number", "exclusiveMinimum": 0 }, "alignTargetFile": { "type": "string" }, "alignTargetSha256": { "$ref": "#/$defs/sha256" }
   }
  },
  "prediction": {
   "type": "object", "required": ["sha256", "model"],
   "properties": {
    "name": { "type": "string" }, "sha256": { "$ref": "#/$defs/sha256" },
    "format": { "enum": ["png", "tiff", "array"] }, "width": { "type": "integer" }, "height": { "type": "integer" },
    "normalization": { "type": "string", "description": "max255, max65535, max4294967295, label (0/1 values kept), minmax (float), none (array)" },
    "invert": { "type": "boolean" },
    "model": { "type": "object", "required": ["name"], "properties": { "name": { "type": "string" }, "url": { "type": "string" }, "version": { "type": "string" }, "notes": { "type": "string" } } }
   }
  },
  "alignment": {
   "type": "object", "required": ["method", "tx", "ty", "sx", "sy"],
   "properties": {
    "method": { "enum": ["auto", "manual", "auto+manual", "shared", "reused"] },
    "target": { "enum": ["ink", "ct"] },
    "tx": { "type": "number" }, "ty": { "type": "number" },
    "sx": { "type": "number", "minimum": 0.3, "maximum": 3 }, "sy": { "type": "number", "minimum": 0.3, "maximum": 3 },
    "ncc": { "type": ["number", "null"] }, "coarseNcc": { "type": ["number", "null"] }, "evals": { "type": "integer" }, "model": { "type": "string" }
   }
  },
  "metrics": {
   "type": "object", "required": ["pearson", "iou", "dice", "thresholds", "pr"],
   "properties": {
    "nValid": { "type": "integer" }, "validFraction": { "type": "number" },
    "pearson": { "type": "number", "minimum": -1, "maximum": 1 },
    "pearsonMatchedBlur": { "type": "number" }, "blurSigmaPx": { "type": "number" }, "blurSigmaUM": { "type": ["number", "null"] },
    "thresholds": { "type": "object", "required": ["ref", "pred"], "properties": { "ref": { "type": "number" }, "pred": { "type": "number" } } },
    "iou": { "type": "number", "minimum": 0, "maximum": 1 }, "dice": { "type": "number", "minimum": 0, "maximum": 1 },
    "precision": { "type": "number" }, "recall": { "type": "number" },
    "refPositiveFraction": { "type": "number" }, "predPositiveFraction": { "type": "number" },
    "ap": { "type": "number" },
    "bestF1": { "type": "object", "properties": { "f1": { "type": "number" }, "threshold": { "type": "number" } } },
    "pr": { "type": "array", "items": { "type": "object", "required": ["t", "precision", "recall"], "properties": { "t": { "type": "number" }, "precision": { "type": "number" }, "recall": { "type": "number" } } } }
   }
  },
  "annotations": {
   "type": "array",
   "items": {
    "type": "object", "required": ["x", "y", "w", "h", "letter", "confidence", "status"],
    "properties": {
     "id": { "type": "string" }, "x": { "type": "number" }, "y": { "type": "number" }, "w": { "type": "number" }, "h": { "type": "number" },
     "letter": { "type": "string", "description": "One capital Greek letter, or ? for unsure" },
     "confidence": { "type": "number", "minimum": 0, "maximum": 1 },
     "note": { "type": "string" },
     "status": { "const": "candidate for expert review" }
    }
   }
  },
  "credits": { "type": "object" },
  "disclaimer": { "type": "string" }
 },
 "$defs": { "sha256": { "type": "string", "pattern": "^[0-9a-f]{64}$" } }
}