@luxonis/visualizer-protobuf 3.1.1 → 3.1.2
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/{deserialization.worker-iLQYf6dz.js → deserialization.worker-YKcSaSWH.js} +147 -152
- package/dist/{index-tLfWrXcg.js → index-BMIqHWwd.js} +1 -1
- package/dist/{index-D5H3iCVT.js → index-BN2v1iMN.js} +1 -1
- package/dist/{index-VjMojhAJ.js → index-Bq4VaIv3.js} +2 -2
- package/dist/{index-BFHnSq_D.js → index-C53DG9uU.js} +1 -1
- package/dist/{index-BwszuQxy.js → index-C77lunov.js} +1 -1
- package/dist/{index-BsCcQbSo.js → index-C9_ELgH0.js} +1 -1
- package/dist/{index-mkLEh24H.js → index-CA-EmEAR.js} +1 -1
- package/dist/{index-CUGaisTR.js → index-D1zXLkli.js} +1 -1
- package/dist/{index-BN1XXU26.js → index-D89yfNy9.js} +1 -1
- package/dist/{index-Zjw0dbGD.js → index-DmP7sjUz.js} +1 -1
- package/dist/{index-CrP2kJym.js → index-DoXJbu-D.js} +1 -1
- package/dist/{index-xU2jSCtf.js → index-DpUuSNx-.js} +1 -1
- package/dist/{index-DslURtpP.js → index-Du4IzW8k.js} +1 -1
- package/dist/{index-CYRDaPyN.js → index-Duh8rNuw.js} +1 -1
- package/dist/{index-DoxJYKhI.js → index-Dx4uEaE6.js} +1 -1
- package/dist/{index-DsJRU5mK.js → index-Eu-m3JKy.js} +1 -1
- package/dist/{index-DG1nCi2m.js → index-IGydAG_o.js} +1 -1
- package/dist/{index-CekJcKgK.js → index-X7vcFOB2.js} +1 -1
- package/dist/{index-BGnPWAxp.js → index-fnrBNnsp.js} +1 -1
- package/dist/{index-DBwLkKPx.js → index-plyilw_0.js} +22 -22
- package/dist/index.js +1 -1
- package/dist/lib/src/messaging/deserialization/detections/detection.d.ts.map +1 -1
- package/dist/lib/src/messaging/deserialization/detections/detection.js +117 -96
- package/dist/lib/src/messaging/deserialization/detections/detection.js.map +1 -1
- package/package.json +1 -1
|
@@ -330,6 +330,141 @@ function rotatePoint(point, centerX, centerY, angleDegrees) {
|
|
|
330
330
|
y: yRotated + centerY
|
|
331
331
|
};
|
|
332
332
|
}
|
|
333
|
+
function getDetectionGeometry(detection, highlightSizeX, highlightSizeY) {
|
|
334
|
+
const rotatedBoundingBox = detection.boundingBox;
|
|
335
|
+
if (rotatedBoundingBox !== null && rotatedBoundingBox !== void 0 && rotatedBoundingBox.center && rotatedBoundingBox.size) {
|
|
336
|
+
const {
|
|
337
|
+
center,
|
|
338
|
+
size,
|
|
339
|
+
angle
|
|
340
|
+
} = rotatedBoundingBox;
|
|
341
|
+
const halfWidth = size.width / 2;
|
|
342
|
+
const halfHeight = size.height / 2;
|
|
343
|
+
const topLeft = rotatePoint({
|
|
344
|
+
x: center.x - halfWidth,
|
|
345
|
+
y: center.y - halfHeight
|
|
346
|
+
}, center.x, center.y, angle);
|
|
347
|
+
const bottomLeft = rotatePoint({
|
|
348
|
+
x: center.x - halfWidth,
|
|
349
|
+
y: center.y + halfHeight
|
|
350
|
+
}, center.x, center.y, angle);
|
|
351
|
+
const bottomRight = rotatePoint({
|
|
352
|
+
x: center.x + halfWidth,
|
|
353
|
+
y: center.y + halfHeight
|
|
354
|
+
}, center.x, center.y, angle);
|
|
355
|
+
const topRight = rotatePoint({
|
|
356
|
+
x: center.x + halfWidth,
|
|
357
|
+
y: center.y - halfHeight
|
|
358
|
+
}, center.x, center.y, angle);
|
|
359
|
+
const _outline = [topLeft, bottomLeft, bottomRight, topRight];
|
|
360
|
+
const highlightTopWidth = Math.min(highlightSizeX, size.width);
|
|
361
|
+
const highlightSideHeight = Math.min(highlightSizeY, size.height);
|
|
362
|
+
const highlightSegments = [[topLeft, rotatePoint({
|
|
363
|
+
x: center.x - halfWidth + highlightTopWidth,
|
|
364
|
+
y: center.y - halfHeight
|
|
365
|
+
}, center.x, center.y, angle)], [topLeft, rotatePoint({
|
|
366
|
+
x: center.x - halfWidth,
|
|
367
|
+
y: center.y - halfHeight + highlightSideHeight
|
|
368
|
+
}, center.x, center.y, angle)], [topRight, rotatePoint({
|
|
369
|
+
x: center.x + halfWidth - highlightTopWidth,
|
|
370
|
+
y: center.y - halfHeight
|
|
371
|
+
}, center.x, center.y, angle)], [topRight, rotatePoint({
|
|
372
|
+
x: center.x + halfWidth,
|
|
373
|
+
y: center.y - halfHeight + highlightSideHeight
|
|
374
|
+
}, center.x, center.y, angle)], [bottomRight, rotatePoint({
|
|
375
|
+
x: center.x + halfWidth - highlightTopWidth,
|
|
376
|
+
y: center.y + halfHeight
|
|
377
|
+
}, center.x, center.y, angle)], [bottomRight, rotatePoint({
|
|
378
|
+
x: center.x + halfWidth,
|
|
379
|
+
y: center.y + halfHeight - highlightSideHeight
|
|
380
|
+
}, center.x, center.y, angle)], [bottomLeft, rotatePoint({
|
|
381
|
+
x: center.x - halfWidth + highlightTopWidth,
|
|
382
|
+
y: center.y + halfHeight
|
|
383
|
+
}, center.x, center.y, angle)], [bottomLeft, rotatePoint({
|
|
384
|
+
x: center.x - halfWidth,
|
|
385
|
+
y: center.y + halfHeight - highlightSideHeight
|
|
386
|
+
}, center.x, center.y, angle)]];
|
|
387
|
+
const minX = Math.min(..._outline.map(point => point.x));
|
|
388
|
+
const minY = Math.min(..._outline.map(point => point.y));
|
|
389
|
+
return {
|
|
390
|
+
outline: _outline,
|
|
391
|
+
highlightSegments,
|
|
392
|
+
labelPosition: {
|
|
393
|
+
x: minX + highlightSizeX / 2,
|
|
394
|
+
y: minY + highlightSizeY
|
|
395
|
+
}
|
|
396
|
+
};
|
|
397
|
+
}
|
|
398
|
+
const outline = [{
|
|
399
|
+
x: detection.xmin,
|
|
400
|
+
y: detection.ymin
|
|
401
|
+
}, {
|
|
402
|
+
x: detection.xmin,
|
|
403
|
+
y: detection.ymax
|
|
404
|
+
}, {
|
|
405
|
+
x: detection.xmax,
|
|
406
|
+
y: detection.ymax
|
|
407
|
+
}, {
|
|
408
|
+
x: detection.xmax,
|
|
409
|
+
y: detection.ymin
|
|
410
|
+
}];
|
|
411
|
+
return {
|
|
412
|
+
outline,
|
|
413
|
+
highlightSegments: [[{
|
|
414
|
+
x: detection.xmin,
|
|
415
|
+
y: detection.ymin
|
|
416
|
+
}, {
|
|
417
|
+
x: detection.xmin + highlightSizeX,
|
|
418
|
+
y: detection.ymin
|
|
419
|
+
}], [{
|
|
420
|
+
x: detection.xmin,
|
|
421
|
+
y: detection.ymin
|
|
422
|
+
}, {
|
|
423
|
+
x: detection.xmin,
|
|
424
|
+
y: detection.ymin + highlightSizeY
|
|
425
|
+
}], [{
|
|
426
|
+
x: detection.xmax,
|
|
427
|
+
y: detection.ymin
|
|
428
|
+
}, {
|
|
429
|
+
x: detection.xmax - highlightSizeX,
|
|
430
|
+
y: detection.ymin
|
|
431
|
+
}], [{
|
|
432
|
+
x: detection.xmax,
|
|
433
|
+
y: detection.ymin
|
|
434
|
+
}, {
|
|
435
|
+
x: detection.xmax,
|
|
436
|
+
y: detection.ymin + highlightSizeY
|
|
437
|
+
}], [{
|
|
438
|
+
x: detection.xmax,
|
|
439
|
+
y: detection.ymax
|
|
440
|
+
}, {
|
|
441
|
+
x: detection.xmax - highlightSizeX,
|
|
442
|
+
y: detection.ymax
|
|
443
|
+
}], [{
|
|
444
|
+
x: detection.xmax,
|
|
445
|
+
y: detection.ymax
|
|
446
|
+
}, {
|
|
447
|
+
x: detection.xmax,
|
|
448
|
+
y: detection.ymax - highlightSizeY
|
|
449
|
+
}], [{
|
|
450
|
+
x: detection.xmin,
|
|
451
|
+
y: detection.ymax
|
|
452
|
+
}, {
|
|
453
|
+
x: detection.xmin + highlightSizeX,
|
|
454
|
+
y: detection.ymax
|
|
455
|
+
}], [{
|
|
456
|
+
x: detection.xmin,
|
|
457
|
+
y: detection.ymax
|
|
458
|
+
}, {
|
|
459
|
+
x: detection.xmin,
|
|
460
|
+
y: detection.ymax - highlightSizeY
|
|
461
|
+
}]],
|
|
462
|
+
labelPosition: {
|
|
463
|
+
x: detection.xmin + highlightSizeX / 2,
|
|
464
|
+
y: detection.ymin + highlightSizeY
|
|
465
|
+
}
|
|
466
|
+
};
|
|
467
|
+
}
|
|
333
468
|
function deserializeImgDetections({
|
|
334
469
|
topic,
|
|
335
470
|
message,
|
|
@@ -346,8 +481,9 @@ function deserializeImgDetections({
|
|
|
346
481
|
};
|
|
347
482
|
if (message.detections.length > 0) {
|
|
348
483
|
for (const detection of message.detections) {
|
|
349
|
-
var
|
|
350
|
-
const detectionWidth = detection.xmax - detection.xmin;
|
|
484
|
+
var _detection$boundingBo, _detection$boundingBo2, _detection$boundingBo3, _detection$boundingBo4, _message$transformati, _topicSizes$values$ne, _DETECTION_STYLE$dete, _style$label;
|
|
485
|
+
const detectionWidth = (_detection$boundingBo = (_detection$boundingBo2 = detection.boundingBox) === null || _detection$boundingBo2 === void 0 || (_detection$boundingBo2 = _detection$boundingBo2.size) === null || _detection$boundingBo2 === void 0 ? void 0 : _detection$boundingBo2.width) !== null && _detection$boundingBo !== void 0 ? _detection$boundingBo : detection.xmax - detection.xmin;
|
|
486
|
+
const detectionHeight = (_detection$boundingBo3 = (_detection$boundingBo4 = detection.boundingBox) === null || _detection$boundingBo4 === void 0 || (_detection$boundingBo4 = _detection$boundingBo4.size) === null || _detection$boundingBo4 === void 0 ? void 0 : _detection$boundingBo4.height) !== null && _detection$boundingBo3 !== void 0 ? _detection$boundingBo3 : detection.ymax - detection.ymin;
|
|
351
487
|
const {
|
|
352
488
|
width,
|
|
353
489
|
height
|
|
@@ -361,38 +497,15 @@ function deserializeImgDetections({
|
|
|
361
497
|
const ratio = width / height;
|
|
362
498
|
const highligtLength = 0.035;
|
|
363
499
|
const highlightSizeX = Math.min(highligtLength, detectionWidth);
|
|
364
|
-
const highlightSizeY = Math.min(highligtLength * ratio,
|
|
500
|
+
const highlightSizeY = Math.min(highligtLength * ratio, detectionHeight);
|
|
501
|
+
const geometry = getDetectionGeometry(detection, highlightSizeX, highlightSizeY);
|
|
365
502
|
const style = (_DETECTION_STYLE$dete = DETECTION_STYLE[detection.label]) !== null && _DETECTION_STYLE$dete !== void 0 ? _DETECTION_STYLE$dete : DEFAULT_STYLE;
|
|
366
503
|
if (detection.labelName) {
|
|
367
504
|
style.label = detection.labelName;
|
|
368
505
|
}
|
|
369
506
|
foxgloveMessage.points.push({
|
|
370
507
|
timestamp: receiveTime,
|
|
371
|
-
points:
|
|
372
|
-
x: detection.xmin,
|
|
373
|
-
y: detection.ymin
|
|
374
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
375
|
-
x: detection.xmin,
|
|
376
|
-
y: detection.ymax
|
|
377
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
378
|
-
x: detection.xmax,
|
|
379
|
-
y: detection.ymax
|
|
380
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
381
|
-
x: detection.xmax,
|
|
382
|
-
y: detection.ymin
|
|
383
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
384
|
-
x: detection.xmin,
|
|
385
|
-
y: detection.ymin
|
|
386
|
-
}, {
|
|
387
|
-
x: detection.xmin,
|
|
388
|
-
y: detection.ymax
|
|
389
|
-
}, {
|
|
390
|
-
x: detection.xmax,
|
|
391
|
-
y: detection.ymax
|
|
392
|
-
}, {
|
|
393
|
-
x: detection.xmax,
|
|
394
|
-
y: detection.ymin
|
|
395
|
-
}],
|
|
508
|
+
points: geometry.outline,
|
|
396
509
|
type: typescript.PointsAnnotationType.LINE_LOOP,
|
|
397
510
|
outline_colors: [],
|
|
398
511
|
thickness: 0,
|
|
@@ -453,133 +566,15 @@ function deserializeImgDetections({
|
|
|
453
566
|
outline_color: style.outline,
|
|
454
567
|
fill_color: DEBUG_COLOR
|
|
455
568
|
};
|
|
456
|
-
|
|
457
|
-
points
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
x: detection.xmin + highlightSizeX,
|
|
462
|
-
y: detection.ymin
|
|
463
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
464
|
-
x: detection.xmin,
|
|
465
|
-
y: detection.ymin
|
|
466
|
-
}, {
|
|
467
|
-
x: detection.xmin + highlightSizeX,
|
|
468
|
-
y: detection.ymin
|
|
469
|
-
}]
|
|
470
|
-
}));
|
|
471
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
472
|
-
points: (_detection$boundingBo5 = detection.boundingBox) !== null && _detection$boundingBo5 !== void 0 && _detection$boundingBo5.angle && (_detection$boundingBo6 = detection.boundingBox) !== null && _detection$boundingBo6 !== void 0 && _detection$boundingBo6.center ? [rotatePoint({
|
|
473
|
-
x: detection.xmin,
|
|
474
|
-
y: detection.ymin
|
|
475
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
476
|
-
x: detection.xmin,
|
|
477
|
-
y: detection.ymin + highlightSizeY
|
|
478
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
479
|
-
x: detection.xmin,
|
|
480
|
-
y: detection.ymin
|
|
481
|
-
}, {
|
|
482
|
-
x: detection.xmin,
|
|
483
|
-
y: detection.ymin + highlightSizeY
|
|
484
|
-
}]
|
|
485
|
-
}));
|
|
486
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
487
|
-
points: (_detection$boundingBo7 = detection.boundingBox) !== null && _detection$boundingBo7 !== void 0 && _detection$boundingBo7.angle && (_detection$boundingBo8 = detection.boundingBox) !== null && _detection$boundingBo8 !== void 0 && _detection$boundingBo8.center ? [rotatePoint({
|
|
488
|
-
x: detection.xmax,
|
|
489
|
-
y: detection.ymin
|
|
490
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
491
|
-
x: detection.xmax - highlightSizeX,
|
|
492
|
-
y: detection.ymin
|
|
493
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
494
|
-
x: detection.xmax,
|
|
495
|
-
y: detection.ymin
|
|
496
|
-
}, {
|
|
497
|
-
x: detection.xmax - highlightSizeX,
|
|
498
|
-
y: detection.ymin
|
|
499
|
-
}]
|
|
500
|
-
}));
|
|
501
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
502
|
-
points: (_detection$boundingBo9 = detection.boundingBox) !== null && _detection$boundingBo9 !== void 0 && _detection$boundingBo9.angle && (_detection$boundingBo0 = detection.boundingBox) !== null && _detection$boundingBo0 !== void 0 && _detection$boundingBo0.center ? [rotatePoint({
|
|
503
|
-
x: detection.xmax,
|
|
504
|
-
y: detection.ymin
|
|
505
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
506
|
-
x: detection.xmax,
|
|
507
|
-
y: detection.ymin + highlightSizeY
|
|
508
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
509
|
-
x: detection.xmax,
|
|
510
|
-
y: detection.ymin
|
|
511
|
-
}, {
|
|
512
|
-
x: detection.xmax,
|
|
513
|
-
y: detection.ymin + highlightSizeY
|
|
514
|
-
}]
|
|
515
|
-
}));
|
|
516
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
517
|
-
points: (_detection$boundingBo1 = detection.boundingBox) !== null && _detection$boundingBo1 !== void 0 && _detection$boundingBo1.angle && (_detection$boundingBo10 = detection.boundingBox) !== null && _detection$boundingBo10 !== void 0 && _detection$boundingBo10.center ? [rotatePoint({
|
|
518
|
-
x: detection.xmax,
|
|
519
|
-
y: detection.ymax
|
|
520
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
521
|
-
x: detection.xmax - highlightSizeX,
|
|
522
|
-
y: detection.ymax
|
|
523
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
524
|
-
x: detection.xmax,
|
|
525
|
-
y: detection.ymax
|
|
526
|
-
}, {
|
|
527
|
-
x: detection.xmax - highlightSizeX,
|
|
528
|
-
y: detection.ymax
|
|
529
|
-
}]
|
|
530
|
-
}));
|
|
531
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
532
|
-
points: (_detection$boundingBo11 = detection.boundingBox) !== null && _detection$boundingBo11 !== void 0 && _detection$boundingBo11.angle && (_detection$boundingBo12 = detection.boundingBox) !== null && _detection$boundingBo12 !== void 0 && _detection$boundingBo12.center ? [rotatePoint({
|
|
533
|
-
x: detection.xmax,
|
|
534
|
-
y: detection.ymax
|
|
535
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
536
|
-
x: detection.xmax,
|
|
537
|
-
y: detection.ymax - highlightSizeY
|
|
538
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
539
|
-
x: detection.xmax,
|
|
540
|
-
y: detection.ymax
|
|
541
|
-
}, {
|
|
542
|
-
x: detection.xmax,
|
|
543
|
-
y: detection.ymax - highlightSizeY
|
|
544
|
-
}]
|
|
545
|
-
}));
|
|
546
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
547
|
-
points: (_detection$boundingBo13 = detection.boundingBox) !== null && _detection$boundingBo13 !== void 0 && _detection$boundingBo13.angle && (_detection$boundingBo14 = detection.boundingBox) !== null && _detection$boundingBo14 !== void 0 && _detection$boundingBo14.center ? [rotatePoint({
|
|
548
|
-
x: detection.xmin,
|
|
549
|
-
y: detection.ymax
|
|
550
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
551
|
-
x: detection.xmin + highlightSizeX,
|
|
552
|
-
y: detection.ymax
|
|
553
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
554
|
-
x: detection.xmin,
|
|
555
|
-
y: detection.ymax
|
|
556
|
-
}, {
|
|
557
|
-
x: detection.xmin + highlightSizeX,
|
|
558
|
-
y: detection.ymax
|
|
559
|
-
}]
|
|
560
|
-
}));
|
|
561
|
-
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
562
|
-
points: (_detection$boundingBo15 = detection.boundingBox) !== null && _detection$boundingBo15 !== void 0 && _detection$boundingBo15.angle && (_detection$boundingBo16 = detection.boundingBox) !== null && _detection$boundingBo16 !== void 0 && _detection$boundingBo16.center ? [rotatePoint({
|
|
563
|
-
x: detection.xmin,
|
|
564
|
-
y: detection.ymax
|
|
565
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle), rotatePoint({
|
|
566
|
-
x: detection.xmin,
|
|
567
|
-
y: detection.ymax - highlightSizeY
|
|
568
|
-
}, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle)] : [{
|
|
569
|
-
x: detection.xmin,
|
|
570
|
-
y: detection.ymax
|
|
571
|
-
}, {
|
|
572
|
-
x: detection.xmin,
|
|
573
|
-
y: detection.ymax - highlightSizeY
|
|
574
|
-
}]
|
|
575
|
-
}));
|
|
569
|
+
for (const segment of geometry.highlightSegments) {
|
|
570
|
+
foxgloveMessage.points.push(_objectSpread2(_objectSpread2({}, baseHighlightConfig), {}, {
|
|
571
|
+
points: segment
|
|
572
|
+
}));
|
|
573
|
+
}
|
|
576
574
|
const label = `${(_style$label = style.label) !== null && _style$label !== void 0 ? _style$label : `Unknown #${detection.label}`} ${Math.round(detection.confidence * 100)}%`;
|
|
577
575
|
foxgloveMessage.texts.push({
|
|
578
576
|
timestamp: receiveTime,
|
|
579
|
-
position:
|
|
580
|
-
x: detection.xmin + highligtLength / 2,
|
|
581
|
-
y: detection.ymin + highlightSizeY
|
|
582
|
-
},
|
|
577
|
+
position: geometry.labelPosition,
|
|
583
578
|
text: label,
|
|
584
579
|
font_size: getTextSize(width, height),
|
|
585
580
|
text_color: DEFAULT_TEXT_COLOR,
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, ac as html, ad as parseMixed, ag as javascriptLanguage } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, ac as html, ad as parseMixed, ag as javascriptLanguage } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, ag as javascriptLanguage, W as LRLanguage, X as LanguageSupport, Z as LRParser, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, ag as javascriptLanguage, W as LRLanguage, X as LanguageSupport, Z as LRParser, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { ImagePanel } from './index-
|
|
2
|
+
import { ImagePanel } from './index-D1zXLkli.js';
|
|
3
3
|
import 'react';
|
|
4
4
|
import 'react-dom/client';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -10,7 +10,7 @@ import 'zustand';
|
|
|
10
10
|
import 'react-mosaic-component';
|
|
11
11
|
import '@mui/material';
|
|
12
12
|
import './isArrayLikeObject-n9ytTioB.js';
|
|
13
|
-
import './index-
|
|
13
|
+
import './index-plyilw_0.js';
|
|
14
14
|
import './utils-DmlHZWuo.js';
|
|
15
15
|
import './FoxgloveServer-B98MHUu6.js';
|
|
16
16
|
import 'ms';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, ad as parseMixed } from './index-
|
|
2
|
+
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, ad as parseMixed } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, T as foldNodeProp, a5 as foldInside, Q as indentNodeProp, R as continuedIndent, ae as defineCSSCompletionSource, X as LanguageSupport } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, T as foldNodeProp, a5 as foldInside, Q as indentNodeProp, R as continuedIndent, ae as defineCSSCompletionSource, X as LanguageSupport } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a2 as LocalTokenGroup, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -4,7 +4,7 @@ import React__default, { useReducer, useRef, useCallback, useLayoutEffect, Compo
|
|
|
4
4
|
import { createRoot } from 'react-dom/client';
|
|
5
5
|
import { a0 as isSymbol, a1 as toString, a2 as keys, a3 as getSymbols$1, a4 as stubArray, a5 as arrayPush, a6 as baseGetAllKeys, h as getTag, a7 as getAllKeys, l as baseGet, f as baseIteratee, k as castPath, t as toKey, a8 as arrayMap$1, a9 as useCurrentLayoutActions, aa as useCurrentLayoutSelector, r as reportError, A as AppError, ab as usePanelMosaicId, ac as noop$4, L as Logger, ad as useSelectedPanels, p as getPanelTypeFromId, N as useShallowMemo, T as TAB_PANEL_TYPE, K as filterMap, d as dist$2, ae as useAppConfiguration, af as useJsonTreeTheme } from './depth-DlC6A3Te.js';
|
|
6
6
|
import { createStore, useStore } from 'zustand';
|
|
7
|
-
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-
|
|
7
|
+
import { g as generateUtilityClass, c as createAggregator, f as flatRest, b as baseSet, A as AnalyticsContext, m as murmur2, P as PropTypes, _ as _objectWithoutPropertiesLoose$1, E as ErrorDisplay, S as Stack$1, a as makeStyles$1, u as useTranslation, d as usePanelCatalog, e as EmptyState, i as isEmpty, h as PanelContext, j as PanelCatalogContext, k as usePanelStateStore, l as difference, n as usePanelContext, o as useMessagePipeline, v as v4, p as useDefaultPanelTitle, q as useHoverValue, r as useSetHoverValue, s as useClearHoverValue, t as useMessagePipelineGetter, w as usePanelSettingsTreeUpdate, x as PlayerCapabilities, y as assertNever, z as PlayerPresence, B as isEqual, C as AppEvent, D as isDesktopApp, F as createTheme, G as propTypesExports, H as DEFAULT_CAMERA_STATE$1, I as format$1, J as stringType, K as serializeError, L as stringify$1, M as createIntl, N as createIntlCache, O as useAnalytics } from './index-plyilw_0.js';
|
|
8
8
|
import { _ as _classPrivateFieldLooseBase, a as _classPrivateFieldLooseKey, d as _objectWithoutProperties, e as _extends$1, f as commonjsGlobal, g as getDefaultExportFromCjs, b as _objectSpread2, i as getAugmentedNamespace, j as _asyncIterator } from './protobuf-Be0G3NFz.js';
|
|
9
9
|
import { MosaicDragType, MosaicContext, MosaicWindowContext, getOtherBranch, getNodeAtPath } from 'react-mosaic-component';
|
|
10
10
|
import { Link, Button, alpha, IconButton, Card, CardActionArea, CardMedia, CardContent, Typography, Container, Tooltip, Fade, ListItem, ListItemButton, ListItemText, List, TextField, InputAdornment, Popper, Grow, Paper, ClickAwayListener, Menu, MenuItem, Divider, buttonClasses, Backdrop, Chip, useTheme, inputBaseClasses, autocompleteClasses, inputClasses, Checkbox, dialogActionsClasses, filledInputClasses, inputAdornmentClasses, listSubheaderClasses, selectClasses, tableCellClasses, ThemeProvider as ThemeProvider$1, tabsClasses as tabsClasses$1, tabClasses, Tabs, Tab, ListItemIcon } from '@mui/material';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, T as foldNodeProp, af as bracketMatchingHandle, X as LanguageSupport, aa as EditorView, a1 as syntaxTree, ab as EditorSelection } from './index-
|
|
2
|
+
import { a6 as ContextTracker, Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, T as foldNodeProp, af as bracketMatchingHandle, X as LanguageSupport, aa as EditorView, a1 as syntaxTree, ab as EditorSelection } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, ae as defineCSSCompletionSource, X as LanguageSupport, Z as LRParser, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, ae as defineCSSCompletionSource, X as LanguageSupport, Z as LRParser, Y as ExternalTokenizer } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Y as ExternalTokenizer, Z as LRParser, $ as ifNotIn, a0 as completeFromList, a1 as syntaxTree } from './index-
|
|
2
|
+
import { Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, U as styleTags, V as tags, W as LRLanguage, X as LanguageSupport, Y as ExternalTokenizer, Z as LRParser, $ as ifNotIn, a0 as completeFromList, a1 as syntaxTree } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, ac as html, X as LanguageSupport, ad as parseMixed } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, ac as html, X as LanguageSupport, ad as parseMixed } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a1 as syntaxTree, $ as ifNotIn, W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, a8 as IterMode, a0 as completeFromList, a9 as NodeWeakMap, a7 as snippetCompletion } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, U as styleTags, V as tags, Z as LRParser, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, U as styleTags, V as tags, X as LanguageSupport, Z as LRParser } from './index-
|
|
2
|
+
import { W as LRLanguage, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, U as styleTags, V as tags, X as LanguageSupport, Z as LRParser } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-
|
|
2
|
+
import { aa as EditorView, ab as EditorSelection, W as LRLanguage, U as styleTags, V as tags, Q as indentNodeProp, a4 as delimitedIndent, T as foldNodeProp, X as LanguageSupport, Z as LRParser, a1 as syntaxTree, ac as html, ad as parseMixed, Y as ExternalTokenizer } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, a7 as snippetCompletion, a1 as syntaxTree, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, $ as ifNotIn, a0 as completeFromList, a8 as IterMode, a9 as NodeWeakMap } from './index-
|
|
2
|
+
import { Y as ExternalTokenizer, a6 as ContextTracker, U as styleTags, V as tags, Z as LRParser, a2 as LocalTokenGroup, a7 as snippetCompletion, a1 as syntaxTree, W as LRLanguage, Q as indentNodeProp, R as continuedIndent, a3 as flatIndent, a4 as delimitedIndent, T as foldNodeProp, a5 as foldInside, X as LanguageSupport, $ as ifNotIn, a0 as completeFromList, a8 as IterMode, a9 as NodeWeakMap } from './index-plyilw_0.js';
|
|
3
3
|
import './protobuf-Be0G3NFz.js';
|
|
4
4
|
import './logger-Bqy1nuLj.js';
|
|
5
5
|
import './depth-DlC6A3Te.js';
|
|
@@ -975,7 +975,7 @@ ConfigStore.instance = void 0;
|
|
|
975
975
|
|
|
976
976
|
var _localStorage$getItem;
|
|
977
977
|
function initWorker(callback) {
|
|
978
|
-
const worker = new Worker(new URL("deserialization.worker-
|
|
978
|
+
const worker = new Worker(new URL("deserialization.worker-YKcSaSWH.js", import.meta.url), {
|
|
979
979
|
type: "module",
|
|
980
980
|
name: `message-decoder`
|
|
981
981
|
});
|
|
@@ -88704,7 +88704,7 @@ function legacy(parser) {
|
|
|
88704
88704
|
return new LanguageSupport(StreamLanguage.define(parser));
|
|
88705
88705
|
}
|
|
88706
88706
|
function sql$1(dialectName) {
|
|
88707
|
-
return import('./index-
|
|
88707
|
+
return import('./index-DpUuSNx-.js').then(m => m.sql({ dialect: m[dialectName] }));
|
|
88708
88708
|
}
|
|
88709
88709
|
/**
|
|
88710
88710
|
An array of language descriptions for known language packages.
|
|
@@ -88715,7 +88715,7 @@ const languages = [
|
|
|
88715
88715
|
name: "C",
|
|
88716
88716
|
extensions: ["c", "h", "ino"],
|
|
88717
88717
|
load() {
|
|
88718
|
-
return import('./index-
|
|
88718
|
+
return import('./index-C9_ELgH0.js').then(m => m.cpp());
|
|
88719
88719
|
}
|
|
88720
88720
|
}),
|
|
88721
88721
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88723,7 +88723,7 @@ const languages = [
|
|
|
88723
88723
|
alias: ["cpp"],
|
|
88724
88724
|
extensions: ["cpp", "c++", "cc", "cxx", "hpp", "h++", "hh", "hxx"],
|
|
88725
88725
|
load() {
|
|
88726
|
-
return import('./index-
|
|
88726
|
+
return import('./index-C9_ELgH0.js').then(m => m.cpp());
|
|
88727
88727
|
}
|
|
88728
88728
|
}),
|
|
88729
88729
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88743,7 +88743,7 @@ const languages = [
|
|
|
88743
88743
|
name: "Go",
|
|
88744
88744
|
extensions: ["go"],
|
|
88745
88745
|
load() {
|
|
88746
|
-
return import('./index-
|
|
88746
|
+
return import('./index-fnrBNnsp.js').then(m => m.go());
|
|
88747
88747
|
}
|
|
88748
88748
|
}),
|
|
88749
88749
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88758,7 +88758,7 @@ const languages = [
|
|
|
88758
88758
|
name: "Java",
|
|
88759
88759
|
extensions: ["java"],
|
|
88760
88760
|
load() {
|
|
88761
|
-
return import('./index-
|
|
88761
|
+
return import('./index-D89yfNy9.js').then(m => m.java());
|
|
88762
88762
|
}
|
|
88763
88763
|
}),
|
|
88764
88764
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88773,7 +88773,7 @@ const languages = [
|
|
|
88773
88773
|
name: "Jinja",
|
|
88774
88774
|
extensions: ["j2", "jinja", "jinja2"],
|
|
88775
88775
|
load() {
|
|
88776
|
-
return import('./index-
|
|
88776
|
+
return import('./index-CA-EmEAR.js').then(m => m.jinja());
|
|
88777
88777
|
}
|
|
88778
88778
|
}),
|
|
88779
88779
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88781,7 +88781,7 @@ const languages = [
|
|
|
88781
88781
|
alias: ["json5"],
|
|
88782
88782
|
extensions: ["json", "map"],
|
|
88783
88783
|
load() {
|
|
88784
|
-
return import('./index-
|
|
88784
|
+
return import('./index-Dx4uEaE6.js').then(m => m.json());
|
|
88785
88785
|
}
|
|
88786
88786
|
}),
|
|
88787
88787
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88795,14 +88795,14 @@ const languages = [
|
|
|
88795
88795
|
name: "LESS",
|
|
88796
88796
|
extensions: ["less"],
|
|
88797
88797
|
load() {
|
|
88798
|
-
return import('./index-
|
|
88798
|
+
return import('./index-DoXJbu-D.js').then(m => m.less());
|
|
88799
88799
|
}
|
|
88800
88800
|
}),
|
|
88801
88801
|
/*@__PURE__*/LanguageDescription.of({
|
|
88802
88802
|
name: "Liquid",
|
|
88803
88803
|
extensions: ["liquid"],
|
|
88804
88804
|
load() {
|
|
88805
|
-
return import('./index-
|
|
88805
|
+
return import('./index-X7vcFOB2.js').then(m => m.liquid());
|
|
88806
88806
|
}
|
|
88807
88807
|
}),
|
|
88808
88808
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88828,7 +88828,7 @@ const languages = [
|
|
|
88828
88828
|
name: "PHP",
|
|
88829
88829
|
extensions: ["php", "php3", "php4", "php5", "php7", "phtml"],
|
|
88830
88830
|
load() {
|
|
88831
|
-
return import('./index-
|
|
88831
|
+
return import('./index-Du4IzW8k.js').then(m => m.php());
|
|
88832
88832
|
}
|
|
88833
88833
|
}),
|
|
88834
88834
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88845,28 +88845,28 @@ const languages = [
|
|
|
88845
88845
|
extensions: ["BUILD", "bzl", "py", "pyw"],
|
|
88846
88846
|
filename: /^(BUCK|BUILD)$/,
|
|
88847
88847
|
load() {
|
|
88848
|
-
return import('./index-
|
|
88848
|
+
return import('./index-Duh8rNuw.js').then(m => m.python());
|
|
88849
88849
|
}
|
|
88850
88850
|
}),
|
|
88851
88851
|
/*@__PURE__*/LanguageDescription.of({
|
|
88852
88852
|
name: "Rust",
|
|
88853
88853
|
extensions: ["rs"],
|
|
88854
88854
|
load() {
|
|
88855
|
-
return import('./index-
|
|
88855
|
+
return import('./index-Eu-m3JKy.js').then(m => m.rust());
|
|
88856
88856
|
}
|
|
88857
88857
|
}),
|
|
88858
88858
|
/*@__PURE__*/LanguageDescription.of({
|
|
88859
88859
|
name: "Sass",
|
|
88860
88860
|
extensions: ["sass"],
|
|
88861
88861
|
load() {
|
|
88862
|
-
return import('./index-
|
|
88862
|
+
return import('./index-C77lunov.js').then(m => m.sass({ indented: true }));
|
|
88863
88863
|
}
|
|
88864
88864
|
}),
|
|
88865
88865
|
/*@__PURE__*/LanguageDescription.of({
|
|
88866
88866
|
name: "SCSS",
|
|
88867
88867
|
extensions: ["scss"],
|
|
88868
88868
|
load() {
|
|
88869
|
-
return import('./index-
|
|
88869
|
+
return import('./index-C77lunov.js').then(m => m.sass());
|
|
88870
88870
|
}
|
|
88871
88871
|
}),
|
|
88872
88872
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88897,7 +88897,7 @@ const languages = [
|
|
|
88897
88897
|
name: "WebAssembly",
|
|
88898
88898
|
extensions: ["wat", "wast"],
|
|
88899
88899
|
load() {
|
|
88900
|
-
return import('./index-
|
|
88900
|
+
return import('./index-IGydAG_o.js').then(m => m.wast());
|
|
88901
88901
|
}
|
|
88902
88902
|
}),
|
|
88903
88903
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88905,7 +88905,7 @@ const languages = [
|
|
|
88905
88905
|
alias: ["rss", "wsdl", "xsd"],
|
|
88906
88906
|
extensions: ["xml", "xsl", "xsd", "svg"],
|
|
88907
88907
|
load() {
|
|
88908
|
-
return import('./index-
|
|
88908
|
+
return import('./index-DmP7sjUz.js').then(m => m.xml());
|
|
88909
88909
|
}
|
|
88910
88910
|
}),
|
|
88911
88911
|
/*@__PURE__*/LanguageDescription.of({
|
|
@@ -88913,7 +88913,7 @@ const languages = [
|
|
|
88913
88913
|
alias: ["yml"],
|
|
88914
88914
|
extensions: ["yaml", "yml"],
|
|
88915
88915
|
load() {
|
|
88916
|
-
return import('./index-
|
|
88916
|
+
return import('./index-C53DG9uU.js').then(m => m.yaml());
|
|
88917
88917
|
}
|
|
88918
88918
|
}),
|
|
88919
88919
|
// Legacy modes ported from CodeMirror 5
|
|
@@ -89702,13 +89702,13 @@ const languages = [
|
|
|
89702
89702
|
name: "Vue",
|
|
89703
89703
|
extensions: ["vue"],
|
|
89704
89704
|
load() {
|
|
89705
|
-
return import('./index-
|
|
89705
|
+
return import('./index-BMIqHWwd.js').then(m => m.vue());
|
|
89706
89706
|
}
|
|
89707
89707
|
}),
|
|
89708
89708
|
/*@__PURE__*/LanguageDescription.of({
|
|
89709
89709
|
name: "Angular Template",
|
|
89710
89710
|
load() {
|
|
89711
|
-
return import('./index-
|
|
89711
|
+
return import('./index-BN2v1iMN.js').then(m => m.angular());
|
|
89712
89712
|
}
|
|
89713
89713
|
})
|
|
89714
89714
|
];
|
|
@@ -174762,7 +174762,7 @@ function createRenderDelaySampler() {
|
|
|
174762
174762
|
};
|
|
174763
174763
|
}
|
|
174764
174764
|
|
|
174765
|
-
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
174765
|
+
const ImagePanelComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-Bq4VaIv3.js'));
|
|
174766
174766
|
const ImagePanelBody = ({
|
|
174767
174767
|
topic,
|
|
174768
174768
|
frameRenderedEvent,
|
|
@@ -174857,7 +174857,7 @@ const DEFAULT_CAMERA_STATE = {
|
|
|
174857
174857
|
// License, v2.0. If a copy of the MPL was not distributed with this
|
|
174858
174858
|
// file, You can obtain one at http://mozilla.org/MPL/2.0/
|
|
174859
174859
|
|
|
174860
|
-
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-
|
|
174860
|
+
const ThreeDeeRenderComponent = /*#__PURE__*/React__default.lazy(async () => await import('./index-D1zXLkli.js'));
|
|
174861
174861
|
const PointCloudPanelBody = ({
|
|
174862
174862
|
topic,
|
|
174863
174863
|
frameRenderedEvent,
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
'use client';
|
|
2
|
-
export { ar as FrameStore, ak as ImagePanel, aj as PanelLayout, al as PointCloudPanel, ah as VisualizerConnection, ai as VisualizerContext, am as constructKeyForTopicRenderMetrics, as as getIMUEventEmitter, ao as globalDecodeMetricsManager, an as globalInputEventMetricsManager, ap as globalRenderMetricsManager, aq as globalThroughputMetricsManager } from './index-
|
|
2
|
+
export { ar as FrameStore, ak as ImagePanel, aj as PanelLayout, al as PointCloudPanel, ah as VisualizerConnection, ai as VisualizerContext, am as constructKeyForTopicRenderMetrics, as as getIMUEventEmitter, ao as globalDecodeMetricsManager, an as globalInputEventMetricsManager, ap as globalRenderMetricsManager, aq as globalThroughputMetricsManager } from './index-plyilw_0.js';
|
|
3
3
|
export { S as getDistanceFromDepthDataForOffset } from './depth-DlC6A3Te.js';
|
|
4
4
|
import './protobuf-Be0G3NFz.js';
|
|
5
5
|
import './logger-Bqy1nuLj.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/detections/detection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;
|
|
1
|
+
{"version":3,"file":"detection.d.ts","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/detections/detection.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,YAAY,EAAE,MAAM,qCAAqC,CAAC;AAWnE,OAAO,EAAgB,aAAa,EAAE,MAAM,8CAA8C,CAAC;AAG3F,MAAM,MAAM,UAAU,GAAG,GAAG,CAC1B,MAAM,EACN;IACE,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB,CACF,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG;IACzC,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,UAAU,CAAC;IACvB,OAAO,EAAE,aAAa,CAAC;IACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACzC,CAAC;AA8MF,wBAAgB,wBAAwB,CAAC,EACvC,KAAK,EACL,OAAO,EACP,QAAQ,EACR,UAAU,GACX,EAAE,4BAA4B,GAAG,IAAI,CA8HrC"}
|
|
@@ -17,6 +17,111 @@ function rotatePoint(point, centerX, centerY, angleDegrees) {
|
|
|
17
17
|
y: yRotated + centerY,
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
+
function getDetectionGeometry(detection, highlightSizeX, highlightSizeY) {
|
|
21
|
+
const rotatedBoundingBox = detection.boundingBox;
|
|
22
|
+
if (rotatedBoundingBox?.center && rotatedBoundingBox.size) {
|
|
23
|
+
const { center, size, angle } = rotatedBoundingBox;
|
|
24
|
+
const halfWidth = size.width / 2;
|
|
25
|
+
const halfHeight = size.height / 2;
|
|
26
|
+
const topLeft = rotatePoint({ x: center.x - halfWidth, y: center.y - halfHeight }, center.x, center.y, angle);
|
|
27
|
+
const bottomLeft = rotatePoint({ x: center.x - halfWidth, y: center.y + halfHeight }, center.x, center.y, angle);
|
|
28
|
+
const bottomRight = rotatePoint({ x: center.x + halfWidth, y: center.y + halfHeight }, center.x, center.y, angle);
|
|
29
|
+
const topRight = rotatePoint({ x: center.x + halfWidth, y: center.y - halfHeight }, center.x, center.y, angle);
|
|
30
|
+
const outline = [
|
|
31
|
+
topLeft,
|
|
32
|
+
bottomLeft,
|
|
33
|
+
bottomRight,
|
|
34
|
+
topRight,
|
|
35
|
+
];
|
|
36
|
+
const highlightTopWidth = Math.min(highlightSizeX, size.width);
|
|
37
|
+
const highlightSideHeight = Math.min(highlightSizeY, size.height);
|
|
38
|
+
const highlightSegments = [
|
|
39
|
+
[
|
|
40
|
+
topLeft,
|
|
41
|
+
rotatePoint({ x: center.x - halfWidth + highlightTopWidth, y: center.y - halfHeight }, center.x, center.y, angle),
|
|
42
|
+
],
|
|
43
|
+
[
|
|
44
|
+
topLeft,
|
|
45
|
+
rotatePoint({ x: center.x - halfWidth, y: center.y - halfHeight + highlightSideHeight }, center.x, center.y, angle),
|
|
46
|
+
],
|
|
47
|
+
[
|
|
48
|
+
topRight,
|
|
49
|
+
rotatePoint({ x: center.x + halfWidth - highlightTopWidth, y: center.y - halfHeight }, center.x, center.y, angle),
|
|
50
|
+
],
|
|
51
|
+
[
|
|
52
|
+
topRight,
|
|
53
|
+
rotatePoint({ x: center.x + halfWidth, y: center.y - halfHeight + highlightSideHeight }, center.x, center.y, angle),
|
|
54
|
+
],
|
|
55
|
+
[
|
|
56
|
+
bottomRight,
|
|
57
|
+
rotatePoint({ x: center.x + halfWidth - highlightTopWidth, y: center.y + halfHeight }, center.x, center.y, angle),
|
|
58
|
+
],
|
|
59
|
+
[
|
|
60
|
+
bottomRight,
|
|
61
|
+
rotatePoint({ x: center.x + halfWidth, y: center.y + halfHeight - highlightSideHeight }, center.x, center.y, angle),
|
|
62
|
+
],
|
|
63
|
+
[
|
|
64
|
+
bottomLeft,
|
|
65
|
+
rotatePoint({ x: center.x - halfWidth + highlightTopWidth, y: center.y + halfHeight }, center.x, center.y, angle),
|
|
66
|
+
],
|
|
67
|
+
[
|
|
68
|
+
bottomLeft,
|
|
69
|
+
rotatePoint({ x: center.x - halfWidth, y: center.y + halfHeight - highlightSideHeight }, center.x, center.y, angle),
|
|
70
|
+
],
|
|
71
|
+
];
|
|
72
|
+
const minX = Math.min(...outline.map((point) => point.x));
|
|
73
|
+
const minY = Math.min(...outline.map((point) => point.y));
|
|
74
|
+
return {
|
|
75
|
+
outline,
|
|
76
|
+
highlightSegments,
|
|
77
|
+
labelPosition: { x: minX + highlightSizeX / 2, y: minY + highlightSizeY },
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
const outline = [
|
|
81
|
+
{ x: detection.xmin, y: detection.ymin },
|
|
82
|
+
{ x: detection.xmin, y: detection.ymax },
|
|
83
|
+
{ x: detection.xmax, y: detection.ymax },
|
|
84
|
+
{ x: detection.xmax, y: detection.ymin },
|
|
85
|
+
];
|
|
86
|
+
return {
|
|
87
|
+
outline,
|
|
88
|
+
highlightSegments: [
|
|
89
|
+
[
|
|
90
|
+
{ x: detection.xmin, y: detection.ymin },
|
|
91
|
+
{ x: detection.xmin + highlightSizeX, y: detection.ymin },
|
|
92
|
+
],
|
|
93
|
+
[
|
|
94
|
+
{ x: detection.xmin, y: detection.ymin },
|
|
95
|
+
{ x: detection.xmin, y: detection.ymin + highlightSizeY },
|
|
96
|
+
],
|
|
97
|
+
[
|
|
98
|
+
{ x: detection.xmax, y: detection.ymin },
|
|
99
|
+
{ x: detection.xmax - highlightSizeX, y: detection.ymin },
|
|
100
|
+
],
|
|
101
|
+
[
|
|
102
|
+
{ x: detection.xmax, y: detection.ymin },
|
|
103
|
+
{ x: detection.xmax, y: detection.ymin + highlightSizeY },
|
|
104
|
+
],
|
|
105
|
+
[
|
|
106
|
+
{ x: detection.xmax, y: detection.ymax },
|
|
107
|
+
{ x: detection.xmax - highlightSizeX, y: detection.ymax },
|
|
108
|
+
],
|
|
109
|
+
[
|
|
110
|
+
{ x: detection.xmax, y: detection.ymax },
|
|
111
|
+
{ x: detection.xmax, y: detection.ymax - highlightSizeY },
|
|
112
|
+
],
|
|
113
|
+
[
|
|
114
|
+
{ x: detection.xmin, y: detection.ymax },
|
|
115
|
+
{ x: detection.xmin + highlightSizeX, y: detection.ymax },
|
|
116
|
+
],
|
|
117
|
+
[
|
|
118
|
+
{ x: detection.xmin, y: detection.ymax },
|
|
119
|
+
{ x: detection.xmin, y: detection.ymax - highlightSizeY },
|
|
120
|
+
],
|
|
121
|
+
],
|
|
122
|
+
labelPosition: { x: detection.xmin + highlightSizeX / 2, y: detection.ymin + highlightSizeY },
|
|
123
|
+
};
|
|
124
|
+
}
|
|
20
125
|
export function deserializeImgDetections({ topic, message, callback, topicSizes, }) {
|
|
21
126
|
const { receiveTime } = parseMessage(message);
|
|
22
127
|
const foxgloveMessage = {
|
|
@@ -26,33 +131,23 @@ export function deserializeImgDetections({ topic, message, callback, topicSizes,
|
|
|
26
131
|
};
|
|
27
132
|
if (message.detections.length > 0) {
|
|
28
133
|
for (const detection of message.detections) {
|
|
29
|
-
const detectionWidth = detection.xmax - detection.xmin;
|
|
134
|
+
const detectionWidth = detection.boundingBox?.size?.width ?? detection.xmax - detection.xmin;
|
|
135
|
+
const detectionHeight = detection.boundingBox?.size?.height ?? detection.ymax - detection.ymin;
|
|
30
136
|
const { width, height } = (message.transformation?.width && message.transformation.height
|
|
31
137
|
? { width: message.transformation.width, height: message.transformation.height }
|
|
32
138
|
: topicSizes.values().next().value ?? { width: DEFAULT_WIDTH, height: DEFAULT_HEIGHT });
|
|
33
139
|
const ratio = width / height;
|
|
34
140
|
const highligtLength = 0.035;
|
|
35
141
|
const highlightSizeX = Math.min(highligtLength, detectionWidth);
|
|
36
|
-
const highlightSizeY = Math.min(highligtLength * ratio,
|
|
142
|
+
const highlightSizeY = Math.min(highligtLength * ratio, detectionHeight);
|
|
143
|
+
const geometry = getDetectionGeometry(detection, highlightSizeX, highlightSizeY);
|
|
37
144
|
const style = DETECTION_STYLE[detection.label] ?? DEFAULT_STYLE;
|
|
38
145
|
if (detection.labelName) {
|
|
39
146
|
style.label = detection.labelName;
|
|
40
147
|
}
|
|
41
148
|
foxgloveMessage.points.push({
|
|
42
149
|
timestamp: receiveTime,
|
|
43
|
-
points:
|
|
44
|
-
[
|
|
45
|
-
rotatePoint({ x: detection.xmin, y: detection.ymin }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
46
|
-
rotatePoint({ x: detection.xmin, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
47
|
-
rotatePoint({ x: detection.xmax, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
48
|
-
rotatePoint({ x: detection.xmax, y: detection.ymin }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
49
|
-
]
|
|
50
|
-
: [
|
|
51
|
-
{ x: detection.xmin, y: detection.ymin },
|
|
52
|
-
{ x: detection.xmin, y: detection.ymax },
|
|
53
|
-
{ x: detection.xmax, y: detection.ymax },
|
|
54
|
-
{ x: detection.xmax, y: detection.ymin },
|
|
55
|
-
],
|
|
150
|
+
points: geometry.outline,
|
|
56
151
|
type: PointsAnnotationType.LINE_LOOP,
|
|
57
152
|
outline_colors: [],
|
|
58
153
|
thickness: 0,
|
|
@@ -105,90 +200,16 @@ export function deserializeImgDetections({ topic, message, callback, topicSizes,
|
|
|
105
200
|
outline_color: style.outline,
|
|
106
201
|
fill_color: DEBUG_COLOR,
|
|
107
202
|
};
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
{ x: detection.xmin, y: detection.ymin },
|
|
115
|
-
{ x: detection.xmin + highlightSizeX, y: detection.ymin },
|
|
116
|
-
],
|
|
117
|
-
});
|
|
118
|
-
foxgloveMessage.points.push({
|
|
119
|
-
...baseHighlightConfig,
|
|
120
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
121
|
-
rotatePoint({ x: detection.xmin, y: detection.ymin }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
122
|
-
rotatePoint({ x: detection.xmin, y: detection.ymin + highlightSizeY }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
123
|
-
] : [
|
|
124
|
-
{ x: detection.xmin, y: detection.ymin },
|
|
125
|
-
{ x: detection.xmin, y: detection.ymin + highlightSizeY },
|
|
126
|
-
],
|
|
127
|
-
});
|
|
128
|
-
foxgloveMessage.points.push({
|
|
129
|
-
...baseHighlightConfig,
|
|
130
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
131
|
-
rotatePoint({ x: detection.xmax, y: detection.ymin }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
132
|
-
rotatePoint({ x: detection.xmax - highlightSizeX, y: detection.ymin }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
133
|
-
] : [
|
|
134
|
-
{ x: detection.xmax, y: detection.ymin },
|
|
135
|
-
{ x: detection.xmax - highlightSizeX, y: detection.ymin },
|
|
136
|
-
],
|
|
137
|
-
});
|
|
138
|
-
foxgloveMessage.points.push({
|
|
139
|
-
...baseHighlightConfig,
|
|
140
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
141
|
-
rotatePoint({ x: detection.xmax, y: detection.ymin }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
142
|
-
rotatePoint({ x: detection.xmax, y: detection.ymin + highlightSizeY }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
143
|
-
] : [
|
|
144
|
-
{ x: detection.xmax, y: detection.ymin },
|
|
145
|
-
{ x: detection.xmax, y: detection.ymin + highlightSizeY },
|
|
146
|
-
],
|
|
147
|
-
});
|
|
148
|
-
foxgloveMessage.points.push({
|
|
149
|
-
...baseHighlightConfig,
|
|
150
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
151
|
-
rotatePoint({ x: detection.xmax, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
152
|
-
rotatePoint({ x: detection.xmax - highlightSizeX, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
153
|
-
] : [
|
|
154
|
-
{ x: detection.xmax, y: detection.ymax },
|
|
155
|
-
{ x: detection.xmax - highlightSizeX, y: detection.ymax },
|
|
156
|
-
],
|
|
157
|
-
});
|
|
158
|
-
foxgloveMessage.points.push({
|
|
159
|
-
...baseHighlightConfig,
|
|
160
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
161
|
-
rotatePoint({ x: detection.xmax, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
162
|
-
rotatePoint({ x: detection.xmax, y: detection.ymax - highlightSizeY }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
163
|
-
] : [
|
|
164
|
-
{ x: detection.xmax, y: detection.ymax },
|
|
165
|
-
{ x: detection.xmax, y: detection.ymax - highlightSizeY },
|
|
166
|
-
],
|
|
167
|
-
});
|
|
168
|
-
foxgloveMessage.points.push({
|
|
169
|
-
...baseHighlightConfig,
|
|
170
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
171
|
-
rotatePoint({ x: detection.xmin, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
172
|
-
rotatePoint({ x: detection.xmin + highlightSizeX, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
173
|
-
] : [
|
|
174
|
-
{ x: detection.xmin, y: detection.ymax },
|
|
175
|
-
{ x: detection.xmin + highlightSizeX, y: detection.ymax },
|
|
176
|
-
],
|
|
177
|
-
});
|
|
178
|
-
foxgloveMessage.points.push({
|
|
179
|
-
...baseHighlightConfig,
|
|
180
|
-
points: detection.boundingBox?.angle && detection.boundingBox?.center ? [
|
|
181
|
-
rotatePoint({ x: detection.xmin, y: detection.ymax }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
182
|
-
rotatePoint({ x: detection.xmin, y: detection.ymax - highlightSizeY }, detection.boundingBox.center.x, detection.boundingBox.center.y, detection.boundingBox.angle),
|
|
183
|
-
] : [
|
|
184
|
-
{ x: detection.xmin, y: detection.ymax },
|
|
185
|
-
{ x: detection.xmin, y: detection.ymax - highlightSizeY },
|
|
186
|
-
],
|
|
187
|
-
});
|
|
203
|
+
for (const segment of geometry.highlightSegments) {
|
|
204
|
+
foxgloveMessage.points.push({
|
|
205
|
+
...baseHighlightConfig,
|
|
206
|
+
points: segment,
|
|
207
|
+
});
|
|
208
|
+
}
|
|
188
209
|
const label = `${style.label ?? `Unknown #${detection.label}`} ${Math.round(detection.confidence * 100)}%`;
|
|
189
210
|
foxgloveMessage.texts.push({
|
|
190
211
|
timestamp: receiveTime,
|
|
191
|
-
position:
|
|
212
|
+
position: geometry.labelPosition,
|
|
192
213
|
text: label,
|
|
193
214
|
font_size: getTextSize(width, height),
|
|
194
215
|
text_color: DEFAULT_TEXT_COLOR,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/detections/detection.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"detection.js","sourceRoot":"","sources":["../../../../../../src/messaging/deserialization/detections/detection.ts"],"names":[],"mappings":"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"}
|