{ "$schema": "https://json-schema.org/draft/2020-12/schema", "$id": "https://paperspec.scient.ing/schemas/digitization.schema.json", "title": "Digitization", "description": "scienting-digitization/1: how values were read off a figure panel; spec/16-digitization.md.", "type": "object", "properties": { "format": { "const": "scienting-digitization/1" }, "id": { "$ref": "common.schema.json#/$defs/recordId" }, "doc": { "$ref": "common.schema.json#/$defs/qualifiedKey" }, "target": { "type": "object", "properties": { "anchor": { "$ref": "anchor.schema.json" }, "page_fp": { "$ref": "common.schema.json#/$defs/hash" }, "region": { "$ref": "common.schema.json#/$defs/box" }, "witness": { "$ref": "common.schema.json#/$defs/hash" }, "image": { "$ref": "common.schema.json#/$defs/hash" } }, "required": [ "anchor", "region" ], "additionalProperties": false, "oneOf": [ { "required": [ "page_fp", "witness" ], "not": { "required": [ "image" ] } }, { "required": [ "image" ], "not": { "required": [ "page_fp" ] } } ] }, "axes": { "type": "array", "items": { "type": "object", "properties": { "id": { "enum": [ "x", "y", "y2", "x2" ] }, "scale": { "enum": [ "linear", "log", "reciprocal", "date" ] }, "unit": { "type": "string", "minLength": 1 }, "calibration": { "type": "array", "items": { "type": "object", "properties": { "at": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "value": { "type": "string", "minLength": 1 } }, "required": [ "at", "value" ], "additionalProperties": false }, "minItems": 2 }, "check": { "type": "object", "properties": { "at": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "value": { "type": "string", "minLength": 1 } }, "required": [ "at", "value" ], "additionalProperties": false }, "label": { "type": "object", "properties": { "panel": { "$ref": "common.schema.json#/$defs/nodeId" }, "figure_text": { "$ref": "common.schema.json#/$defs/nodeId" } }, "required": [ "panel", "figure_text" ], "additionalProperties": false } }, "required": [ "id", "scale", "calibration" ], "additionalProperties": false }, "minItems": 1 }, "series": { "type": "array", "items": { "type": "object", "properties": { "id": { "$ref": "common.schema.json#/$defs/key" }, "legend": { "type": "string", "minLength": 1 }, "mark": { "type": "object", "properties": { "color": { "type": "string", "pattern": "^#[0-9a-f]{6}$" }, "marker": { "type": "string", "minLength": 1 }, "line": { "type": "string", "minLength": 1 } }, "required": [], "additionalProperties": false }, "kind": { "enum": [ "points", "line", "bars", "error-bars", "region" ] }, "values": { "type": "array", "items": { "type": "object", "properties": { "at": { "type": "array", "items": { "type": "number" }, "minItems": 2, "maxItems": 2 }, "value": { "type": "object", "properties": { "x": { "$ref": "common.schema.json#/$defs/decimal" }, "y": { "$ref": "common.schema.json#/$defs/decimal" } }, "required": [ "x", "y" ], "additionalProperties": false }, "uncertainty": { "type": "object", "properties": { "x": { "$ref": "common.schema.json#/$defs/decimal" }, "y": { "$ref": "common.schema.json#/$defs/decimal" }, "resolution": { "$ref": "common.schema.json#/$defs/decimal" }, "marker": { "$ref": "common.schema.json#/$defs/decimal" }, "calibration": { "$ref": "common.schema.json#/$defs/decimal" } }, "required": [ "x", "y" ], "additionalProperties": false } }, "required": [ "at", "value", "uncertainty" ], "additionalProperties": false }, "minItems": 1 } }, "required": [ "id", "kind", "values" ], "additionalProperties": false }, "minItems": 1 }, "method": { "type": "object", "properties": { "kind": { "enum": [ "manual", "traced", "proposed" ] }, "tool": { "type": "object", "properties": { "name": { "type": "string", "minLength": 1 }, "version": { "type": "string", "minLength": 1 } }, "required": [ "name", "version" ], "additionalProperties": false }, "model": { "type": "string", "minLength": 1 } }, "required": [ "kind", "tool" ], "additionalProperties": false }, "verification": { "type": "object", "properties": { "image": { "$ref": "common.schema.json#/$defs/hash" }, "residual": { "$ref": "common.schema.json#/$defs/decimal" }, "max_residual": { "$ref": "common.schema.json#/$defs/decimal" } }, "required": [ "image", "residual", "max_residual" ], "additionalProperties": false }, "confirmation": { "anyOf": [ { "$ref": "common.schema.json#/$defs/recordId" }, { "type": "null" } ] }, "dataset": { "$ref": "common.schema.json#/$defs/datasetId" }, "rev": { "type": "integer", "minimum": 0 } }, "required": [ "format", "id", "doc", "target", "axes", "series", "method", "verification", "confirmation", "rev" ], "additionalProperties": false }