-
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathindex.d.ts
More file actions
119 lines (103 loc) · 2.8 KB
/
Copy pathindex.d.ts
File metadata and controls
119 lines (103 loc) · 2.8 KB
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
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
/* auto-generated by NAPI-RS */
/* eslint-disable */
export declare class CameraWorld {
constructor()
ingest(timestampMs: number, detections: Array<Detection>, cameraMotion?: CameraMotion | undefined | null): WorldIngestResult
setLines(lines: Array<DetectionLine>, aspectRatio: number): void
notifyCameraMove(): void
setZones(zones: Array<DetectionZone>): void
setMinConfidence(minConfidence: number): void
setMinConfidences(byLabel: Record<string, number>): void
filterIndices(detections: Array<Detection>): Array<number>
}
export interface BoundingBox {
x: number
y: number
width: number
height: number
}
export declare function boxIou(a: BoundingBox, b: BoundingBox): number
export interface CameraMotion {
x: number
y: number
}
export interface Detection {
x: number
y: number
width: number
height: number
confidence: number
label: string
}
export interface DetectionLine {
name: string
direction: LineDirection
labels: Array<string>
points: Array<Array<number>>
}
export interface DetectionZone {
labels: Array<string>
filter: ZoneFilterMode
matchType: ZoneMatchType
isPrivacyMask: boolean
points: Array<Array<number>>
}
export interface LineCrossingEvent {
lineName: string
direction: LineDirection
trackId: number
label: string
confidence: number
timestampMs: number
prevX: number
prevY: number
currX: number
currY: number
}
export declare const enum LineDirection {
Both = 'both',
AToB = 'a-to-b',
BToA = 'b-to-a'
}
export declare function merge(detections: Array<Detection>, iouThreshold: number, closeThreshold: number): Array<Detection>
export declare function nms(detections: Array<Detection>, iouThreshold: number, maxDetections?: number | undefined | null): Array<Detection>
export declare function nmsIndices(detections: Array<Detection>, iouThreshold: number): Array<number>
export interface WorldEvent {
/**
* One of: objectEntered, objectLost, objectRecovered, objectSettled,
* objectWoke, objectDeparted, bestShotUpdated.
*/
eventType: string
object: WorldObject
}
export interface WorldIngestResult {
tracked: Array<WorldObject>
created: Array<number>
removed: Array<number>
events: Array<WorldEvent>
crossings: Array<LineCrossingEvent>
}
export interface WorldObject {
trackId: number
label: string
x: number
y: number
width: number
height: number
confidence: number
speed: number
velocityX: number
velocityY: number
/** One of: tentative, active, stationary, lost, departed. */
state: string
/** Epoch ms since the object has been still; only set while state is stationary. */
stationarySinceMs?: number
}
export declare const enum ZoneFilterMode {
Include = 'include',
Exclude = 'exclude'
}
export declare const enum ZoneMatchType {
Intersect = 'intersect',
Contain = 'contain'
}