Skip to content

Commit 159e7a6

Browse files
authored
:chore: Smart tools interfaces (#510)
1 parent cf45ed4 commit 159e7a6

File tree

4 files changed

+35
-37
lines changed

4 files changed

+35
-37
lines changed

web_ui/packages/smart-tools/eslint.config.js

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,5 +7,25 @@ export default [
77
...sharedConfig,
88
{
99
ignores: ['./src/opencv/interfaces']
10-
}
10+
},
11+
{
12+
files: ['./index.ts'],
13+
rules: {
14+
'no-restricted-imports': [
15+
'error',
16+
{
17+
patterns: [
18+
{
19+
group: ['@geti/smart-tools'],
20+
message: 'Importing files from @geti/smart-tools is not allowed.',
21+
},
22+
{
23+
group: ['../**/*'],
24+
message: 'Importing files outside of the current package is not allowed.',
25+
},
26+
],
27+
},
28+
],
29+
},
30+
},
1131
];
Lines changed: 13 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,32 @@
11
// Copyright (C) 2022-2025 Intel Corporation
22
// LIMITED EDGE SOFTWARE DISTRIBUTION LICENSE
33

4-
enum ShapeType {
5-
RotatedRect,
6-
Rect,
7-
Circle,
8-
Polygon,
9-
Pose,
10-
}
11-
124
export interface Point {
135
x: number;
146
y: number;
157
}
168

17-
export interface Rect {
18-
readonly shapeType: ShapeType.Rect;
19-
readonly x: number;
20-
readonly y: number;
9+
export interface Rect extends Point {
10+
readonly width: number;
11+
readonly height: number;
12+
readonly shapeType: 'rect';
13+
}
14+
15+
export interface RotatedRect extends Point {
2116
readonly width: number;
2217
readonly height: number;
18+
readonly angle: number; // In degrees
19+
readonly shapeType: 'rotated-rect';
2320
}
2421

2522
export interface Circle {
26-
readonly shapeType: ShapeType.Circle;
27-
readonly x: number;
28-
readonly y: number;
23+
readonly cx: number;
24+
readonly cy: number;
2925
readonly r: number;
26+
readonly shapeType: 'circle';
3027
}
3128

3229
export interface Polygon {
33-
readonly shapeType: ShapeType.Polygon;
3430
readonly points: Point[];
31+
readonly shapeType: 'polygon';
3532
}
36-
37-
export interface RotatedRect {
38-
readonly shapeType: ShapeType.RotatedRect;
39-
readonly x: number;
40-
readonly y: number;
41-
readonly width: number;
42-
readonly height: number;
43-
readonly angle: number; //degrees
44-
}
45-
46-
export type Shape = Rect | RotatedRect | Circle | Polygon;

web_ui/packages/smart-tools/src/watershed/interfaces.ts

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,9 @@ export interface WatershedPolygon {
1010
}
1111

1212
export type Marker = {
13+
id: number;
1314
label: { id: string };
1415
points: Point[];
15-
brushSize: number;
16-
id: number;
1716
};
1817

1918
export interface WatershedInstance {

web_ui/src/shared/canvas-utils.ts

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -81,10 +81,3 @@ export const getImageDataFromTiffFile = async (file: File): Promise<ImageData> =
8181

8282
return new ImageData(1, 1);
8383
};
84-
85-
export const getFileFromCanvas = (canvas: HTMLCanvasElement, fileName = '', type = 'image/jpeg') =>
86-
new Promise<File>(async (resolve, reject) => {
87-
canvas.toBlob((blob) => {
88-
blob ? resolve(new File([blob], fileName, { type })) : reject('error retrieving canvas blob file');
89-
}, type);
90-
});

0 commit comments

Comments
 (0)