lutgen 0.12.0

A blazingly fast interpolated LUT utility for arbitrary and popular color palettes.
docs.rs failed to build lutgen-0.12.0
Please check the build logs for more information.
See Builds for ideas on how to fix a failed build, or Metadata for how to configure docs.rs builds.
If you believe this is docs.rs' fault, open an issue.
Visit the last successful build: lutgen-0.11.2

Example Output

Hald Cluts

Color Corrections

CLI

Installation

Packaging status

Source

git clone https://github.com/ozwaldorf/lutgen-rs
cd lutgen-rs
cargo install --path .

Nix flake

A nix flake is available and can be run easily with:

nix run github:ozwaldorf/lutgen-rs

Cache is provided via https://garnix.io

Documentation

Detailed cli documentation is available at docs/README.md.

Examples

Correcting an image

# Builtin palette
lutgen apply -p catppuccin-mocha docs/example-image.jpg -o mocha_version.jpg

# Custom colors
lutgen apply docs/example-image.jpg -- "#ABCDEF" ffffff 000000

# Custom palette file with whitespace separated hex colors (linux example shown)
echo "fff 555 000 abcdef deadbe" > ~/.config/lutgen/my-palette-name
lutgen apply docs/example-image.jpg -p my-palette-name

# Multiple images
lutgen apply image1.png image2.png *.jpg -p catppuccin-mocha

# Using an external LUT
lutgen apply --hald-clut mocha_lut.png docs/example-image.jpg

Generating a standalone LUT for external or manual usage

# Builtin palette
lutgen generate -p catppuccin-mocha -o mocha_lut.png

# Custom colors
lutgen generate -o custom.png -- "#ABCDEF" ffffff 000000

# Custom palette file with whitespace separated hex colors (linux example shown)
echo "fff 555 000 abcdef deadbe" > ~/.config/lutgen/my-palette-name
lutgen generate -p my-palette-name

Preview palletes

# Preview all palettes
lutgen palette all

# Copy a palette to the custom palette dir for modifying and overriding
lutgen palette carburetor > ~/.config/lutgen/carburetor

# Finding a palette name with grep
lutgen palette names | grep 'gruvbox'

Correcting videos (using ffmpeg):

ffmpeg -i input.mkv -i hald_clut.png -filter_complex '[0][1] haldclut' output.mp4

Zsh Completions:

lutgen --bpaf-complete-style-zsh > _lutgen
sudo mv _lutgen /usr/local/share/zsh/site-functions/

Library

See the latest documentation on docs.rs

Planned features

  • Interpolation for more accuracy when correcting with low level luts (<16)
  • Hardware acceleration for applying luts to images

Sources

Special Thanks

  • Gingeh for the initial inspiration and imagemagick approach
  • The Catppuccin Org for continual feedback and support along the way
  • Stonks3141 for maintaining the Alpine Linux package
  • All the nixpkgs maintainers