Filters (1D / 2D)
Apply editable linear kernels to signals, matrices or grayscale images.
About this tool
Choose 1D signal or 2D matrix/image, a source and filter, then Apply. Presets are generated only for the calculation; own values and coefficients are editable. Numeric results and CSV retain signed Float64 values. Image display never changes these results. Enter applies from ordinary fields; Ctrl/Meta+Enter from editors. Tabs use shared keyboard navigation.
Default correlation uses y[i]=Σ k[j]x[i+j−c]. Convolution uses x[i+c−j], flipping the same kernel. Both keep input shape. Asymmetric presets use correlation’s sign/support convention: central derivative [-½,0,½], forward difference [-1,1], causal average over current and past N samples. Changing operation reverses their gradient/time direction. Gaussian and centered averages are symmetric. Borders: replicate, reflect without repeating the edge (REFLECT_101), zero or periodic.
1D supports 2–8000 samples and odd kernels up to 33 values. 2D accepts rectangular matrices up to 512×512 and odd square kernels up to 17×17. Decimal point, scientific notation, spaces/commas/semicolons; matrix rows separated by newline. Missing, malformed, ragged, nonfinite and literal-underflow values are rejected. No truncated rows, silent replacement signals or clamped numeric data.
Sobel uses binomial smoothing and a central difference sequence; 3×3 kernels are standard, larger sizes generalized. Scharr is its standard 3×3 mask centered in larger matrices. Laplacian uses four neighbors; sharpen has center5 and four −1 neighbors. LoG subtracts its sampled mean to remove DC. Gaussian 2D has σ=N/4. Preset coefficients keep full floating precision.
PNG/JPEG/WebP/GIF/BMP import is local, first frame, alpha composited on white. Keep aspect ratio and downsample only if needed to fit 512 pixels on the larger side. Grayscale is .299R+.587G+.114B on encoded channel values, not calibrated linear-light luminance. Files up to 8 MiB, decoded dimensions up to8192; no server upload. Text files load own values.
Fixed display clips/rounds to0–255, preserving an identity image’s brightness. Stretch maps min/max to0/255; constant output becomes black. Signed display maps0 to middle gray and ±max|value| to white/black. Stretch/signed views can amplify numerical noise and do not show absolute brightness. Numeric results stay unchanged. Large matrices expose one selectable row, full results in CSV. 2D PNG exports the chosen display at its actual pixel size; 1D PNG has axes/legends and actual kernel parameters.
Worker calculation is cancellable with real row progress. Resize and display changes redraw cached results. Input edits invalidate output/export. The session preserves the exact converted Float64 values used by the filter, not the original image-file bytes. Very large magnitudes can overflow; rejected results are not fabricated.
The signal plot shows at most 1200 selected samples with their original indices; calculation and CSV include every sample. Extreme amplitudes use an explicitly labeled axis scale.
Only input values are remembered in this browser. Calculated results and experiment histories are not saved.