UNPKG

ome-zarr.js

Version:

Some JavaScript utils for simple rendering of OME-Zarr images

147 lines (127 loc) 3.81 kB
import * as zarr from 'zarrita'; /** * Model for an element of `Multiscale.axes`. * * See https://ngff.openmicroscopy.org/0.4/#axes-md. */ export declare interface Axis { name: string; type?: string | null; unit?: unknown; [k: string]: unknown; } /** * A single omero channel. */ export declare interface Channel { color: string; window: Window_2; lut?: string; active?: boolean; inverted?: boolean; [k: string]: unknown; } /** * An element of Multiscale.datasets. */ export declare interface Dataset { path: string; coordinateTransformations: [unknown] | [unknown, unknown]; [k: string]: unknown; } export declare function getArray(store: zarr.FetchStore, path: string, zarr_version: 2 | 3 | undefined): Promise<zarr.Array<any>>; export declare function getLuts(): { name: string; png: string; }[]; export declare function getMinMaxValues(chunk2d: any): [number, number]; export declare function getMultiscale(store: zarr.FetchStore): Promise<{ multiscale: Multiscale; omero: Omero | null | undefined; zarr_version: 2 | 3; }>; export declare function getMultiscaleWithArray(store: zarr.FetchStore | string, datasetIndex?: number): Promise<{ arr: zarr.Array<any>; shapes: number[][] | undefined; multiscale: Multiscale; omero: Omero | null | undefined; scales: number[][]; zarr_version: 2 | 3; }>; export declare function getSlices(activeChannelIndices: number[], shape: number[], axesNames: string[], indices: { [k: string]: number | [number, number] | undefined; }): (number | Slice | undefined)[][]; /** * Model for the metadata of OME-Zarr data. * * See https://ngff.openmicroscopy.org/0.4/#image-layout. */ export declare interface ImageAttrs { /** * The multiscale datasets for this image * * @minItems 1 */ multiscales: [Multiscale, ...Multiscale[]]; omero?: Omero | null; [k: string]: unknown; } export declare const LUTS: { path: string; name: string; rgb: number[][]; }[]; /** * An element of multiscales metadata. */ export declare interface Multiscale { axes: Axis[]; /** * @minItems 1 */ datasets: [Dataset, ...Dataset[]]; version?: "0.4" | null; coordinateTransformations?: [unknown] | [unknown, unknown] | null; metadata?: { [k: string]: unknown; }; name?: unknown; type?: { [k: string]: unknown; }; [k: string]: unknown; } /** * omero model. */ export declare interface Omero { channels: Channel[]; rdefs: { defaultT: number; defaultZ: number; model: "greyscale" | "color"; }; [k: string]: unknown; } export declare function renderImage(arr: zarr.Array<any>, axes: Axis[], omero: Omero | null | undefined, sliceIndices?: { [k: string]: (number | [number, number] | undefined); }, autoBoost?: boolean): Promise<string>; export declare function renderThumbnail(store: zarr.FetchStore | string, targetSize?: number | undefined, autoBoost?: boolean, maxSize?: number): Promise<string>; export declare function renderTo8bitArray(ndChunks: any, minMaxValues: Array<[number, number]>, colors: Array<[number, number, number]>, luts: Array<string | undefined> | undefined, inverteds: Array<boolean> | undefined, autoBoost?: boolean): Uint8ClampedArray; declare interface Slice { start: number | null; stop: number | null; step: number | null; } /** * A single window. */ declare interface Window_2 { max: number; min: number; start?: number; end?: number; [k: string]: unknown; } export { Window_2 as Window } export { }