Download src/types/index.ts from TechAvenger/kernel-convolution-visualizer: direct link, hf CLI and curl.
- Browser
- Download file 2.17 kB
-
https://huggingface.co/spaces/TechAvenger/kernel-convolution-visualizer/resolve/25e773913dbd4e9dcd6b40f787d68b280ccdfca1/src/types/index.ts
- Command line
-
hf download hf://spaces/TechAvenger/kernel-convolution-visualizer@25e773913dbd4e9dcd6b40f787d68b280ccdfca1/src/types/index.ts
-
curl -L -o index.ts https://huggingface.co/spaces/TechAvenger/kernel-convolution-visualizer/resolve/25e773913dbd4e9dcd6b40f787d68b280ccdfca1/src/types/index.ts
2.17 kB
| export type PaddingMode = 'zero' | 'reflect' | 'replicate' | 'wrap' | |
| export type KernelCategory = 'blur' | 'sharpen' | 'edge' | 'emboss' | 'custom' | 'other' | |
| export interface Kernel { | |
| id: string | |
| name: string | |
| category: KernelCategory | |
| matrix: number[][] | |
| size: number | |
| normalize: boolean | |
| description: string | |
| formula?: string | |
| reference?: string | |
| } | |
| export interface ImageDataExtended { | |
| data: Uint8ClampedArray | |
| width: number | |
| height: number | |
| channels: number | |
| } | |
| export interface ConvolutionStep { | |
| x: number | |
| y: number | |
| channel: number | |
| inputPatch: number[][] | |
| kernel: number[][] | |
| multiplications: number[][] | |
| sum: number | |
| outputValue: number | |
| normalizedValue: number | |
| progress: number | |
| } | |
| export interface ConvolutionProgress { | |
| currentStep: ConvolutionStep | null | |
| progress: number | |
| processedPixels: number | |
| totalPixels: number | |
| elapsedTime: number | |
| estimatedTimeRemaining: number | |
| } | |
| export interface ConvolutionState { | |
| status: 'idle' | 'running' | 'paused' | 'completed' | 'error' | |
| currentStep: ConvolutionStep | null | |
| progress: number | |
| startTime: number | |
| elapsedTime: number | |
| processedPixels: number | |
| totalPixels: number | |
| outputImageData: ImageData | null | |
| error: string | null | |
| } | |
| export interface AppSettings { | |
| animationSpeed: number | |
| showOverlay: { | |
| kernelBoundary: boolean | |
| pixelValues: boolean | |
| multiplications: boolean | |
| summation: boolean | |
| } | |
| padding: PaddingMode | |
| zoomLevel: number | |
| panOffset: { x: number; y: number } | |
| comparisonMode: 'side-by-side' | 'split' | 'overlay' | |
| stepMode: boolean | |
| } | |
| export interface ComparisonState { | |
| mode: 'side-by-side' | 'split' | 'overlay' | |
| splitPosition: number | |
| synchronizedZoom: boolean | |
| synchronizedPan: boolean | |
| activeTab: string | |
| } | |
| export interface KernelComparisonResult { | |
| kernelId: string | |
| kernelName: string | |
| imageData: ImageData | |
| processingTime: number | |
| timestamp: number | |
| } | |
| export interface ExportOptions { | |
| format: 'png' | 'jpeg' | 'webp' | |
| quality: number | |
| includeOriginal: boolean | |
| includeComparison: boolean | |
| } | |
| export interface AnimationExportOptions { | |
| format: 'gif' | 'webm' | |
| fps: number | |
| duration: number | |
| showOverlays: boolean | |
| } |