Browse Source

Resolution: add validation and move to utils/

customisations
alemart 1 year ago
parent
commit
11e9a76db3

+ 1
- 1
src/core/gizmos.ts View File

27
 import { SpeedyMatrix } from 'speedy-vision/types/core/speedy-matrix';
27
 import { SpeedyMatrix } from 'speedy-vision/types/core/speedy-matrix';
28
 import { SpeedyKeypoint, SpeedyMatchedKeypoint } from 'speedy-vision/types/core/speedy-keypoint';
28
 import { SpeedyKeypoint, SpeedyMatchedKeypoint } from 'speedy-vision/types/core/speedy-keypoint';
29
 import { SpeedyPromise } from 'speedy-vision/types/core/speedy-promise';
29
 import { SpeedyPromise } from 'speedy-vision/types/core/speedy-promise';
30
-import { Resolution } from './resolution';
30
+import { Resolution } from '../utils/resolution';
31
 import { Nullable, Utils } from '../utils/utils';
31
 import { Nullable, Utils } from '../utils/utils';
32
 import { IllegalArgumentError, IllegalOperationError, TrackingError } from '../utils/errors';
32
 import { IllegalArgumentError, IllegalOperationError, TrackingError } from '../utils/errors';
33
 import { Viewport } from './viewport';
33
 import { Viewport } from './viewport';

+ 1
- 1
src/sources/camera-source.ts View File

24
 import { SpeedyMedia } from 'speedy-vision/types/core/speedy-media';
24
 import { SpeedyMedia } from 'speedy-vision/types/core/speedy-media';
25
 import { SpeedyPromise } from 'speedy-vision/types/core/speedy-promise';
25
 import { SpeedyPromise } from 'speedy-vision/types/core/speedy-promise';
26
 import { Utils } from '../utils/utils';
26
 import { Utils } from '../utils/utils';
27
-import { Resolution } from '../core/resolution';
27
+import { Resolution } from '../utils/resolution';
28
 import { NotSupportedError, AccessDeniedError, IllegalOperationError } from '../utils/errors';
28
 import { NotSupportedError, AccessDeniedError, IllegalOperationError } from '../utils/errors';
29
 import { VideoSource } from './video-source';
29
 import { VideoSource } from './video-source';
30
 
30
 

+ 1
- 1
src/trackers/image-tracker/image-tracker.ts View File

34
 import { Tracker, TrackerOutput, TrackerResult, Trackable } from '../tracker';
34
 import { Tracker, TrackerOutput, TrackerResult, Trackable } from '../tracker';
35
 import { Session } from '../../core/session';
35
 import { Session } from '../../core/session';
36
 import { IllegalOperationError, IllegalArgumentError } from '../../utils/errors';
36
 import { IllegalOperationError, IllegalArgumentError } from '../../utils/errors';
37
-import { Resolution } from '../../core/resolution';
37
+import { Resolution } from '../../utils/resolution';
38
 import { ReferenceImage } from './reference-image';
38
 import { ReferenceImage } from './reference-image';
39
 import { ReferenceImageDatabase } from './reference-image-database';
39
 import { ReferenceImageDatabase } from './reference-image-database';
40
 import { ImageTrackerState } from './states/state';
40
 import { ImageTrackerState } from './states/state';

+ 1
- 1
src/trackers/image-tracker/states/training.ts View File

29
 import { SpeedyPipelineNodeResize } from 'speedy-vision/types/core/pipeline/nodes/transforms/resize';
29
 import { SpeedyPipelineNodeResize } from 'speedy-vision/types/core/pipeline/nodes/transforms/resize';
30
 import { SpeedyPipelineNodeKeypointTransformer } from 'speedy-vision/types/core/pipeline/nodes/keypoints/transformer';
30
 import { SpeedyPipelineNodeKeypointTransformer } from 'speedy-vision/types/core/pipeline/nodes/keypoints/transformer';
31
 import { SpeedyKeypoint } from 'speedy-vision/types/core/speedy-keypoint';
31
 import { SpeedyKeypoint } from 'speedy-vision/types/core/speedy-keypoint';
32
-import { Resolution } from '../../../core/resolution';
32
+import { Resolution } from '../../../utils/resolution';
33
 import { ImageTracker, ImageTrackerOutput, ImageTrackerStateName } from '../image-tracker';
33
 import { ImageTracker, ImageTrackerOutput, ImageTrackerStateName } from '../image-tracker';
34
 import { ImageTrackerState, ImageTrackerStateOutput } from './state';
34
 import { ImageTrackerState, ImageTrackerStateOutput } from './state';
35
 import { ReferenceImage } from '../reference-image';
35
 import { ReferenceImage } from '../reference-image';

src/core/resolution.ts → src/utils/resolution.ts View File

22
 
22
 
23
 import Speedy from 'speedy-vision';
23
 import Speedy from 'speedy-vision';
24
 import { SpeedySize } from 'speedy-vision/types/core/speedy-size';
24
 import { SpeedySize } from 'speedy-vision/types/core/speedy-size';
25
+import { IllegalArgumentError } from './errors';
25
 
26
 
26
 /** Resolution type */
27
 /** Resolution type */
27
 export type Resolution = 'xs' | 'xs+' | 'sm' | 'sm+' | 'md' | 'md+' | 'lg' | 'lg+';
28
 export type Resolution = 'xs' | 'xs+' | 'sm' | 'sm+' | 'md' | 'md+' | 'lg' | 'lg+';
49
     const referenceHeight = REFERENCE_HEIGHT[resolution];
50
     const referenceHeight = REFERENCE_HEIGHT[resolution];
50
     let width = 0, height = 0;
51
     let width = 0, height = 0;
51
 
52
 
53
+    if(referenceHeight === undefined)
54
+        throw new IllegalArgumentError('Invalid resolution: ' + resolution);
55
+    else if(aspectRatio <= 0)
56
+        throw new IllegalArgumentError('Invalid aspect ratio: ' + aspectRatio);
57
+
52
     if(aspectRatio >= 1) {
58
     if(aspectRatio >= 1) {
53
         // landscape
59
         // landscape
54
         height = referenceHeight;
60
         height = referenceHeight;

+ 1
- 1
src/utils/utils.ts View File

23
 import Speedy from 'speedy-vision';
23
 import Speedy from 'speedy-vision';
24
 import { SpeedySize } from 'speedy-vision/types/core/speedy-size';
24
 import { SpeedySize } from 'speedy-vision/types/core/speedy-size';
25
 import { AssertionError, IllegalArgumentError } from './errors';
25
 import { AssertionError, IllegalArgumentError } from './errors';
26
-import { Resolution, computeResolution } from '../core/resolution';
26
+import { Resolution, computeResolution } from './resolution';
27
 
27
 
28
 /**
28
 /**
29
  * Nullable type
29
  * Nullable type

Loading…
Cancel
Save