supervision 0.1.3 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.d.ts +16 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1587 -177
- package/dist/index.js.map +1 -1
- package/dist/mask-preparation.worker.js +110 -68
- package/dist/mask-preparation.worker.js.map +1 -1
- package/dist/post-processing/default-tracking-worker.d.ts +3 -0
- package/dist/post-processing/default-tracking-worker.d.ts.map +1 -0
- package/dist/post-processing/detection-post-processing-pipeline.d.ts +7 -0
- package/dist/post-processing/detection-post-processing-pipeline.d.ts.map +1 -0
- package/dist/post-processing/embedded-tracking-worker.d.ts +2 -0
- package/dist/post-processing/embedded-tracking-worker.d.ts.map +1 -0
- package/dist/post-processing/tracking-worker-protocol.d.ts +29 -0
- package/dist/post-processing/tracking-worker-protocol.d.ts.map +1 -0
- package/dist/post-processing/tracking.worker.d.ts +2 -0
- package/dist/post-processing/tracking.worker.d.ts.map +1 -0
- package/dist/render-preparation/mask-frame-artifact.d.ts +6 -0
- package/dist/render-preparation/mask-frame-artifact.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-compositor.d.ts +1 -0
- package/dist/render-preparation/mask-frame-compositor.d.ts.map +1 -1
- package/dist/render-preparation/mask-frame-preparer.d.ts.map +1 -1
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts +1 -0
- package/dist/render-preparation/mask-preparation-worker-protocol.d.ts.map +1 -1
- package/dist/renderers/annotation-shape-styles.d.ts +17 -0
- package/dist/renderers/annotation-shape-styles.d.ts.map +1 -0
- package/dist/renderers/media-renderer-core.d.ts.map +1 -1
- package/dist/renderers/media-renderer-scene.d.ts +17 -2
- package/dist/renderers/media-renderer-scene.d.ts.map +1 -1
- package/dist/renderers/pixi-annotation-overlay-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-focus-layer.d.ts +1 -0
- package/dist/renderers/pixi-focus-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-layer.d.ts +2 -0
- package/dist/renderers/pixi-interaction-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts +2 -1
- package/dist/renderers/pixi-interaction-presentation-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-mask-halo.d.ts +94 -0
- package/dist/renderers/pixi-mask-halo.d.ts.map +1 -0
- package/dist/renderers/pixi-mask-layer.d.ts +10 -1
- package/dist/renderers/pixi-mask-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-media-scene.d.ts.map +1 -1
- package/dist/renderers/pixi-path.d.ts +13 -7
- package/dist/renderers/pixi-path.d.ts.map +1 -1
- package/dist/renderers/pixi-polygon-layer.d.ts.map +1 -1
- package/dist/renderers/pixi-region-layer.d.ts +42 -0
- package/dist/renderers/pixi-region-layer.d.ts.map +1 -0
- package/dist/renderers/pixi-scene-layer-slot.d.ts +1 -0
- package/dist/renderers/pixi-scene-layer-slot.d.ts.map +1 -1
- package/dist/renderers/pixi-vector-layer.d.ts +3 -1
- package/dist/renderers/pixi-vector-layer.d.ts.map +1 -1
- package/dist/sessions/media-session.d.ts.map +1 -1
- package/dist/tracking.worker.js +1485 -0
- package/dist/tracking.worker.js.map +1 -0
- package/dist/types/detection-post-processing.d.ts +62 -0
- package/dist/types/detection-post-processing.d.ts.map +1 -0
- package/dist/types/media-renderer.d.ts +1 -1
- package/dist/types/media-renderer.d.ts.map +1 -1
- package/dist/workers/worker-rpc-client.d.ts +2 -1
- package/dist/workers/worker-rpc-client.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.d.ts +23 -3
- package/node_modules/supervision-js-core/dist/index.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/index.js +2545 -566
- package/node_modules/supervision-js-core/dist/index.js.map +1 -1
- package/node_modules/supervision-js-core/dist/interactions/detection-picker.d.ts +18 -0
- package/node_modules/supervision-js-core/dist/interactions/detection-picker.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/post-processing/byte-track-tracker.d.ts +4 -0
- package/node_modules/supervision-js-core/dist/post-processing/byte-track-tracker.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/post-processing/cbiou-tracker.d.ts +4 -0
- package/node_modules/supervision-js-core/dist/post-processing/cbiou-tracker.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/post-processing/oc-sort-tracker.d.ts +4 -0
- package/node_modules/supervision-js-core/dist/post-processing/oc-sort-tracker.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/post-processing/sort-tracker.d.ts +4 -0
- package/node_modules/supervision-js-core/dist/post-processing/sort-tracker.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/post-processing/tracking.d.ts +9 -0
- package/node_modules/supervision-js-core/dist/post-processing/tracking.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/styles/annotation-renderer-presentation.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts +13 -6
- package/node_modules/supervision-js-core/dist/styles/annotation-renderer-registry.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/box-corner-style.d.ts +14 -0
- package/node_modules/supervision-js-core/dist/styles/box-corner-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/styles/box-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts +19 -0
- package/node_modules/supervision-js-core/dist/styles/default-annotation-presentation.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/interaction-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/keypoint-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/marker-style.d.ts +14 -0
- package/node_modules/supervision-js-core/dist/styles/marker-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/styles/polygon-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/polyline-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/source-presentation.d.ts +8 -0
- package/node_modules/supervision-js-core/dist/styles/source-presentation.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/styles/stroke-style.d.ts +12 -0
- package/node_modules/supervision-js-core/dist/styles/stroke-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts +124 -4
- package/node_modules/supervision-js-core/dist/types/annotation-renderer.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/box-corner-style.d.ts +31 -0
- package/node_modules/supervision-js-core/dist/types/box-corner-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/box-style.d.ts +4 -17
- package/node_modules/supervision-js-core/dist/types/box-style.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/detections.d.ts +11 -3
- package/node_modules/supervision-js-core/dist/types/detections.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/ellipse-style.d.ts +30 -0
- package/node_modules/supervision-js-core/dist/types/ellipse-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/interaction.d.ts +12 -0
- package/node_modules/supervision-js-core/dist/types/interaction.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/marker-style.d.ts +46 -0
- package/node_modules/supervision-js-core/dist/types/marker-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/mask-halo-style.d.ts +29 -0
- package/node_modules/supervision-js-core/dist/types/mask-halo-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts +18 -2
- package/node_modules/supervision-js-core/dist/types/media-rendering.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/types/paint-style.d.ts +36 -0
- package/node_modules/supervision-js-core/dist/types/paint-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/post-processing.d.ts +148 -0
- package/node_modules/supervision-js-core/dist/types/post-processing.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/types/shape-style.d.ts +112 -0
- package/node_modules/supervision-js-core/dist/types/shape-style.d.ts.map +1 -0
- package/node_modules/supervision-js-core/dist/utils/detection-frames.d.ts.map +1 -1
- package/node_modules/supervision-js-core/dist/utils/shape-geometry.d.ts +50 -0
- package/node_modules/supervision-js-core/dist/utils/shape-geometry.d.ts.map +1 -0
- package/node_modules/supervision-js-core/package.json +12 -5
- package/package.json +7 -2
|
@@ -1,34 +1,21 @@
|
|
|
1
1
|
import type { Detection, Rect } from "#types/detections";
|
|
2
|
+
import type { FillStyle, StrokeStyle } from "#types/paint-style";
|
|
2
3
|
import type { AnnotationStyleContext } from "#types/style";
|
|
4
|
+
export { StrokeAlignment as BoxStrokeAlignment } from "#types/paint-style";
|
|
3
5
|
export declare enum BoxShape {
|
|
4
6
|
Rect = "rect",
|
|
5
7
|
RoundedRect = "roundedRect"
|
|
6
8
|
}
|
|
7
|
-
export declare enum BoxStrokeAlignment {
|
|
8
|
-
Inside = "inside",
|
|
9
|
-
Center = "center",
|
|
10
|
-
Outside = "outside"
|
|
11
|
-
}
|
|
12
9
|
/**
|
|
13
10
|
* Stroke applied to a rendered detection rectangle.
|
|
14
11
|
*
|
|
15
12
|
* This belongs to presentation styling, not to the underlying detection data.
|
|
16
13
|
*/
|
|
17
|
-
export
|
|
18
|
-
readonly color: number;
|
|
19
|
-
readonly alpha: number;
|
|
20
|
-
readonly width: number;
|
|
21
|
-
readonly alignment?: BoxStrokeAlignment;
|
|
22
|
-
/** Alternating dash and gap lengths in screen pixels. */
|
|
23
|
-
readonly dash?: readonly number[];
|
|
24
|
-
}
|
|
14
|
+
export type BoxStrokeStyle = StrokeStyle;
|
|
25
15
|
/**
|
|
26
16
|
* Fill applied behind or inside a rendered detection rectangle.
|
|
27
17
|
*/
|
|
28
|
-
export
|
|
29
|
-
readonly color: number;
|
|
30
|
-
readonly alpha: number;
|
|
31
|
-
}
|
|
18
|
+
export type BoxFillStyle = FillStyle;
|
|
32
19
|
/**
|
|
33
20
|
* Per-frame context passed to a box style while resolving draw instructions.
|
|
34
21
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"box-style.d.ts","sourceRoot":"","sources":["../../src/types/box-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"box-style.d.ts","sourceRoot":"","sources":["../../src/types/box-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,IAAI,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,KAAK,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjE,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,OAAO,EAAE,eAAe,IAAI,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AAE3E,oBAAY,QAAQ;IAClB,IAAI,SAAS;IACb,WAAW,gBAAgB;CAC5B;AAED;;;;GAIG;AACH,MAAM,MAAM,cAAc,GAAG,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC;AAErC;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,sBAAsB,CAAC;AAErD;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,IAAI,EAAE,IAAI,CAAC;IACpB,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC;IACzB,QAAQ,CAAC,MAAM,CAAC,EAAE,cAAc,CAAC;IACjC,QAAQ,CAAC,IAAI,CAAC,EAAE,YAAY,CAAC;IAC7B,QAAQ,CAAC,YAAY,CAAC,EAAE,MAAM,CAAC;CAChC;AAED;;;;;GAKG;AACH,MAAM,WAAW,QAAQ;IACvB,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,eAAe,GACvB,kBAAkB,GAAG,SAAS,CAAC;CACnC"}
|
|
@@ -98,10 +98,12 @@ export interface CompressedRleDetectionMask {
|
|
|
98
98
|
}
|
|
99
99
|
export type DetectionMask = CompressedRleDetectionMask;
|
|
100
100
|
/**
|
|
101
|
-
* One
|
|
101
|
+
* One semantic detection for a media frame.
|
|
102
102
|
*
|
|
103
|
-
* A detection
|
|
104
|
-
*
|
|
103
|
+
* A detection may come directly from a model or from a semantic
|
|
104
|
+
* post-processor such as tracking. It stores identity, class, confidence,
|
|
105
|
+
* geometry, mask, and caller metadata, but intentionally does not carry render
|
|
106
|
+
* styling.
|
|
105
107
|
* Styling is resolved through presentation styles so the same detections can be
|
|
106
108
|
* rendered as boxes, masks, labels, or future layers without mutating the
|
|
107
109
|
* underlying annotation data.
|
|
@@ -111,6 +113,12 @@ export interface Detection {
|
|
|
111
113
|
* Optional stable identity for picking, interaction, and host app metadata.
|
|
112
114
|
*/
|
|
113
115
|
readonly id?: string | number;
|
|
116
|
+
/**
|
|
117
|
+
* Optional temporal identity assigned by a tracking post-processor.
|
|
118
|
+
* This is separate from `id`, which remains the annotation/picking identity.
|
|
119
|
+
* Post-processors may update this derived field in place.
|
|
120
|
+
*/
|
|
121
|
+
trackerId?: number;
|
|
114
122
|
/**
|
|
115
123
|
* Optional provenance for detections copied from a composed source.
|
|
116
124
|
*
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detections.d.ts","sourceRoot":"","sources":["../../src/types/detections.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,WAAW,IAAI;IACnB;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,qCAAqC;AACrC,MAAM,WAAW,KAAK;IACpB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,6EAA6E;AAC7E,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CACnC;AAED,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;CACnC;AAED,kDAAkD;AAClD,oBAAY,kBAAkB;IAC5B,UAAU,IAAI;IACd,QAAQ,IAAI;IACZ,OAAO,IAAI;CACZ;AAED,MAAM,MAAM,YAAY,GAAG,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;AAEzE,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,MAAM,EAAE,SAAS,KAAK,EAAE,CAAC;IAClC,QAAQ,CAAC,KAAK,EAAE,SAAS,YAAY,EAAE,CAAC;IACxC,QAAQ,CAAC,UAAU,CAAC,EAAE,SAAS,kBAAkB,EAAE,CAAC;CACrD;AAED,MAAM,WAAW,wBAAwB;IACvC,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,QAAQ,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACvD,QAAQ,CAAC,KAAK,EAAE,SAAS,sBAAsB,EAAE,CAAC;CACnD;AAED,MAAM,MAAM,mBAAmB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC,CAAC;AAE/E,oBAAY,qBAAqB;IAC/B,aAAa,kBAAkB;CAChC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,QAAQ,EAAE,qBAAqB,CAAC,aAAa,CAAC;IACvD;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB;;;;;OAKG;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,MAAM,aAAa,GAAG,0BAA0B,CAAC;AAEvD
|
|
1
|
+
{"version":3,"file":"detections.d.ts","sourceRoot":"","sources":["../../src/types/detections.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import type { Detection } from "#types/detections";
|
|
2
|
+
import type { ClosedEllipseShapeInstruction, EllipseArcShapeInstruction } from "#types/shape-style";
|
|
3
|
+
import type { AnnotationStyleContext } from "#types/style";
|
|
4
|
+
export type EllipseStyleContext = AnnotationStyleContext;
|
|
5
|
+
/**
|
|
6
|
+
* One closed ellipse drawn for a detection, in media coordinates.
|
|
7
|
+
*
|
|
8
|
+
* The annotation renderer omits only the internal shape discriminator; all
|
|
9
|
+
* geometry and paint constraints come from the shared ellipse primitive.
|
|
10
|
+
*/
|
|
11
|
+
export type ClosedEllipseDrawInstruction = Omit<ClosedEllipseShapeInstruction, "kind">;
|
|
12
|
+
/**
|
|
13
|
+
* One elliptical arc drawn for a detection, in media coordinates.
|
|
14
|
+
*
|
|
15
|
+
* Angles are radians measured from the positive x axis before `rotation` is
|
|
16
|
+
* applied.
|
|
17
|
+
*/
|
|
18
|
+
export type EllipseArcDrawInstruction = Omit<EllipseArcShapeInstruction, "kind">;
|
|
19
|
+
export type EllipseDrawInstruction = ClosedEllipseDrawInstruction | EllipseArcDrawInstruction;
|
|
20
|
+
/**
|
|
21
|
+
* Style contract of the `ellipse` annotation renderer.
|
|
22
|
+
*
|
|
23
|
+
* Resolves per detection to the ellipse drawn for it, or `undefined` to skip
|
|
24
|
+
* the detection. Ellipses are presentation only: they are never pickable and
|
|
25
|
+
* never become editable annotations.
|
|
26
|
+
*/
|
|
27
|
+
export interface EllipseStyle {
|
|
28
|
+
resolve(detection: Detection, context: EllipseStyleContext): EllipseDrawInstruction | undefined;
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=ellipse-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ellipse-style.d.ts","sourceRoot":"","sources":["../../src/types/ellipse-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EACV,6BAA6B,EAC7B,0BAA0B,EAC3B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAEzD;;;;;GAKG;AACH,MAAM,MAAM,4BAA4B,GAAG,IAAI,CAC7C,6BAA6B,EAC7B,MAAM,CACP,CAAC;AAEF;;;;;GAKG;AACH,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,0BAA0B,EAC1B,MAAM,CACP,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAChC,4BAA4B,GAAG,yBAAyB,CAAC;AAE3D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,mBAAmB,GAC3B,sBAAsB,GAAG,SAAS,CAAC;CACvC"}
|
|
@@ -56,8 +56,20 @@ export type DetectionSelectionOptions = DetectionSelectionOptionsBase & ({
|
|
|
56
56
|
export interface MediaInteractionOptions extends DetectionPickOptions {
|
|
57
57
|
readonly mode?: MediaInteractionMode;
|
|
58
58
|
readonly onHover?: (pick: DetectionPickResult | null) => void;
|
|
59
|
+
/**
|
|
60
|
+
* Reports selection identity changes. A stable, frame-unique detection id
|
|
61
|
+
* may keep rendering as selected across later frames without re-emitting
|
|
62
|
+
* this callback. The pick is the immutable frame snapshot where the
|
|
63
|
+
* selection event occurred; use the detection id with the active frame when
|
|
64
|
+
* current geometry is required.
|
|
65
|
+
*/
|
|
59
66
|
readonly onSelect?: (pick: DetectionPickResult | null) => void;
|
|
60
67
|
readonly multiSelect?: boolean;
|
|
68
|
+
/**
|
|
69
|
+
* Reports selection membership changes, not per-frame geometry updates for
|
|
70
|
+
* stable detection ids. Each pick is the snapshot that produced that
|
|
71
|
+
* membership event.
|
|
72
|
+
*/
|
|
61
73
|
readonly onSelectionChange?: (picks: readonly DetectionPickResult[]) => void;
|
|
62
74
|
readonly onMarqueeChange?: (rect: {
|
|
63
75
|
readonly x: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/types/interaction.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"interaction.d.ts","sourceRoot":"","sources":["../../src/types/interaction.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import type { Detection, Point } from "#types/detections";
|
|
2
|
+
import type { FillStyle, OpenStrokeStyle, StrokeStyle } from "#types/paint-style";
|
|
3
|
+
import { MarkerShape, MarkerSizeSpace } from "#types/shape-style";
|
|
4
|
+
import type { AnnotationStyleContext, DetectionStylePredicate, DetectionStyleValue } from "#types/style";
|
|
5
|
+
export type MarkerStyleContext = AnnotationStyleContext;
|
|
6
|
+
interface MarkerDrawInstructionBase {
|
|
7
|
+
readonly center: Point;
|
|
8
|
+
readonly shape: MarkerShape;
|
|
9
|
+
/** Marker diameter in the declared size space. */
|
|
10
|
+
readonly size: number;
|
|
11
|
+
readonly sizeSpace: MarkerSizeSpace;
|
|
12
|
+
readonly rotation?: number;
|
|
13
|
+
}
|
|
14
|
+
export interface ClosedMarkerDrawInstruction extends MarkerDrawInstructionBase {
|
|
15
|
+
readonly shape: MarkerShape.Circle | MarkerShape.Square | MarkerShape.Triangle;
|
|
16
|
+
readonly fill?: FillStyle;
|
|
17
|
+
readonly stroke?: StrokeStyle;
|
|
18
|
+
}
|
|
19
|
+
export interface CrossMarkerDrawInstruction extends MarkerDrawInstructionBase {
|
|
20
|
+
readonly shape: MarkerShape.Cross;
|
|
21
|
+
readonly fill?: never;
|
|
22
|
+
readonly stroke?: OpenStrokeStyle;
|
|
23
|
+
}
|
|
24
|
+
export type MarkerDrawInstruction = ClosedMarkerDrawInstruction | CrossMarkerDrawInstruction;
|
|
25
|
+
/**
|
|
26
|
+
* Style contract of the `marker` annotation renderer.
|
|
27
|
+
*
|
|
28
|
+
* A style maps a semantic detection to one positioned marker. The renderer is
|
|
29
|
+
* presentation-only and does not change picking or editing geometry.
|
|
30
|
+
*/
|
|
31
|
+
export interface MarkerStyle {
|
|
32
|
+
resolve(detection: Detection, context: MarkerStyleContext): MarkerDrawInstruction | undefined;
|
|
33
|
+
}
|
|
34
|
+
export interface BaseMarkerStyleOptions {
|
|
35
|
+
/** Optional media-space anchor. The default is the detection-rect center. */
|
|
36
|
+
readonly center?: DetectionStyleValue<Point | undefined, MarkerStyleContext>;
|
|
37
|
+
readonly shape?: DetectionStyleValue<MarkerShape, MarkerStyleContext>;
|
|
38
|
+
readonly size?: DetectionStyleValue<number, MarkerStyleContext>;
|
|
39
|
+
readonly sizeSpace?: DetectionStyleValue<MarkerSizeSpace, MarkerStyleContext>;
|
|
40
|
+
readonly rotation?: DetectionStyleValue<number | undefined, MarkerStyleContext>;
|
|
41
|
+
readonly fill?: DetectionStyleValue<Partial<FillStyle> | null, MarkerStyleContext>;
|
|
42
|
+
readonly stroke?: DetectionStyleValue<Partial<StrokeStyle> | null, MarkerStyleContext>;
|
|
43
|
+
readonly shouldRender?: DetectionStylePredicate<MarkerStyleContext>;
|
|
44
|
+
}
|
|
45
|
+
export {};
|
|
46
|
+
//# sourceMappingURL=marker-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"marker-style.d.ts","sourceRoot":"","sources":["../../src/types/marker-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AAC1D,OAAO,KAAK,EACV,SAAS,EACT,eAAe,EACf,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,WAAW,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAClE,OAAO,KAAK,EACV,sBAAsB,EACtB,uBAAuB,EACvB,mBAAmB,EACpB,MAAM,cAAc,CAAC;AAEtB,MAAM,MAAM,kBAAkB,GAAG,sBAAsB,CAAC;AAExD,UAAU,yBAAyB;IACjC,QAAQ,CAAC,MAAM,EAAE,KAAK,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC;IAC5B,kDAAkD;IAClD,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,SAAS,EAAE,eAAe,CAAC;IACpC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,2BAA4B,SAAQ,yBAAyB;IAC5E,QAAQ,CAAC,KAAK,EACZ,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,MAAM,GAAG,WAAW,CAAC,QAAQ,CAAC;IACjE,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,CAAC;IAC1B,QAAQ,CAAC,MAAM,CAAC,EAAE,WAAW,CAAC;CAC/B;AAED,MAAM,WAAW,0BAA2B,SAAQ,yBAAyB;IAC3E,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC;IAClC,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,CAAC;IACtB,QAAQ,CAAC,MAAM,CAAC,EAAE,eAAe,CAAC;CACnC;AAED,MAAM,MAAM,qBAAqB,GAC/B,2BAA2B,GAAG,0BAA0B,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,WAAW,WAAW;IAC1B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,kBAAkB,GAC1B,qBAAqB,GAAG,SAAS,CAAC;CACtC;AAED,MAAM,WAAW,sBAAsB;IACrC,6EAA6E;IAC7E,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CAAC,KAAK,GAAG,SAAS,EAAE,kBAAkB,CAAC,CAAC;IAC7E,QAAQ,CAAC,KAAK,CAAC,EAAE,mBAAmB,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAC;IACtE,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IAChE,QAAQ,CAAC,SAAS,CAAC,EAAE,mBAAmB,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;IAC9E,QAAQ,CAAC,QAAQ,CAAC,EAAE,mBAAmB,CACrC,MAAM,GAAG,SAAS,EAClB,kBAAkB,CACnB,CAAC;IACF,QAAQ,CAAC,IAAI,CAAC,EAAE,mBAAmB,CACjC,OAAO,CAAC,SAAS,CAAC,GAAG,IAAI,EACzB,kBAAkB,CACnB,CAAC;IACF,QAAQ,CAAC,MAAM,CAAC,EAAE,mBAAmB,CACnC,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI,EAC3B,kBAAkB,CACnB,CAAC;IACF,QAAQ,CAAC,YAAY,CAAC,EAAE,uBAAuB,CAAC,kBAAkB,CAAC,CAAC;CACrE"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { Detection } from "#types/detections";
|
|
2
|
+
import type { AnnotationStyleContext } from "#types/style";
|
|
3
|
+
export type MaskHaloStyleContext = AnnotationStyleContext;
|
|
4
|
+
/**
|
|
5
|
+
* Renderer-neutral mask halo drawing instruction.
|
|
6
|
+
*
|
|
7
|
+
* The backend blurs the prepared mask coverage on the GPU, so the glow
|
|
8
|
+
* follows the exact mask silhouette. Each detection's spread is honored:
|
|
9
|
+
* detections requesting different spreads render in separate blur passes.
|
|
10
|
+
*/
|
|
11
|
+
export interface MaskHaloDrawInstruction {
|
|
12
|
+
/** Peak glow alpha at the silhouette. */
|
|
13
|
+
readonly alpha: number;
|
|
14
|
+
readonly color: number;
|
|
15
|
+
/** Blur radius in screen pixels. */
|
|
16
|
+
readonly spread: number;
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Mask halo presentation contract.
|
|
20
|
+
*
|
|
21
|
+
* The halo renderer consumes semantic detections with masks and returns a
|
|
22
|
+
* glow instruction per detection, or `undefined` to skip one. Halos are
|
|
23
|
+
* presentation only: never pickable or editable, and they reuse the prepared
|
|
24
|
+
* mask artifact without invalidating it.
|
|
25
|
+
*/
|
|
26
|
+
export interface MaskHaloStyle {
|
|
27
|
+
resolve(detection: Detection, context: MaskHaloStyleContext): MaskHaloDrawInstruction | undefined;
|
|
28
|
+
}
|
|
29
|
+
//# sourceMappingURL=mask-halo-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"mask-halo-style.d.ts","sourceRoot":"","sources":["../../src/types/mask-halo-style.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACnD,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAC;AAE3D,MAAM,MAAM,oBAAoB,GAAG,sBAAsB,CAAC;AAE1D;;;;;;GAMG;AACH,MAAM,WAAW,uBAAuB;IACtC,yCAAyC;IACzC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,oCAAoC;IACpC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,aAAa;IAC5B,OAAO,CACL,SAAS,EAAE,SAAS,EACpB,OAAO,EAAE,oBAAoB,GAC5B,uBAAuB,GAAG,SAAS,CAAC;CACxC"}
|
|
@@ -1,14 +1,18 @@
|
|
|
1
1
|
import type { DetectionBufferState } from "#types/detection-timeline";
|
|
2
2
|
import type { DetectionFrame } from "#types/detections";
|
|
3
3
|
import type { BoxStyle } from "#types/box-style";
|
|
4
|
+
import type { BoxCornerStyle } from "#types/box-corner-style";
|
|
4
5
|
import type { FocusStyle } from "#types/focus-style";
|
|
5
6
|
import type { InteractionStyle } from "#types/interaction-style";
|
|
6
7
|
import type { LabelStyle } from "#types/label-style";
|
|
8
|
+
import type { MaskHaloStyle } from "#types/mask-halo-style";
|
|
7
9
|
import type { MaskStyle } from "#types/mask-style";
|
|
10
|
+
import type { MarkerStyle } from "#types/marker-style";
|
|
8
11
|
import type { Point } from "#types/detections";
|
|
9
12
|
import type { ViewportTransform } from "#types/viewport";
|
|
10
13
|
import type { PolygonStyle } from "#types/polygon-style";
|
|
11
14
|
import type { PolylineStyle } from "#types/polyline-style";
|
|
15
|
+
import type { EllipseStyle } from "#types/ellipse-style";
|
|
12
16
|
import type { KeypointStyle } from "#types/keypoint-style";
|
|
13
17
|
import type { AnnotationOverlayStyle } from "#types/editing";
|
|
14
18
|
import type { AnnotationRenderer } from "#types/annotation-renderer";
|
|
@@ -92,6 +96,13 @@ export interface MediaRendererDiagnosticsOptions {
|
|
|
92
96
|
* it permanently in latency-sensitive apps unless needed.
|
|
93
97
|
*/
|
|
94
98
|
readonly frameTimings?: boolean;
|
|
99
|
+
/** Receives browser asset failures without failing media playback. */
|
|
100
|
+
readonly onAssetError?: (error: MediaRendererAssetError) => void;
|
|
101
|
+
}
|
|
102
|
+
export interface MediaRendererAssetError {
|
|
103
|
+
readonly rendererId: string;
|
|
104
|
+
readonly src: string;
|
|
105
|
+
readonly error: unknown;
|
|
95
106
|
}
|
|
96
107
|
/**
|
|
97
108
|
* Snapshot of the opened media source.
|
|
@@ -150,18 +161,23 @@ export interface MediaRendererPresentation {
|
|
|
150
161
|
/**
|
|
151
162
|
* Built-in renderers that contribute semantic annotations to the
|
|
152
163
|
* renderer-owned scene. When present, this list selects the enabled
|
|
153
|
-
* built-in layers
|
|
154
|
-
*
|
|
164
|
+
* built-in layers. Style-backed descriptors resolve into their established
|
|
165
|
+
* presentation fields, while direct descriptors such as `region` retain
|
|
166
|
+
* their semantic configuration for the backend. Existing style fields remain
|
|
155
167
|
* supported for compatibility and source-specific presentation overrides.
|
|
156
168
|
*/
|
|
157
169
|
readonly renderers?: readonly AnnotationRenderer[];
|
|
158
170
|
readonly boxStyle?: BoxStyle | null;
|
|
171
|
+
readonly boxCornerStyle?: BoxCornerStyle | null;
|
|
159
172
|
readonly focusStyle?: FocusStyle | null;
|
|
160
173
|
readonly interactionStyle?: InteractionStyle | null;
|
|
161
174
|
readonly labelStyle?: LabelStyle | null;
|
|
175
|
+
readonly maskHaloStyle?: MaskHaloStyle | null;
|
|
162
176
|
readonly maskStyle?: MaskStyle | null;
|
|
177
|
+
readonly markerStyle?: MarkerStyle | null;
|
|
163
178
|
readonly polygonStyle?: PolygonStyle | null;
|
|
164
179
|
readonly polylineStyle?: PolylineStyle | null;
|
|
180
|
+
readonly ellipseStyle?: EllipseStyle | null;
|
|
165
181
|
readonly keypointStyle?: KeypointStyle | null;
|
|
166
182
|
readonly visibility?: AnnotationVisibility;
|
|
167
183
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"media-rendering.d.ts","sourceRoot":"","sources":["../../src/types/media-rendering.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"media-rendering.d.ts","sourceRoot":"","sources":["../../src/types/media-rendering.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
/** Alignment for strokes applied to closed rendered geometry. */
|
|
2
|
+
export declare enum StrokeAlignment {
|
|
3
|
+
Inside = "inside",
|
|
4
|
+
Center = "center",
|
|
5
|
+
Outside = "outside"
|
|
6
|
+
}
|
|
7
|
+
/** Shape used at the exposed endpoints of an open stroke. */
|
|
8
|
+
export type StrokeCap = "butt" | "round" | "square";
|
|
9
|
+
/** Shape used where consecutive stroke segments meet. */
|
|
10
|
+
export type StrokeJoin = "bevel" | "miter" | "round";
|
|
11
|
+
/** Renderer-neutral stroke paint shared by boxes, paths, and shape primitives. */
|
|
12
|
+
export interface StrokeStyle {
|
|
13
|
+
readonly color: number;
|
|
14
|
+
readonly alpha: number;
|
|
15
|
+
readonly width: number;
|
|
16
|
+
readonly alignment?: StrokeAlignment;
|
|
17
|
+
readonly cap?: StrokeCap;
|
|
18
|
+
readonly join?: StrokeJoin;
|
|
19
|
+
/** Maximum miter length as a multiple of the stroke width. */
|
|
20
|
+
readonly miterLimit?: number;
|
|
21
|
+
/** Alternating dash and gap lengths in screen pixels. */
|
|
22
|
+
readonly dash?: readonly number[];
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Stroke paint for open geometry. Alignment is intentionally unavailable:
|
|
26
|
+
* inside and outside have no stable meaning without a closed region.
|
|
27
|
+
*/
|
|
28
|
+
export type OpenStrokeStyle = Omit<StrokeStyle, "alignment"> & {
|
|
29
|
+
readonly alignment?: never;
|
|
30
|
+
};
|
|
31
|
+
/** Renderer-neutral fill paint shared by closed geometry. */
|
|
32
|
+
export interface FillStyle {
|
|
33
|
+
readonly color: number;
|
|
34
|
+
readonly alpha: number;
|
|
35
|
+
}
|
|
36
|
+
//# sourceMappingURL=paint-style.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paint-style.d.ts","sourceRoot":"","sources":["../../src/types/paint-style.ts"],"names":[],"mappings":"AAAA,iEAAiE;AACjE,oBAAY,eAAe;IACzB,MAAM,WAAW;IACjB,MAAM,WAAW;IACjB,OAAO,YAAY;CACpB;AAED,6DAA6D;AAC7D,MAAM,MAAM,SAAS,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAC;AAEpD,yDAAyD;AACzD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,OAAO,GAAG,OAAO,CAAC;AAErD,kFAAkF;AAClF,MAAM,WAAW,WAAW;IAC1B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,SAAS,CAAC,EAAE,eAAe,CAAC;IACrC,QAAQ,CAAC,GAAG,CAAC,EAAE,SAAS,CAAC;IACzB,QAAQ,CAAC,IAAI,CAAC,EAAE,UAAU,CAAC;IAC3B,8DAA8D;IAC9D,QAAQ,CAAC,UAAU,CAAC,EAAE,MAAM,CAAC;IAC7B,yDAAyD;IACzD,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CACnC;AAED;;;GAGG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG;IAC7D,QAAQ,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC;CAC5B,CAAC;AAEF,6DAA6D;AAC7D,MAAM,WAAW,SAAS;IACxB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB"}
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
import type { DetectionFrame, Rect } from "#types/detections";
|
|
2
|
+
/** Built-in semantic detection post-processors. */
|
|
3
|
+
export type DetectionPostProcessor = TrackingDetectionPostProcessor;
|
|
4
|
+
/** Geometry projected into a tracker. The original detection payload is retained. */
|
|
5
|
+
export declare enum TrackingGeometry {
|
|
6
|
+
Box = "box",
|
|
7
|
+
Mask = "mask",
|
|
8
|
+
Keypoints = "keypoints"
|
|
9
|
+
}
|
|
10
|
+
export interface SortTrackingOptions {
|
|
11
|
+
/** Missing-track buffer expressed in 30 FPS frames. Zero removes on the first miss. */
|
|
12
|
+
readonly lostTrackBuffer?: number;
|
|
13
|
+
/** Source frame rate used to scale `lostTrackBuffer`. */
|
|
14
|
+
readonly frameRate?: number;
|
|
15
|
+
/** Minimum confidence required to create a new track. Missing confidence is 1. */
|
|
16
|
+
readonly trackActivationThreshold?: number;
|
|
17
|
+
/** Successful observations required before a track receives an ID. */
|
|
18
|
+
readonly minimumConsecutiveFrames?: number;
|
|
19
|
+
/** Minimum intersection-over-union accepted by assignment. */
|
|
20
|
+
readonly minimumIouThreshold?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface ByteTrackTrackingOptions {
|
|
23
|
+
/** Missing-track buffer expressed in 30 FPS frames. Zero removes on the first miss. */
|
|
24
|
+
readonly lostTrackBuffer?: number;
|
|
25
|
+
/** Source frame rate used to scale `lostTrackBuffer`. */
|
|
26
|
+
readonly frameRate?: number;
|
|
27
|
+
/** Minimum confidence required to create a new track. Missing confidence is 1. */
|
|
28
|
+
readonly trackActivationThreshold?: number;
|
|
29
|
+
/** Consecutive observations required before a track receives an ID. */
|
|
30
|
+
readonly minimumConsecutiveFrames?: number;
|
|
31
|
+
/** Minimum intersection-over-union accepted by either association stage. */
|
|
32
|
+
readonly minimumIouThreshold?: number;
|
|
33
|
+
/** Confidence boundary between the first and second association stages. */
|
|
34
|
+
readonly highConfidenceDetectionThreshold?: number;
|
|
35
|
+
}
|
|
36
|
+
export interface CBIoUTrackingOptions {
|
|
37
|
+
/** Missing-track buffer expressed in 30 FPS frames. */
|
|
38
|
+
readonly lostTrackBuffer?: number;
|
|
39
|
+
/** Source frame rate used to scale `lostTrackBuffer`. */
|
|
40
|
+
readonly frameRate?: number;
|
|
41
|
+
/** Minimum confidence required to create a new track. */
|
|
42
|
+
readonly trackActivationThreshold?: number;
|
|
43
|
+
/** Successful observations required before a track receives an ID. */
|
|
44
|
+
readonly minimumConsecutiveFrames?: number;
|
|
45
|
+
/** Minimum fused buffered-IoU score in the high-confidence pass. */
|
|
46
|
+
readonly minimumIouThresholdFirstAssociation?: number;
|
|
47
|
+
/** Minimum buffered IoU in the low-confidence recovery pass. */
|
|
48
|
+
readonly minimumIouThresholdSecondAssociation?: number;
|
|
49
|
+
/** Minimum fused buffered-IoU score for tentative tracks. */
|
|
50
|
+
readonly minimumIouThresholdUnconfirmedAssociation?: number;
|
|
51
|
+
/** Confidence boundary between the first and second association stages. */
|
|
52
|
+
readonly highConfidenceDetectionThreshold?: number;
|
|
53
|
+
/** Whether eligible detections on the first frame receive IDs immediately. */
|
|
54
|
+
readonly instantFirstFrameActivation?: boolean;
|
|
55
|
+
/** Proportional box expansion used by the first association stage. */
|
|
56
|
+
readonly bufferRatioFirst?: number;
|
|
57
|
+
/** Proportional box expansion used by the second association stage. */
|
|
58
|
+
readonly bufferRatioSecond?: number;
|
|
59
|
+
}
|
|
60
|
+
export interface OCSortTrackingOptions {
|
|
61
|
+
/** Missing-track buffer expressed in 30 FPS frames. */
|
|
62
|
+
readonly lostTrackBuffer?: number;
|
|
63
|
+
/** Source frame rate used to scale `lostTrackBuffer`. */
|
|
64
|
+
readonly frameRate?: number;
|
|
65
|
+
/** Consecutive observations required before a recovered track emits its ID. */
|
|
66
|
+
readonly minimumConsecutiveFrames?: number;
|
|
67
|
+
/** Minimum IoU accepted by primary and last-observation association. */
|
|
68
|
+
readonly minimumIouThreshold?: number;
|
|
69
|
+
/** Weight applied to observation-centric motion-direction consistency. */
|
|
70
|
+
readonly directionConsistencyWeight?: number;
|
|
71
|
+
/** Minimum confidence eligible for association and track creation. */
|
|
72
|
+
readonly highConfidenceDetectionThreshold?: number;
|
|
73
|
+
/** Observation-history lookback used to estimate motion direction. */
|
|
74
|
+
readonly deltaT?: number;
|
|
75
|
+
}
|
|
76
|
+
export interface SortTrackingDetectionPostProcessor {
|
|
77
|
+
readonly kind: "tracking";
|
|
78
|
+
readonly algorithm: "sort";
|
|
79
|
+
readonly geometry: TrackingGeometry;
|
|
80
|
+
readonly options: Required<SortTrackingOptions>;
|
|
81
|
+
}
|
|
82
|
+
export interface ByteTrackTrackingDetectionPostProcessor {
|
|
83
|
+
readonly kind: "tracking";
|
|
84
|
+
readonly algorithm: "bytetrack";
|
|
85
|
+
readonly geometry: TrackingGeometry;
|
|
86
|
+
readonly options: Required<ByteTrackTrackingOptions>;
|
|
87
|
+
}
|
|
88
|
+
export interface CBIoUTrackingDetectionPostProcessor {
|
|
89
|
+
readonly kind: "tracking";
|
|
90
|
+
readonly algorithm: "cbiou";
|
|
91
|
+
readonly geometry: TrackingGeometry;
|
|
92
|
+
readonly options: Required<CBIoUTrackingOptions>;
|
|
93
|
+
}
|
|
94
|
+
export interface OCSortTrackingDetectionPostProcessor {
|
|
95
|
+
readonly kind: "tracking";
|
|
96
|
+
readonly algorithm: "ocsort";
|
|
97
|
+
readonly geometry: TrackingGeometry;
|
|
98
|
+
readonly options: Required<OCSortTrackingOptions>;
|
|
99
|
+
}
|
|
100
|
+
export type TrackingDetectionPostProcessor = SortTrackingDetectionPostProcessor | ByteTrackTrackingDetectionPostProcessor | CBIoUTrackingDetectionPostProcessor | OCSortTrackingDetectionPostProcessor;
|
|
101
|
+
export interface TrackingProjection {
|
|
102
|
+
readonly confidence?: number;
|
|
103
|
+
readonly detectionIndex: number;
|
|
104
|
+
readonly rect: Rect;
|
|
105
|
+
}
|
|
106
|
+
export interface TrackingAssignment {
|
|
107
|
+
readonly detectionIndex: number;
|
|
108
|
+
readonly trackerId: number;
|
|
109
|
+
}
|
|
110
|
+
export interface SortTrackerUpdate {
|
|
111
|
+
readonly assignments: readonly TrackingAssignment[];
|
|
112
|
+
readonly activeTrackCount: number;
|
|
113
|
+
readonly confirmedTrackCount: number;
|
|
114
|
+
}
|
|
115
|
+
export interface SortTracker {
|
|
116
|
+
reset(): void;
|
|
117
|
+
update(detections: readonly TrackingProjection[], frameIndex?: number): SortTrackerUpdate;
|
|
118
|
+
}
|
|
119
|
+
export type ByteTrackTrackerUpdate = SortTrackerUpdate;
|
|
120
|
+
export interface ByteTrackTracker {
|
|
121
|
+
reset(): void;
|
|
122
|
+
update(detections: readonly TrackingProjection[], frameIndex?: number): ByteTrackTrackerUpdate;
|
|
123
|
+
}
|
|
124
|
+
export type CBIoUTrackerUpdate = SortTrackerUpdate;
|
|
125
|
+
export type CBIoUTracker = SortTracker;
|
|
126
|
+
export type OCSortTrackerUpdate = SortTrackerUpdate;
|
|
127
|
+
export type OCSortTracker = SortTracker;
|
|
128
|
+
export type TrackingTracker = SortTracker | ByteTrackTracker | CBIoUTracker | OCSortTracker;
|
|
129
|
+
export interface DetectionPostProcessorFactory {
|
|
130
|
+
tracking(options: CBIoUTrackingOptions & {
|
|
131
|
+
readonly algorithm: "cbiou";
|
|
132
|
+
readonly geometry?: TrackingGeometry;
|
|
133
|
+
}): CBIoUTrackingDetectionPostProcessor;
|
|
134
|
+
tracking(options: OCSortTrackingOptions & {
|
|
135
|
+
readonly algorithm: "ocsort";
|
|
136
|
+
readonly geometry?: TrackingGeometry;
|
|
137
|
+
}): OCSortTrackingDetectionPostProcessor;
|
|
138
|
+
tracking(options: ByteTrackTrackingOptions & {
|
|
139
|
+
readonly algorithm: "bytetrack";
|
|
140
|
+
readonly geometry?: TrackingGeometry;
|
|
141
|
+
}): ByteTrackTrackingDetectionPostProcessor;
|
|
142
|
+
tracking(options?: SortTrackingOptions & {
|
|
143
|
+
readonly algorithm?: "sort";
|
|
144
|
+
readonly geometry?: TrackingGeometry;
|
|
145
|
+
}): SortTrackingDetectionPostProcessor;
|
|
146
|
+
}
|
|
147
|
+
export type TrackingFrameProjector = (frame: DetectionFrame, geometry: TrackingGeometry) => readonly TrackingProjection[];
|
|
148
|
+
//# sourceMappingURL=post-processing.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"post-processing.d.ts","sourceRoot":"","sources":["../../src/types/post-processing.ts"],"names":[],"mappings":"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"}
|