# lutgen-rs
**Repository Path**: gislite/lutgen-rs
## Basic Information
- **Project Name**: lutgen-rs
- **Description**: No description available
- **Primary Language**: Unknown
- **License**: MIT
- **Default Branch**: main
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2026-03-18
- **Last Updated**: 2026-03-18
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
---
## Example Output
### Hald Cluts
Catppuccin Mocha
Gruvbox Dark
Nord
### Color Corrections
Original Image
Catppuccin Mocha
Gruvbox Dark
Nord
## Lutgen CLI
### Package Repositories
[](https://repology.org/project/lutgen/versions)
### Install from source
```bash
git clone https://github.com/ozwaldorf/lutgen-rs
cd lutgen-rs
cargo install --path crates/cli
```
### Crates.io
```bash
cargo install lutgen-cli
```
### Documentation
Detailed documentation, examples, and more are available on [The Lutgen Wiki](https://ozwaldorf.github.io/lutgen-rs)
## Lutgen Studio
### Package Repositories
[](https://repology.org/project/lutgen-studio/versions)
### 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
```bash
git clone https://github.com/ozwaldorf/lutgen-rs
cd lutgen-rs
cargo install --path crates/studio
```
### Crates.io
```bash
cargo install lutgen-studio
```
## Rust Library
See the latest rust documentation on [docs.rs/lutgen](https://docs.rs/lutgen)
## Nix flake
A nix flake is available providing both lutgen and lutgen-studio packages.
The flake can be easily run via:
```bash
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:
```bash
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](https://github.com/Gingeh) for the initial inspiration and imagemagick approach
- [The Catppuccin Org](https://github.com/catppuccin) for continual feedback and support along the way
- [Stonks3141](https://github.com/Stonks3141) for maintaining the Alpine Linux package
- All the nixpkgs maintainers