feat: harden end-to-end simulation workflow
This commit is contained in:
@@ -66,7 +66,28 @@
|
||||
"sourceId": { "type": "string", "minLength": 1 },
|
||||
"position": { "$ref": "#/$defs/position" },
|
||||
"value": { "type": "number", "minimum": 0 },
|
||||
"localizationErrorM": { "type": "number", "minimum": 0 }
|
||||
"localizationErrorM": { "type": "number", "minimum": 0 },
|
||||
"localizationErrorPixels": { "type": "number", "minimum": 0 }
|
||||
}
|
||||
},
|
||||
"evaluation": {
|
||||
"type": "object", "additionalProperties": false,
|
||||
"required": [
|
||||
"version", "truthRadiusM", "matchToleranceM", "detectionThresholdRatio",
|
||||
"detectionThresholdValue", "minimumPeakDistanceM", "sidelobeExclusionRadiusM",
|
||||
"halfPowerRatio", "dynamicRangeDb", "maximumDetections"
|
||||
],
|
||||
"properties": {
|
||||
"version": { "const": "1.0.0" },
|
||||
"truthRadiusM": { "type": "number", "minimum": 0 },
|
||||
"matchToleranceM": { "type": "number", "minimum": 0 },
|
||||
"detectionThresholdRatio": { "type": "number", "minimum": 0, "maximum": 1 },
|
||||
"detectionThresholdValue": { "type": "number", "minimum": 0 },
|
||||
"minimumPeakDistanceM": { "type": "number", "minimum": 0 },
|
||||
"sidelobeExclusionRadiusM": { "type": "number", "minimum": 0 },
|
||||
"halfPowerRatio": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
|
||||
"dynamicRangeDb": { "type": "number", "minimum": 0 },
|
||||
"maximumDetections": { "type": "integer", "minimum": 1, "maximum": 128 }
|
||||
}
|
||||
},
|
||||
"processedMap": {
|
||||
@@ -84,6 +105,7 @@
|
||||
"color": { "type": "string", "pattern": "^#[0-9a-fA-F]{6}$" },
|
||||
"rawMap": { "$ref": "#/$defs/map" },
|
||||
"displayMap": { "$ref": "#/$defs/map" },
|
||||
"evaluation": { "$ref": "#/$defs/evaluation" },
|
||||
"processedMaps": { "type": "array", "maxItems": 8, "items": { "$ref": "#/$defs/processedMap" } },
|
||||
"peaks": { "type": "array", "maxItems": 128, "items": { "$ref": "#/$defs/peak" } },
|
||||
"metrics": {
|
||||
@@ -92,7 +114,8 @@
|
||||
"peakToSidelobeDb": { "type": "number" },
|
||||
"energyInsideTruthRatio": { "type": "number", "minimum": 0, "maximum": 1 },
|
||||
"precision": { "type": "number", "minimum": 0, "maximum": 1 },
|
||||
"recall": { "type": "number", "minimum": 0, "maximum": 1 }
|
||||
"recall": { "type": "number", "minimum": 0, "maximum": 1 },
|
||||
"mainLobeWidthM": { "type": "number", "minimum": 0 }
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user