A command line app for pixel sorting images
If you need help, find bugs, or want a new feature: please raise an issue
Inspired by satyarth/pixelsort
npm
- Install npm.
- You are downloading the command line client that lets you install
pixel-sorterfrom the npm repository
npm i -g @rusticflare/pixel-sorterpixel-sorter can be installed from the AUR using an AUR helper. e.g.
paru -S pixel-sorterThis will pixel sort an image called example.jpg in your current directory and save the output in the same directory
as example.jpg.
pixel-sorter example.jpgNote: A one pixel border is cropped from the output file (this is due to this pixel sorter making some of those outer pixels slightly transparent)
Troubleshooting
- Powershell
- Make sure you are running as an Administrator
- If you see this error:
run:
... cannot be loaded because the execution of scripts is disabled on this system.
(See this StackOverflow answer for more details)Set-ExecutionPolicy RemoteSigned
See Examples for how to use these
| Option | Argument | Description | Default Value |
|---|---|---|---|
-p |
A pattern | The patterns to sort along | lines |
-o |
Text | The name of the output file (e.g. sorted) |
The current date and time |
-m |
File | The path to "mask" file | N/A |
-f |
File | The path to a file to be used by the randomfile interval function |
N/A |
-a |
A number in 0.0-360.0 |
The angle to sort along (as degrees on a compass) | 0.0 |
-i |
An interval function | The interval function to use | lightness |
-l |
A number in 0.0-1.0 |
The darkest lightness to include in sorted sections (used when the interval function is lightness) |
0.25 |
-u |
A number in 0.0-1.0 |
The brightest lightness to include in sorted sections (used when the interval function is lightness) |
0.8 |
-w |
A positive whole number | The average width (in pixels) of the random[file] sorted sections (used when the interval function is random[file]) |
400 |
-s |
A sorting function | The sorting function to use | lightness |
-e |
A filetype | The extension of the filetype to output | jpg |
-c |
A pair of integers | The center of the circle when the circles pattern is used |
0 0 |
-r |
N/A | Reverse the sorting order | N/A |
-h |
N/A | Print the help message | N/A |
linescircles
lightness- pixels with alightnessbetween the-land-uvalues are sortedrandom- random sections of average width-ware sortedrandomfile- the brighter a pixel in a file provided by-fmakes a pixel more likely to be sorted (use-wto control the average width)none- everything is sorted
huesaturationlightnessintensity
jpgpng
example.jpg:
pixel-sorter example.jpgWhen using the lightness interval function: only pixels with a lightness between -l and -u will be sorted.
Here we sort pixels with a lightness between 0.6 and 0.9:
pixel-sorter example.jpg -l 0.6 -u 0.9You can change the sorting angle (as degrees on a compass).
pixel-sorter example.jpg -a 315Sort circles with:
- center
-200 -600(0 0is the center of the image) - angle
210(where the brightest and darkest pixels meet) - reversed sort
pixel-sorter example.jpg -p circles -c -200 -600 -a 210 -rA "mask" file should be a black and white image (the same size as the sorted image). Only the white sections are considered for sorting.
-i random causes random sections of the image should be sorted. You can control the average width (in pixels) of these
sections with -w.
example-mask.jpg:
pixel-sorter example.jpg -m example-mask.jpg -a 135 -i randomThe brighter the pixel in -f the more likely the corresponding pixel is to be sorted.
example-randomfile-mask.jpg:
pixel-sorter example.jpg -i randomfile -f example-randomfile-mask.jpg