export interface ITinyYolov2Options { inputSize?: number scoreThreshold?: number } export class TinyYolov2Options { protected _name: string = 'TinyYolov2Options' private _inputSize: number private _scoreThreshold: number constructor({ inputSize, scoreThreshold }: ITinyYolov2Options = {}) { this._inputSize = inputSize || 416; this._scoreThreshold = scoreThreshold || 0.5; if (typeof this._inputSize !== 'number' || this._inputSize % 32 !== 0) { throw new Error(`${this._name} - expected inputSize to be a number divisible by 32`); } if (typeof this._scoreThreshold !== 'number' || this._scoreThreshold <= 0 || this._scoreThreshold >= 1) { throw new Error(`${this._name} - expected scoreThreshold to be a number between 0 and 1`); } } get inputSize(): number { return this._inputSize; } get scoreThreshold(): number { return this._scoreThreshold; } }