A blazingly fast interpolated LUT generator using gaussian distribution for arbitrary color palettes.
bash
cargo install lutgen
```text
Usage: lutgen [OPTIONS] -p
Options:
-p
By default, the
bin
feature and dependencies are enabled. When used as a library, it's recommended to usedefault-features = false
to minimalize the dependency tree and build time.
Simple usage:
```rust use exoquant::Color;
// Setup the palette and parameters let palette = vec![ Color::new(255, 0, 0, 255), Color::new(0, 255, 0, 255), Color::new(0, 0, 255, 255), ];
// Generate the LUT using the v1 algorithm: let lut = lutgen::generatev1lut(&palette, 8, 4.0, 20.0, 512, 0); // Or, v0: lutgen::generatev0lut(&palette, 8, 4.0, 20.0, 512, 0); ```
Advanced usage:
```rust use exoquant::Color;
// Generate the base identity let identity = lutgen::identity::generate(8);
// Setup the palette and parameters let palette = vec![ Color::new(255, 0, 0, 255), Color::new(0, 255, 0, 255), Color::new(0, 0, 255, 255), ]; let mean = 4.0; let std_dev = 20.0; let iters = 512; let seed = 0;
// Remap the identity using v1: let outputv1 = lutgen::interpolatedremap::v1::remapimage(identity, &palette, mean, stddev, iters, seed); // Or, v0: lutgen::interpolatedremap::v0::remapimage(&identity, &palette, mean, std_dev, iters, seed); ```