import { DataTexture, Vector3 } from "three"; import Histogram from "./Histogram.js"; import { Lut } from "./Lut.js"; import { TypedArray, NumberType } from "./types.js"; interface ChannelImageData { /** Returns the one-dimensional array containing the data in RGBA order, as integers in the range 0 to 255. */ readonly data: TypedArray; /** Returns the actual dimensions of the data in the ImageData object, in pixels. */ readonly height: number; /** Returns the actual dimensions of the data in the ImageData object, in pixels. */ readonly width: number; } export default class Channel { loaded: boolean; dtype: NumberType; imgData: ChannelImageData; volumeData: TypedArray; name: string; histogram: Histogram; lut: Lut; colorPalette: Uint8Array; colorPaletteAlpha: number; dims: [number, number, number]; dataTexture: DataTexture; lutTexture: DataTexture; rawMin: number; rawMax: number; constructor(name: string); combineLuts(rgbColor: [number, number, number] | number, out?: Uint8Array): Uint8Array; setRawDataRange(min: number, max: number): void; getHistogram(): Histogram; getIntensity(x: number, y: number, z: number): number; normalizeRaw(val: number): number; getIntensityFromAtlas(x: number, y: number, z: number): number; private rebuildDataTexture; setFromAtlas(bitsArray: TypedArray, w: number, h: number, dtype: NumberType, rawMin: number, rawMax: number, subregionSize: Vector3): void; private unpackFromAtlas; setFromVolumeData(bitsArray: TypedArray, vx: number, vy: number, vz: number, ax: number, ay: number, rawMin: number, rawMax: number, dtype: NumberType): void; private packToAtlas; setLut(lut: Lut): void; setColorPalette(palette: Uint8Array): void; setColorPaletteAlpha(alpha: number): void; } export {};