2 stable releases
| 1.1.0 |
|
|---|---|
| 1.0.1 | Aug 1, 2025 |
| 1.0.0 | Jun 25, 2025 |
#506 in Images
130KB
1.5K
SLoC
lutgen-rs
A blazingly fast interpolated LUT utility for arbitrary and popular color palettes. Theme any image to your desktop colorscheme!
Example Output
Hald Cluts
Catppuccin Mocha
Gruvbox Dark
Nord
Color Corrections
Original Image
Catppuccin Mocha
Gruvbox Dark
Nord
Lutgen CLI
Package Repositories
Install from source
git clone https://github.com/ozwaldorf/lutgen-rs
cd lutgen-rs
cargo install --path crates/cli
Crates.io
cargo install lutgen-cli
Documentation
Detailed documentation, examples, and more are available on The Lutgen Wiki
Lutgen Studio
Package Repositories
Required Dependencies
(For this example, Ubuntu packages are listed)
- libxcb-render0-dev
- libxcb-shape0-dev
- libxcb-xfixes0-dev
- libxkbcommon-dev
- libssl-dev
- wayland
Install from source
git clone https://github.com/ozwaldorf/lutgen-rs
cd lutgen-rs
cargo install --path crates/studio
Crates.io
cargo install lutgen-studio
Rust Library
See the latest rust documentation on docs.rs/lutgen
Nix flake
A nix flake is available providing both lutgen and lutgen-studio packages. The flake can be easily run via:
nix run github:ozwaldorf/lutgen-rs
nix run github:ozwaldorf/lutgen-rs#lutgen-studio
Cache is provided via https://garnix.io
Development Shell
A development environment is also provided in the flake:
git clone https://github.com/ozwaldorf/lutgen-rs
cd lutgen-rs
nix develop
# inside dev shell
cargo run -r --bin lutgen
cargo run -r --bin lutgen-studio
Planned features
- Interpolation for more accuracy when correcting with low level luts (<16)
- Hardware acceleration for applying luts to images
Sources
- Hald Cluts: https://www.quelsolaar.com/technology/clut.html
- Editing with Hald Cluts: https://im.snibgo.com/edithald.htm
- Sparse Hald Cluts: https://im.snibgo.com/sphaldcl.htm
- RBF Interpolation: https://en.wikipedia.org/wiki/Radial_basis_function_interpolation
- Shepard's method: https://en.wikipedia.org/wiki/Inverse_distance_weighting
- Oklab Colorspace: https://bottosson.github.io/posts/oklab/
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
Dependencies
~21–43MB
~770K SLoC