PIXUNTILE(1)

πŸ“¦
version 7.44.0 Β· 2 versions
, in nixpkgs unstable

🌸 PIXUNTILE(1) β€” the BRL-CAD girlie's guide 🌸

okay so this is pixuntile(1) from the BRL-CAD fam, and bestie, if you've ever made a montage with pixtile(1) and then immediately regretted it, this is your girl. she un-montages. she takes the big packed-up picture and hands you back all the little ones, one file each. no cap.


✨ NAME ✨

pixuntile β€” break image up into separate files πŸ’…


πŸŽ€ SYNOPSIS πŸŽ€

pixuntile [-s squareinsize] [-w in_width] [-n in_height] [-S squareoutsize] [-W out_width] [-N out_height] [-o startframe] basename < file.pix
pixuntile [-s squareinsize] [-w in_width] [-n in_height] [-S squareoutsize] [-W out_width] [-N out_height] file1 [file2 ... fileN] < file.pix

like, you either give it one basename and let it name everything itself, or you hand it a whole list of filenames and it uses those. either way the image comes in on stdin, okay? 🫢


πŸ¦‹ DESCRIPTION πŸ¦‹

pixuntile literally does the inverse of pixtile(1). the way that works: it reads one single big image that's actually a whole grid of smaller sub-images packed together from lower-left to upper-right 🌈, and then it writes each of those sub-images out to its own file. cute, right? πŸŽ€

input comes from standard input, and every single file involved is in pix(5) format. the input image, if you don't say otherwise, defaults to 512x512 pixels ✨.

the output sub-images default to 64x64 pixels. the -S flag sets both dimensions of the output sub-images to squareoutsize in one go, while -W and -N set output width and height independently, if you're feeling specific πŸ’…. same deal for the input image: -s gives you one square size, and -w plus -n set width and height separately.

now the naming, because this is the part that eats:

  • if you give a single basename, the output files get named basename.num, where num is a consecutive series of integers starting at 0 β€” unless you passed -o, in which case it starts at startframe instead πŸ‘‘
  • if you supply two or more filename arguments instead, those names are used directly, in order, for the extracted sub-images. no autogenerated names, no thinking required 🌸

πŸ’– OPTIONS πŸ’–

  • -s squareinsize β€” sets the input image width and height to squareinsize pixels. one number, both dimensions, slay.
  • -w in_width β€” sets the input image width to in_width pixels (default 512).
  • -n in_height β€” sets the input image height to in_height pixels (default 512).
  • -S squareoutsize β€” sets the output sub-image width and height to squareoutsize pixels. square output era πŸ”₯
  • -W out_width β€” sets the output sub-image width to out_width pixels (default 64).
  • -N out_height β€” sets the output sub-image height to out_height pixels (default 64).
  • -o startframe β€” numbers the first output file startframe instead of 0, when a single basename is given. this only applies to the basename situation, iykyk 🧚

⭐ EXAMPLES ⭐

Example 1. Re-split a montage produced by pixtile

pixtile -s 512 -S 128 frame < frames.pix > montage.pix
pixuntile -s 512 -S 128 out < montage.pix

pixtile(1) packs sixteen 128x128 sub-images into one 512x512 montage; pixuntile reverses it, writing the 128x128 chunks back out as out.0 through out.15 in lower-left to upper-right order. sixteen files, one command, iconic πŸ’…βœ¨

Example 2. Extract sub-images into explicitly named files

pixuntile -s 256 -S 128 bl.pix br.pix tl.pix tr.pix < quad.pix

split a 256x256 image holding four 128x128 quadrants into individually named pix(5) files. filenames are consumed in extraction order, which proceeds from the lower-left across each row and then upward: bl.pix and br.pix receive the bottom row, tl.pix and tr.pix the top row. so yes, the order matters β€” don't come for me if you name them wrong πŸ™ˆ


🌈 SEE ALSO 🌈

pixtile(1), brlcad(1), pix(5)


πŸ‘‘ AUTHOR πŸ‘‘

BRL-CAD Team


This software is Copyright (c) 1988-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


fr fr if something's busted, email the devs β€” they wanna know 🫢

okay that's the whole page, bestie. signed, sealed, delivered with love from the BRL-CAD girlies and stamped on the PIXUNTILE(1) manual page β€” go untile something gorgeous πŸ’–πŸ¦‹πŸŒΈ

πŸ“¦ where this page comes from