muse is a high-performance image manipulation tool, it provides various dithering algorithms, effects, and color grading capabilities while maintaining minimal dependencies and blazing-fast execution.
using the catppuccin palette:
before | after |
---|---|
- advanced dithering algorithms (floyd-steinberg, bayer, ordered, jjn, sierra, atkinson, stucki)
- lospec.com palette compatibility
- vintage film emulation:
- super 8 grain effect
- super panavision 70 vignetting
- comprehensive color grading
- palette extraction from images
- lightweight implementation in pure c
- c compiler (gcc/clang)
- make
- git
git clone https://github.com/getjared/muse.git
cd muse
make
sudo make install
# standard conversion with floyd-steinberg dithering
muse input.jpg output.png catppuccin.txt
# bayer dithering
muse input.jpg output.png nord.txt bayer
# ordered dithering
muse input.jpg output.png spooky-13.txt ordered
# no dithering
muse input.jpg output.png croma16.txt nodither
# extract palette
muse input.jpg -E palette.txt
muse -b 3 input.jpg output.png nord.txt
# super 8 film grain
muse -s 3 input.png output.png croma16.txt
# super panavision 70
muse -p 2 input.png output.png nord.txt
# combined effects
muse -b 3 -s 2 -p 4 input.png output.png spooky-13.txt
parameter | flag | range | default |
---|---|---|---|
brightness | -B |
-255.0 to 255.0 | 0.0 |
contrast | -C |
0.0 to 5.0 | 1.0 |
saturation | -S |
0.0 to 5.0 | 1.0 |
# example with all adjustments
muse -B 10.0 -C 1.2 -S 1.1 input.png output.png nord.txt
algorithm | description | best for |
---|---|---|
floyd |
floyd-steinberg (default) | general purpose, smooth gradients |
bayer |
ordered matrix pattern | retro graphics, consistent texture |
ordered |
8x8 threshold matrix | uniform pattern distribution |
jjn |
jarvis, judice, and ninke | enhanced detail preservation |
sierra |
sierra dithering | balanced error diffusion |
stucki |
stucki dithering | high-quality error diffusion |
atkinson |
atkinson dithering | classic mac-style dithering |
nodither |
direct color mapping | sharp color boundaries |
palettes are stored in /usr/local/share/muse/palettes
;paint.net palette file
;palette name: custom theme
;colors: 16
ff000000 ; black
ff1a1b26 ; background
ff415166 ; muted blue
ffff9b82 ; coral
[...additional colors...]
# extract and display
muse input.jpg -E
# extract to file
muse input.jpg -E custom.txt
- jpg/jpeg
- png
- bmp
- tga
- png (lossless)
- jpg (lossy, 95% quality)
- bmp (uncompressed)
- tga (lossless)
- stb_image - image loading
- stb_image_write - image saving
╭──────────────────────╮
│ crafted with care │
│ by jared │
╰──────────────────────╯