feat: add comparable localization algorithms

This commit is contained in:
2026-08-28 20:20:57 +09:00
parent 7fe846fbf9
commit d58f673402
20 changed files with 2104 additions and 68 deletions
+2 -1
View File
@@ -42,7 +42,8 @@
"type": "object", "additionalProperties": false,
"required": ["algorithm", "backend", "minimumDistance", "normalization", "dynamicRangeDb"],
"properties": {
"algorithm": { "const": "das" }, "backend": { "enum": ["auto", "cpu", "webgpu"] },
"algorithm": { "enum": ["das", "das-phat", "gcc-phat"] },
"backend": { "enum": ["auto", "cpu", "webgpu"] },
"minimumDistance": { "type": "number", "exclusiveMinimum": 0, "maximum": 10 },
"normalization": { "enum": ["peak", "none"] },
"dynamicRangeDb": { "type": "number", "minimum": 6, "maximum": 120 },
+9 -2
View File
@@ -15,6 +15,7 @@
"arrayId": { "type": "string", "minLength": 1 },
"sceneId": { "type": "string", "minLength": 1 },
"createdAt": { "type": "string", "format": "date-time" },
"algorithm": { "enum": ["das", "das-phat", "gcc-phat"] },
"backend": { "enum": ["cpu", "webgpu"] },
"inputHash": { "type": "string", "pattern": "^[a-f0-9]{64}$" },
"signalStats": {
@@ -43,6 +44,7 @@
"properties": {
"total": { "type": "number", "minimum": 0 },
"signalGeneration": { "type": "number", "minimum": 0 },
"localization": { "type": "number", "minimum": 0 },
"beamforming": { "type": "number", "minimum": 0 }
}
},
@@ -64,7 +66,7 @@
"properties": {
"rows": { "type": "integer", "minimum": 1, "maximum": 512 },
"columns": { "type": "integer", "minimum": 1, "maximum": 512 },
"scale": { "enum": ["power", "normalized", "db"] },
"scale": { "enum": ["power", "score", "normalized", "db"] },
"values": {
"type": "array", "minItems": 1, "maxItems": 262144,
"items": { "type": "number" }
@@ -91,7 +93,12 @@
],
"properties": {
"calibrated": { "const": false },
"method": { "const": "connected-half-power-power-weighted-covariance" },
"method": {
"enum": [
"connected-half-power-power-weighted-covariance",
"connected-half-maximum-score-weighted-covariance"
]
},
"halfPowerRatio": { "type": "number", "exclusiveMinimum": 0, "maximum": 1 },
"thresholdValue": { "type": "number", "minimum": 0 },
"pixelCount": { "type": "integer", "minimum": 0, "maximum": 262144 },