[package] name = "quantette" version = "0.3.0" edition = "2021" description = "A fast and high quality image quantizer and palette generator. Supports the CIELAB, Oklab, and sRGB color spaces." homepage = "https://github.com/Ivordir/quantette" repository = "https://github.com/Ivordir/quantette" license = "MIT OR Apache-2.0" include = ["src"] keywords = ["quantization", "palette", "color", "dither", "kmeans"] categories = ["multimedia::images"] [features] default = ["pipelines", "colorspaces", "threads", "image", "kmeans"] # Exposes a high-level API via the `ImagePipeline` and `PalettePipeline` builder structs. # Turn this feature off to reduce compile times if you do not need the high-level API. pipelines = [] # Allows using CIELAB or Oklab as the quantization color space in the high-level API. # Turn this feature off to reduce compile times if you do not want alternate color spaces. colorspaces = ["pipelines"] # Exposes parallel versions of most algorithms. threads = ["rayon"] # Enables integration with the `image` crate. image = ["dep:image"] # Exposes kmeans as an alternative quatization method # which gives higher quality results but is slower to run. kmeans = ["rand", "rand_distr", "rand_xoshiro"] [dependencies] bitvec = "1.0.1" num-traits = "0.2.16" ordered-float = "4.1.0" wide = "0.7.12" palette = { version = "0.7.5", default-features = false, features = ["std"] } image = { version = "0.25.0", default-features = false, optional = true } rayon = { version = "1.10.0", optional = true } rand = { version = "0.8.5", default-features = false, features = ["alloc"], optional = true } rand_distr = { version = "0.4.3", default-features = false, features = ["alloc"], optional = true } rand_xoshiro = { version = "0.6.0", optional = true } [dev-dependencies] criterion = "0.5.1" image = { version = "0.25.0", default-features = false, features = ["jpeg", "png"] } clap = { version = "4.3.0", features = ["derive"] } rgb = { version = "0.8.36", features = ["as-bytes"] } color_quant = "1.1.0" imagequant = "4.2.0" exoquant = "0.2.0" dssim = "3.2.4" rand = "0.8.5" rand_xoshiro = "0.6.0" [profile.perf] inherits = "release" debug = true [[bench]] name = "color_counts" harness = false path = "benches/color_counts.rs" [[bench]] name = "dither" harness = false path = "benches/dither.rs" [[bench]] name = "wu" harness = false path = "benches/wu.rs" [[bench]] name = "kmeans" harness = false path = "benches/kmeans.rs"