image-js
Version:
Image processing and manipulation in JavaScript
127 lines • 4.42 kB
TypeScript
import type { BitDepth } from 'fast-png';
import type { Image } from './Image.js';
import type { HistogramOptions } from './compute/index.js';
import type { ImageColorModel } from './utils/constants/colorModels.js';
export declare class Stack {
/**
* The array of images.
*/
private readonly images;
/**
* The stack size.
*/
readonly size: number;
/**
* Do the images have an alpha channel?
*/
readonly alpha: boolean;
/**
* The color model of the images.
*/
readonly colorModel: ImageColorModel;
/**
* The bit depth of the images.
*/
readonly bitDepth: BitDepth;
/**
* Whether all the images of the stack have the same dimensions.
*/
readonly sameDimensions: boolean;
/**
* The number of channels of the images.
*/
readonly channels: number;
/**
* Create a new stack from an array of images.
* The images must have the same bit depth and color model.
* @param images - Array of images from which to create the stack.
*/
constructor(images: Image[]);
[Symbol.iterator](): IterableIterator<Image>;
/**
* Clone a stack. The images are a copy of the original images.
* @returns A new stack with the same images.
*/
clone(): Stack;
/**
* Get the images of the stack. Mainly for debugging purposes.
* @returns The images.
*/
getImages(): Image[];
/**
* Get the image at the given index.
* @param index - The index of the image.
* @returns The image.
*/
getImage(index: number): Image;
/**
* Get a value from an image of the stack.
* @param stackIndex - Index of the image in the stack.
* @param row - Row index of the pixel.
* @param column - Column index of the pixel.
* @param channel - The channel to retrieve.
* @returns The value at the given position.
*/
getValue(stackIndex: number, row: number, column: number, channel: number): number;
/**
* Get a value from an image of the stack. Specify the pixel position using its index.
* @param stackIndex - Index of the image in the stack.
* @param index - The index of the pixel.
* @param channel - The channel to retrieve.
* @returns The value at the given position.
*/
getValueByIndex(stackIndex: number, index: number, channel: number): number;
/**
* Return the image containing the minimum values of all the images in the stack for
* each pixel. All the images must have the same dimensions.
* @returns The minimum image.
*/
minImage(): Image;
/**
* Return the image containing the maximum values of all the images in the stack for
* each pixel. All the images must have the same dimensions.
* @returns The maximum image.
*/
maxImage(): Image;
/**
* Return the image containing the median values of all the images in the stack for
* each pixel. All the images must have the same dimensions.
* @returns The median image.
*/
medianImage(): Image;
/**
* Return the image containing the average values of all the images in the stack for
* each pixel. All the images must have the same dimensions.
* @returns The mean image.
*/
meanImage(): Image;
/**
* Return a 16 bits depth image containing the sum values of all the images in the stack for
* each pixel.
* @returns The sum image.
*/
sum(): Image;
/**
* Get the sum of all the histograms of the stack's images. If no channel is specified in the options, the images must be GREY.
* @param options - Histogram options.
* @returns The histogram of the stack.
*/
histogram(options?: HistogramOptions): Uint32Array;
/**
* Align all the images of the stack on the image at the given index.
* @param refIndex - The index of the reference image.
*/
/**
* Map a function on all the images of the stack.
* @param callback - Function to apply on each image.
* @returns New stack with the modified images.
*/
map(callback: (image: Image) => Image): Stack;
/**
* Filter the images in the stack.
* @param callback - Function to decide which images to keep.
* @returns New filtered stack.
*/
filter(callback: (image: Image) => boolean): Stack;
}
//# sourceMappingURL=Stack.d.ts.map