UNPKG

@loaders.gl/zarr

Version:

Framework-independent loaders for Zarr

75 lines 1.97 kB
import { DTYPE_LOOKUP } from "./lib/zarr-pixel-source.js"; export type SupportedDtype = (typeof DTYPE_LOOKUP)[keyof typeof DTYPE_LOOKUP]; export type SupportedTypedArray = InstanceType<(typeof globalThis)[`${SupportedDtype}Array`]>; interface Multiscale { datasets: { path: string; }[]; version?: string; } interface Channel { active: boolean; color: string; label: string; window: { min?: number; max?: number; start: number; end: number; }; } interface Omero { channels: Channel[]; rdefs: { defaultT?: number; defaultZ?: number; model: string; }; name?: string; } interface MultiscaleAttrs { multiscales: Multiscale[]; } interface OmeAttrs extends MultiscaleAttrs { omero: Omero; } export type RootAttrs = MultiscaleAttrs | OmeAttrs; export interface PixelData { data: SupportedTypedArray; width: number; height: number; } export type PixelSourceSelection<S extends string[]> = { [K in S[number]]: number; }; export interface RasterSelection<S extends string[]> { selection: PixelSourceSelection<S>; signal?: AbortSignal; } export interface TileSelection<S extends string[]> { x: number; y: number; selection: PixelSourceSelection<S>; signal?: AbortSignal; } interface PhysicalSize { size: number; unit: string; } export interface PixelSourceMeta { physicalSizes?: Record<string, PhysicalSize>; photometricInterpretation?: number; } export type Labels<S extends string[]> = [...S, 'y', 'x'] | [...S, 'y', 'x', '_c']; export interface PixelSource<S extends string[]> { getRaster(sel: RasterSelection<S>): Promise<PixelData>; getTile(sel: TileSelection<S>): Promise<PixelData>; onTileError(err: Error): void; shape: number[]; dtype: SupportedDtype; labels: Labels<S>; tileSize: number; meta?: PixelSourceMeta; } export {}; //# sourceMappingURL=types.d.ts.map