denoiser
Version:
OIDN Denoiser with tensorflow.js
46 lines (45 loc) • 1.49 kB
TypeScript
import * as tf from '@tensorflow/tfjs';
type TilerOptions = {
tileSize?: number;
overlap?: number;
batchSize?: number;
debugging?: boolean;
srgb?: boolean;
};
export declare class GPUTensorTiler {
private model;
private tileSize;
private overlap;
private batchSize;
private blendingMasks;
private debugging;
private aborting;
srgb: boolean;
timers: {
[key: string]: number;
};
stats: {
[key: string]: number;
};
constructor(model: tf.LayersModel, options?: TilerOptions);
private calculateBatchSize;
private getTileDims;
private logMemoryUsage;
processLargeTensor(rawInput: tf.Tensor4D, statusCallback?: (progress: number) => void): Promise<tf.Tensor4D>;
private reassembleTilesWithBlending;
private getBlendingMask;
private createImprovedBlendingMask;
private sigmoidBlend;
startTimer(name: string): void;
stopTimer(name: string): void;
logResults(): void;
dispose(): void;
abort(): void;
sRGBToLinear(inputTensor: tf.Tensor): tf.Tensor4D;
linearToSRGB(inputTensor: tf.Tensor): tf.Tensor4D;
addColoredBorder(tile: tf.Tensor4D, borderWidth: number, color: [number, number, number]): tf.Tensor4D;
visualizeBlendRegions(output: tf.Tensor4D): Promise<tf.Tensor4D>;
visualizeTiles(tiles: tf.Tensor4D[], stage: 'before' | 'after'): Promise<void>;
static generateSampleInput(height: number, width: number): tf.Tensor4D;
}
export {};