supervision-js
    Preparing search index...

    Interface EditableAnnotationFrameSession

    interface EditableAnnotationFrameSession {
        getSnapshot(): DetectionFrame;
        add(detection: Detection, index?: number): DetectionFrame;
        update(
            id: DetectionId,
            update: Partial<Detection> | ((current: Detection) => Detection),
        ): DetectionFrame;
        remove(id: DetectionId): DetectionFrame;
        replace(frame: DetectionFrame): DetectionFrame;
        transact(
            mutate: (
                detections: {
                    id?: string | number;
                    trackerId?: number;
                    sourceId?: string;
                    sourceDetectionIndex?: number;
                    className?: string;
                    confidence?: number;
                    attributes?: string[];
                    zIndex?: number;
                    locked?: boolean;
                    rect?: { x: number; y: number; width: number; height: number };
                    polygon?: { points: { x: number; y: number }[] };
                    orientedBox?: {
                        points: [
                            { x: number; y: number },
                            { x: number; y: number },
                            { x: number; y: number },
                            { x: number; y: number },
                        ];
                    };
                    polyline?: { points: { x: number; y: number }[] };
                    keypoints?: {
                        points: { x: number; y: number }[];
                        edges: [fromIndex: number, toIndex: number][];
                        visibility?: KeypointVisibility[];
                        boxRelative?: boolean[];
                    };
                    mask?: {
                        encoding: CompressedRle;
                        width: number;
                        height: number;
                        counts: string;
                    };
                    heatmap?: {
                        bounds: { x: number; y: number; width: number; height: number };
                        width: number;
                        height: number;
                        values:
                            | number[]
                            | {
                                "[iterator]"(): ArrayIterator<number>;
                                entries(): ArrayIterator<[number, number]>;
                                keys(): ArrayIterator<number>;
                                values(): ArrayIterator<number>;
                                "[toStringTag]": "Float32Array";
                                includes(searchElement: number, fromIndex?: number): boolean;
                                at(index: number): number | undefined;
                                BYTES_PER_ELEMENT: number;
                                buffer:
                                    | {
                                        "[toStringTag]": "ArrayBuffer";
                                        byteLength: number;
                                        slice(begin?: number, end?: number): ArrayBuffer;
                                    }
                                    | {
                                        byteLength: number;
                                        slice(begin?: number, end?: number): SharedArrayBuffer;
                                        "[toStringTag]": "SharedArrayBuffer";
                                    };
                                byteLength: number;
                                byteOffset: number;
                                copyWithin(target: number, start: number, end?: number): this;
                                every(
                                    predicate: (value: number, index: number, array: this) => unknown,
                                    thisArg?: any,
                                ): boolean;
                                fill(value: number, start?: number, end?: number): this;
                                filter(
                                    predicate: (value: number, index: number, array: this) => any,
                                    thisArg?: any,
                                ): Float32Array<ArrayBuffer>;
                                find(
                                    predicate: (value: number, index: number, obj: this) => boolean,
                                    thisArg?: any,
                                ): number | undefined;
                                findIndex(
                                    predicate: (value: number, index: number, obj: this) => boolean,
                                    thisArg?: any,
                                ): number;
                                forEach(
                                    callbackfn: (value: number, index: number, array: this) => void,
                                    thisArg?: any,
                                ): void;
                                indexOf(searchElement: number, fromIndex?: number): number;
                                join(separator?: string): string;
                                lastIndexOf(searchElement: number, fromIndex?: number): number;
                                length: number;
                                map(
                                    callbackfn: (value: number, index: number, array: this) => number,
                                    thisArg?: any,
                                ): Float32Array<ArrayBuffer>;
                                reduce(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                ): number;
                                reduce(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                    initialValue: number,
                                ): number;
                                reduce<U>(
                                    callbackfn: (
                                        previousValue: U,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => U,
                                    initialValue: U,
                                ): U;
                                reduceRight(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                ): number;
                                reduceRight(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                    initialValue: number,
                                ): number;
                                reduceRight<U>(
                                    callbackfn: (
                                        previousValue: U,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => U,
                                    initialValue: U,
                                ): U;
                                reverse(): this;
                                set(array: ArrayLike<number>, offset?: number): void;
                                slice(start?: number, end?: number): Float32Array<ArrayBuffer>;
                                some(
                                    predicate: (value: number, index: number, array: this) => unknown,
                                    thisArg?: any,
                                ): boolean;
                                sort(compareFn?: (a: number, b: number) => number): this;
                                subarray(begin?: number, end?: number): Float32Array<ArrayBufferLike>;
                                toLocaleString(): string;
                                toLocaleString(
                                    locales: string | string[],
                                    options?: NumberFormatOptions,
                                ): string;
                                toString(): string;
                                valueOf(): this;
                                [key: number]: number;
                            }
                            | {
                                "[iterator]"(): ArrayIterator<number>;
                                entries(): ArrayIterator<[number, number]>;
                                keys(): ArrayIterator<number>;
                                values(): ArrayIterator<number>;
                                "[toStringTag]": "Uint16Array";
                                includes(searchElement: number, fromIndex?: number): boolean;
                                at(index: number): number | undefined;
                                BYTES_PER_ELEMENT: number;
                                buffer:
                                    | {
                                        "[toStringTag]": "ArrayBuffer";
                                        byteLength: number;
                                        slice(begin?: number, end?: number): ArrayBuffer;
                                    }
                                    | {
                                        byteLength: number;
                                        slice(begin?: number, end?: number): SharedArrayBuffer;
                                        "[toStringTag]": "SharedArrayBuffer";
                                    };
                                byteLength: number;
                                byteOffset: number;
                                copyWithin(target: number, start: number, end?: number): this;
                                every(
                                    predicate: (value: number, index: number, array: this) => unknown,
                                    thisArg?: any,
                                ): boolean;
                                fill(value: number, start?: number, end?: number): this;
                                filter(
                                    predicate: (value: number, index: number, array: this) => any,
                                    thisArg?: any,
                                ): Uint16Array<ArrayBuffer>;
                                find(
                                    predicate: (value: number, index: number, obj: this) => boolean,
                                    thisArg?: any,
                                ): number | undefined;
                                findIndex(
                                    predicate: (value: number, index: number, obj: this) => boolean,
                                    thisArg?: any,
                                ): number;
                                forEach(
                                    callbackfn: (value: number, index: number, array: this) => void,
                                    thisArg?: any,
                                ): void;
                                indexOf(searchElement: number, fromIndex?: number): number;
                                join(separator?: string): string;
                                lastIndexOf(searchElement: number, fromIndex?: number): number;
                                length: number;
                                map(
                                    callbackfn: (value: number, index: number, array: this) => number,
                                    thisArg?: any,
                                ): Uint16Array<ArrayBuffer>;
                                reduce(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                ): number;
                                reduce(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                    initialValue: number,
                                ): number;
                                reduce<U>(
                                    callbackfn: (
                                        previousValue: U,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => U,
                                    initialValue: U,
                                ): U;
                                reduceRight(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                ): number;
                                reduceRight(
                                    callbackfn: (
                                        previousValue: number,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => number,
                                    initialValue: number,
                                ): number;
                                reduceRight<U>(
                                    callbackfn: (
                                        previousValue: U,
                                        currentValue: number,
                                        currentIndex: number,
                                        array: this,
                                    ) => U,
                                    initialValue: U,
                                ): U;
                                reverse(): this;
                                set(array: ArrayLike<number>, offset?: number): void;
                                slice(start?: number, end?: number): Uint16Array<ArrayBuffer>;
                                some(
                                    predicate: (value: number, index: number, array: this) => unknown,
                                    thisArg?: any,
                                ): boolean;
                                sort(compareFn?: (a: number, b: number) => number): this;
                                subarray(begin?: number, end?: number): Uint16Array<ArrayBufferLike>;
                                toLocaleString(): string;
                                toLocaleString(
                                    locales: string | string[],
                                    options?: NumberFormatOptions,
                                ): string;
                                toString(): string;
                                valueOf(): this;
                                [key: number]: number;
                            };
                        valueScale?: number;
                        threshold?: number;
                    };
                    metadata?: { [key: string]: unknown };
                }[],
            ) => void,
            detectionIds?: readonly DetectionId[],
        ): DetectionFrame;
        subscribe(listener: AnnotationFrameMutationListener): () => void;
        destroy(): void;
    }
    Index
    • Parameters

      • mutate: (
            detections: {
                id?: string | number;
                trackerId?: number;
                sourceId?: string;
                sourceDetectionIndex?: number;
                className?: string;
                confidence?: number;
                attributes?: string[];
                zIndex?: number;
                locked?: boolean;
                rect?: { x: number; y: number; width: number; height: number };
                polygon?: { points: { x: number; y: number }[] };
                orientedBox?: {
                    points: [
                        { x: number; y: number },
                        { x: number; y: number },
                        { x: number; y: number },
                        { x: number; y: number },
                    ];
                };
                polyline?: { points: { x: number; y: number }[] };
                keypoints?: {
                    points: { x: number; y: number }[];
                    edges: [fromIndex: number, toIndex: number][];
                    visibility?: KeypointVisibility[];
                    boxRelative?: boolean[];
                };
                mask?: {
                    encoding: CompressedRle;
                    width: number;
                    height: number;
                    counts: string;
                };
                heatmap?: {
                    bounds: { x: number; y: number; width: number; height: number };
                    width: number;
                    height: number;
                    values:
                        | number[]
                        | {
                            "[iterator]"(): ArrayIterator<number>;
                            entries(): ArrayIterator<[number, number]>;
                            keys(): ArrayIterator<number>;
                            values(): ArrayIterator<number>;
                            "[toStringTag]": "Float32Array";
                            includes(searchElement: number, fromIndex?: number): boolean;
                            at(index: number): number | undefined;
                            BYTES_PER_ELEMENT: number;
                            buffer:
                                | {
                                    "[toStringTag]": "ArrayBuffer";
                                    byteLength: number;
                                    slice(begin?: number, end?: number): ArrayBuffer;
                                }
                                | {
                                    byteLength: number;
                                    slice(begin?: number, end?: number): SharedArrayBuffer;
                                    "[toStringTag]": "SharedArrayBuffer";
                                };
                            byteLength: number;
                            byteOffset: number;
                            copyWithin(target: number, start: number, end?: number): this;
                            every(
                                predicate: (value: number, index: number, array: this) => unknown,
                                thisArg?: any,
                            ): boolean;
                            fill(value: number, start?: number, end?: number): this;
                            filter(
                                predicate: (value: number, index: number, array: this) => any,
                                thisArg?: any,
                            ): Float32Array<ArrayBuffer>;
                            find(
                                predicate: (value: number, index: number, obj: this) => boolean,
                                thisArg?: any,
                            ): number | undefined;
                            findIndex(
                                predicate: (value: number, index: number, obj: this) => boolean,
                                thisArg?: any,
                            ): number;
                            forEach(
                                callbackfn: (value: number, index: number, array: this) => void,
                                thisArg?: any,
                            ): void;
                            indexOf(searchElement: number, fromIndex?: number): number;
                            join(separator?: string): string;
                            lastIndexOf(searchElement: number, fromIndex?: number): number;
                            length: number;
                            map(
                                callbackfn: (value: number, index: number, array: this) => number,
                                thisArg?: any,
                            ): Float32Array<ArrayBuffer>;
                            reduce(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                            ): number;
                            reduce(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                                initialValue: number,
                            ): number;
                            reduce<U>(
                                callbackfn: (
                                    previousValue: U,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => U,
                                initialValue: U,
                            ): U;
                            reduceRight(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                            ): number;
                            reduceRight(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                                initialValue: number,
                            ): number;
                            reduceRight<U>(
                                callbackfn: (
                                    previousValue: U,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => U,
                                initialValue: U,
                            ): U;
                            reverse(): this;
                            set(array: ArrayLike<number>, offset?: number): void;
                            slice(start?: number, end?: number): Float32Array<ArrayBuffer>;
                            some(
                                predicate: (value: number, index: number, array: this) => unknown,
                                thisArg?: any,
                            ): boolean;
                            sort(compareFn?: (a: number, b: number) => number): this;
                            subarray(begin?: number, end?: number): Float32Array<ArrayBufferLike>;
                            toLocaleString(): string;
                            toLocaleString(
                                locales: string | string[],
                                options?: NumberFormatOptions,
                            ): string;
                            toString(): string;
                            valueOf(): this;
                            [key: number]: number;
                        }
                        | {
                            "[iterator]"(): ArrayIterator<number>;
                            entries(): ArrayIterator<[number, number]>;
                            keys(): ArrayIterator<number>;
                            values(): ArrayIterator<number>;
                            "[toStringTag]": "Uint16Array";
                            includes(searchElement: number, fromIndex?: number): boolean;
                            at(index: number): number | undefined;
                            BYTES_PER_ELEMENT: number;
                            buffer:
                                | {
                                    "[toStringTag]": "ArrayBuffer";
                                    byteLength: number;
                                    slice(begin?: number, end?: number): ArrayBuffer;
                                }
                                | {
                                    byteLength: number;
                                    slice(begin?: number, end?: number): SharedArrayBuffer;
                                    "[toStringTag]": "SharedArrayBuffer";
                                };
                            byteLength: number;
                            byteOffset: number;
                            copyWithin(target: number, start: number, end?: number): this;
                            every(
                                predicate: (value: number, index: number, array: this) => unknown,
                                thisArg?: any,
                            ): boolean;
                            fill(value: number, start?: number, end?: number): this;
                            filter(
                                predicate: (value: number, index: number, array: this) => any,
                                thisArg?: any,
                            ): Uint16Array<ArrayBuffer>;
                            find(
                                predicate: (value: number, index: number, obj: this) => boolean,
                                thisArg?: any,
                            ): number | undefined;
                            findIndex(
                                predicate: (value: number, index: number, obj: this) => boolean,
                                thisArg?: any,
                            ): number;
                            forEach(
                                callbackfn: (value: number, index: number, array: this) => void,
                                thisArg?: any,
                            ): void;
                            indexOf(searchElement: number, fromIndex?: number): number;
                            join(separator?: string): string;
                            lastIndexOf(searchElement: number, fromIndex?: number): number;
                            length: number;
                            map(
                                callbackfn: (value: number, index: number, array: this) => number,
                                thisArg?: any,
                            ): Uint16Array<ArrayBuffer>;
                            reduce(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                            ): number;
                            reduce(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                                initialValue: number,
                            ): number;
                            reduce<U>(
                                callbackfn: (
                                    previousValue: U,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => U,
                                initialValue: U,
                            ): U;
                            reduceRight(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                            ): number;
                            reduceRight(
                                callbackfn: (
                                    previousValue: number,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => number,
                                initialValue: number,
                            ): number;
                            reduceRight<U>(
                                callbackfn: (
                                    previousValue: U,
                                    currentValue: number,
                                    currentIndex: number,
                                    array: this,
                                ) => U,
                                initialValue: U,
                            ): U;
                            reverse(): this;
                            set(array: ArrayLike<number>, offset?: number): void;
                            slice(start?: number, end?: number): Uint16Array<ArrayBuffer>;
                            some(
                                predicate: (value: number, index: number, array: this) => unknown,
                                thisArg?: any,
                            ): boolean;
                            sort(compareFn?: (a: number, b: number) => number): this;
                            subarray(begin?: number, end?: number): Uint16Array<ArrayBufferLike>;
                            toLocaleString(): string;
                            toLocaleString(
                                locales: string | string[],
                                options?: NumberFormatOptions,
                            ): string;
                            toString(): string;
                            valueOf(): this;
                            [key: number]: number;
                        };
                    valueScale?: number;
                    threshold?: number;
                };
                metadata?: { [key: string]: unknown };
            }[],
        ) => void
      • OptionaldetectionIds: readonly DetectionId[]

      Returns DetectionFrame

    • Returns void