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-sorter
from the npm repository
npm i -g @rusticflare/pixel-sorter
pixel-sorter
can be installed from the AUR using an AUR helper. e.g.
paru -S pixel-sorter
This 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.jpg
Note: 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 |
lines
circles
lightness
- pixels with alightness
between the-l
and-u
values are sortedrandom
- random sections of average width-w
are sortedrandomfile
- the brighter a pixel in a file provided by-f
makes a pixel more likely to be sorted (use-w
to control the average width)none
- everything is sorted
hue
saturation
lightness
intensity
jpg
png
example.jpg
:
pixel-sorter example.jpg
When 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.9
You can change the sorting angle (as degrees on a compass).
pixel-sorter example.jpg -a 315
Sort circles with:
- center
-200 -600
(0 0
is 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 -r
A "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 random
The 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