Your browser does not seem to support JavaScript. As a result, your viewing experience will be diminished, and you have been placed in read-only mode.
Please download a browser that supports JavaScript, or enable it if it's disabled (i.e. NoScript).
0.5 update: added experimental multithreaded mode (-j).
-j
Experimental because it's currently 8% slower than singlethreaded for some reason.
@marcomics, the analyse subcommand will stay, of course.
analyse
It should support all common image formats, I think.
Having observed your palette, I decided there should be an additional mode where a big (like 1280x1280) gif would be generated, showing slowly rotating 3D CAM16UCS representation with the important graph structure of the palette (ramps and cycles). But there're some other things I need to do before that.
@marcomics, the colours look really good, and the art is nice! Some recommendations:
Concerning logos, I'd recommend one of numbers 12 (but there're many similar logos already) and 13 (could benefit from making it a bit bigger).
P. S. By the way, keep in mind that palette examples on Lospec shouldn't contain any text except for palette name.
@marcomics, thank you! I checked this, and Visual Studio Build Tools are indeed required for Windows installation of Rust toolchain with default options. I'll add a note into readme.
Probably I should start generating binary releases for all platforms at some point.
0.4 update: daemon command parser is upgraded, now it's using the same library as for the command-line interface. In particular, it means that it can finally do ~everything the command-line app could.
@b236, the contour and RGB primaries are now added.
@pixel-potter, if you mean the program, it wasn't very hard (and I already had the 0.1 version written in Python). As you can see from the source code, it's quite straightforward. XYZ to CAM16UCS conversion is one of less trivial parts, but I just followed the algorithm from the CAM16 paper. A couple of metrics/distributions used are described in other threads of this forum section.
I sampled some colours from an image of von Luschan's chromatic scale and here's the result: Looking at the plots, I doubt that there can be a vectorscope-like line for skin tones: the range of hues is at least 60°. I could still add a curve approximating skin colours, but it seems it won't be visible for most palettes because of low chroma.
The range of wavelengths in spectral distribution is currently 4100-6650 angstroms (in other words, 410-665 nm). It was supposed to be wider, but I had issues in the 0.1 version (which was in Python) with computing CIExy hues because XYZ values were near-zero and lack of precision made the hue function outside of those boundaries non-monotone. I'll test if switching to f64 in Rust will allow to expand it again.