PIX3FILTER(1)
π PIX3FILTER(1) β pix3filter, brought to you by BRL-CAD π
β¨ NAME β¨
pix3filter β apply a 3x3x3 convolution filter across three sequential pix files. That's the whole vibe: three frames, one tiny cube of math, and the middle frame gets the glow-up π
πΈ SYNOPSIS πΈ
pix3filter [-f type] [-v] [-d divisor] [-o offset] [-w width] [-n height] [-s squaresize] {file.pix.N | file1.pix file2.pix file3.pix} > output.pix
π¦ DESCRIPTION π¦
Okay so pix3filter applies a 3x3x3 convolution kernel across a temporal sequence of three RGB pix(5) files. The three input frames are consecutive frames in an animation, and the kernel does its thing spatially over the X and Y axes of each frame plus temporally across all three frames. The filtered result for the middle frame goes to standard output. Main character energy only for the middle frame, periodt β¨
Images are assumed to be 512x512 pixels unless you override that. The outer border of the frame β the first and last scanlines and the first and last pixel of each scanline β is copied unchanged from the middle frame to the output. No touching the edges, bestie π«Ά
You can feed the three input frames in two ways. Option one: give three explicit filenames in order. Option two: give a single filename ending in a dot and a frame number, like anim.pix.5, and pix3filter derives and reads the preceding and following frames (anim.pix.4 and anim.pix.6). For the special case of frame number 1, if the preceding frame (anim.pix.0) cannot be opened, the named frame is reused as the preceding frame. Cute little fallback, no cap π
π¨ Bestie, redirect that output! The output must be redirected; pix3filter refuses to write image data to a terminal.
π OPTIONS π
-f typeβ selects the convolution kernel. The recognized types arelo(low pass, and yes it's the default),hi(high pass),b(boxcar average), ands(animation smear). Each kernel has its own built-in divisor:84,1,53, and69respectively, in that order.-vβ verbose mode, aka the yapper setting. It prints the kernel coefficients to standard error before filtering, warns about result values outside the0-255range, and reports the maximum and minimum computed values when it's done. Lowkey useful for choosing a divisor or offset π-d divisorβ overrides the kernel's built-in divisor. The convolution sum gets divided by this value. It may not be zero. Like, seriously, not zero β don't do that π-o offsetβ overrides the kernel's built-in offset, which is added to each result after division. The default offset is0.-w widthβ sets the width of the input images in pixels. Default is512.-n heightβ sets the height (number of scanlines) of the input images. Default is512.-s squaresizeβ sets both width and height tosquaresize. One number, both dimensions, slay π¦-h,-?β prints a usage message, including the list of available filter types, and exits. Helpful icon behavior π
π EXAMPLES π
π Example 1. Smooth the middle frame of an animation
pix3filter frame.pix.15 > smoothed.pix.15
This reads frame.pix.14, frame.pix.15, and frame.pix.16 as 512x512 frames, applies the default low-pass kernel, and writes the temporally and spatially smoothed middle frame to smoothed.pix.15. Doing this for each frame in a render reduces aliasing flicker between frames. The glow-up is real π₯
π§ Example 2. Boxcar average of three explicit high-resolution frames
pix3filter -f b -s 1024 a.pix b.pix c.pix | pix-png -s 1024 > avg.png
This reads three explicit 1024x1024 frames, applies the boxcar average kernel, and pipes the result through pix-png(1) to produce a viewable PNG of the averaged center frame. Chef's kiss π
β SEE ALSO β
brlcad(1), pixfilter(1), pixdiff(1), pix-png(1), pix(5)
π AUTHOR π
BRL-CAD Team
π COPYRIGHT π
This software is Copyright (c) 1989-2026 by the United States Government as represented by U.S. Army Research Laboratory.
π BUG REPORTS π
Reports of bugs or problems should be submitted via electronic mail to devs@brlcad.org.
That's the page, bestie π«Ά Source/version: BRL-CAD. Date: not shown on this page, so no date to steal. Mwah π
π¦ where this page comes from
- nixpkgs unstable: brlcad 7.44.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms