onnxruntime/js/common/lib/tensor-utils.ts
shalvamist c10a6a9d17
Tensor <--> image - Adding per channel compute for Norm mean & Bias (#14705)
### Description
Enabled the use of per channel Bias and Mean normalization when converting an image <--> tensor.
Added a few bug fixes and updates to the relevant E2E tests.

---------

Co-authored-by: shalvamist <shalva.mist@microsoft.com>
2023-05-01 09:37:50 -07:00

41 lines
1.3 KiB
TypeScript

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License.
import {Tensor, TensorToImageDataOptions, TypedTensor} from './tensor';
interface Properties {
/**
* Get the number of elements in the tensor.
*/
readonly size: number;
}
export interface TypedShapeUtils<T extends Tensor.Type> {
/**
* Create a new tensor with the same data buffer and specified dims.
*
* @param dims - New dimensions. Size should match the old one.
*/
reshape(dims: readonly number[]): TypedTensor<T>;
}
// TODO: add more tensor utilities
export interface TypedTensorUtils<T extends Tensor.Type> extends Properties, TypedShapeUtils<T> {
/**
* creates an DataURL instance from tensor
*
* @param options - Interface describing tensor instance - Defaults: RGB, 3 channels, 0-255, NHWC
* 0-255, NHWC
* @returns An DataURL instance which can be used to draw on canvas
*/
toDataURL(options?: TensorToImageDataOptions): string;
/**
* creates an ImageData instance from tensor
*
* @param tensorFormat - Interface describing tensor instance - Defaults: RGB, 3 channels, 0-255, NHWC
* 0-255, NHWC
* @returns An ImageData instance which can be used to draw on canvas
*/
toImageData(options?: TensorToImageDataOptions): ImageData;
}