| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | gamut: lch: Reduce chroma search precision to 0.001HEADs12.1s12.0 | Danny Lin | 2021-09-23 | 1 | -1/+1 |
| | | | | | | | | | | Tested with Android 12 Extensions sample color palettes [1] - images compared pixel-by-pixel using odiff: Preserve lightness: No difference Adaptive towards mid: 3 colors within imperceptible difference [1] https://github.com/kdrag0n/android12-extensions/blob/main/app/src/main/java/dev/kdrag0n/android12ext/ui/settings/appearance/AutoPaletteRenderer.kt | ||||
| * | cam: Zcam: Simplify pow(0.5) to sqrt | Danny Lin | 2021-09-20 | 1 | -1/+1 |
| | | |||||
| * | build: Bump version to 1.0.3 | Danny Lin | 2021-09-02 | 1 | -1/+1 |
| | | |||||
| * | illuminants: Use ASTM D65 by default | Danny Lin | 2021-09-02 | 4 | -20/+20 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While agreement with the sRGB standard may be nice, most of our color spaces and color appearance models (ZCAM and Oklab) consider "white" to be ASTM D65 instead of the rounded sRGB chromaticities, and these color models are more sensitive than converting to 8-bpc sRGB. Tested by converting pure white to each color space and checking for minimum chroma: sRGB D65: Oklab(L=0.9999988020105659, a=-2.1755553165359043E-5, b=-1.2315505659377113E-4) Iz=0.9949976123811411 az=-2.362580742811815E-4 bz=-1.7212518608999972E-4 chroma=2.9230969424493827E-4 Zcam(brightness=865.6392743493063, lightness=100.0, colorfulness=0.3659209364945614, chroma=0.04227175768678253, hue=216.075109084568, saturation=4.495963941600806, vividness=42.000072326903116, blackness=19.99994281917249, whiteness=99.95772824231322, viewingConditions=ViewingConditions(surroundFactor=0.69, adaptingLuminance=10000.0, backgroundLuminance=1000.0, referenceWhite=CieXyzAbs(x=9504.559270516716, y=10000.0, z=10890.577507598784))) ASTM D65: Oklab(L=0.9999998095202896, a=-1.0091754968077904E-5, b=-8.610878004511324E-5) Iz=0.9949945266665536 az=-2.2566494047437935E-4 bz=-1.3882055770908508E-4 chroma=2.649449237142818E-4 Zcam(brightness=865.6358715247319, lightness=100.0, colorfulness=0.33927763142554684, chroma=0.039194035573865825, hue=211.59826124866282, saturation=4.329200076703247, vividness=42.00006217836164, blackness=19.999950842497512, whiteness=99.96080596442613, viewingConditions=ViewingConditions(surroundFactor=0.69, adaptingLuminance=10000.0, backgroundLuminance=1000.0, referenceWhite=CieXyzAbs(x=9504.7, y=10000.0, z=10888.3))) Raw CIE D65: Oklab(L=0.9999998468817637, a=-9.776905608882558E-6, b=-8.59019382591919E-5) Iz=0.9949945226634265 az=-2.2544728356810317E-4 bz=-1.386176506734671E-4 chroma=2.646532273494281E-4 Zcam(brightness=865.6358671102167, lightness=100.0, colorfulness=0.33899828752821487, chroma=0.03916176540372628, hue=211.58553550809668, saturation=4.327417499469805, vividness=42.00006207601551, blackness=19.99995092341122, whiteness=99.96083823459627, viewingConditions=ViewingConditions(surroundFactor=0.69, adaptingLuminance=10000.0, backgroundLuminance=1000.0, referenceWhite=CieXyzAbs(x=9504.705586542832, y=10000.0, z=10888.28736395884))) MATLAB D65: Oklab(L=0.9999951917581503, a=-4.595680552083037E-5, b=-8.142179944437E-5) Iz=0.9949921589631224 az=-2.4802709743521056E-4 bz=-1.3714120747843062E-4 chroma=2.834169223084207E-4 Zcam(brightness=865.6332605011636, lightness=100.0, colorfulness=0.3559767253054511, chroma=0.0411232725853621, hue=208.93944875904936, saturation=4.434467746562692, vividness=42.00006845018307, blackness=19.999945884064758, whiteness=99.95887672741463, viewingConditions=ViewingConditions(surroundFactor=0.69, adaptingLuminance=10000.0, backgroundLuminance=1000.0, referenceWhite=CieXyzAbs(x=9504.0, y=10000.0, z=10888.0))) Raw CIE D65 performs best in these tests, but ASTM D65 is very close and matches the white point used by many other color libraries (and most likely the color space/CAM authors as well). | ||||
| * | conversion: Remove redundant passthrough converter from paths | Danny Lin | 2021-09-02 | 1 | -2/+2 |
| | | |||||
| * | tests: gamut: Simplify RGB, black, white tests | Danny Lin | 2021-09-02 | 1 | -7/+11 |
| | | |||||
| * | tests: gamut: Simplify ZCAM viewing condition construction | Danny Lin | 2021-09-02 | 1 | -2/+2 |
| | | |||||
| * | tests: oklab: Streamline example XYZ tests | Danny Lin | 2021-09-02 | 1 | -41/+24 |
| | | |||||
| * | tests: conversion: Check for specific exception type | Danny Lin | 2021-09-02 | 1 | -2/+3 |
| | | |||||
| * | tests: zcam: Fix blackness tests | Danny Lin | 2021-09-01 | 1 | -1/+2 |
| | | | | | | I accidentally removed the blackness assertion entirely instead of making it more permissive. | ||||
| * | gamut: lch: Remove unnecessary usage of this | Danny Lin | 2021-09-01 | 1 | -6/+6 |
| | | |||||
| * | cam: Zcam: Fix PQ/inverse transfer function names | Danny Lin | 2021-09-01 | 1 | -12/+12 |
| | | |||||
| * | tests: zcam: Check most attributes more strictly | Danny Lin | 2021-08-31 | 1 | -3/+3 |
| | | | | | | It's just blackness (Vz) that deviates up to 0.7. We should probably contact the authors to clarify that. | ||||
| * | tests: zcam: Add all examples from supplementary document | Danny Lin | 2021-08-31 | 1 | -60/+146 |
| | | | | | | | | | | | | | | | | All sample XYZ values have been adapted using colorio's implementation of CAT02, with F values chosen to match the given surround and L_a matching the one used for ZCAM. The paper appears to have the wrong L_a and Y_b values for example #3. Changing them to match #1 and #2 fixes the tests. The paper also gives an odd value for hue angle in #5: 389.7720 degrees, likely caused by unconditionally adding 360 to make the angle positive. Subtracting 360 makes the test pass. Closes #3. | ||||
| * | cam: Zcam: Clarify step 2 in forward model | Danny Lin | 2021-08-31 | 1 | -1/+1 |
| | | |||||
| * | tests: zcam: Fix reference white and D65 used in Example 1 test | Danny Lin | 2021-08-31 | 1 | -6/+17 |
| | | | | | This is closer to the paper now, but still not identical. | ||||
| * | cam: Zcam: Fix equation number in comment | Danny Lin | 2021-08-31 | 1 | -1/+1 |
| | | |||||
| * | cam: Zcam: Align R' G' B' matrix | Danny Lin | 2021-08-31 | 1 | -3/+3 |
| | | |||||
| * | build: Bump version to 1.0.2 | Danny Lin | 2021-08-31 | 1 | -1/+1 |
| | | |||||
| * | tristimulus: CieXyzAbs: Remove redundant luminance arguments | Danny Lin | 2021-08-31 | 1 | -2/+2 |
| | | |||||
| * | gamut: oklab: Make private oklab argument mandatory | Danny Lin | 2021-08-31 | 1 | -4/+2 |
| | | |||||
| * | gamut: oklab: Use LinearSrgb#isInGamut() helper | Danny Lin | 2021-08-31 | 1 | -1/+1 |
| | | |||||
| * | tests: gamut: Test ZCAM clipping with negative lightness | Danny Lin | 2021-08-31 | 1 | -3/+14 |
| | | |||||
| * | gamut: oklab: Remove unused default arguments | Danny Lin | 2021-08-31 | 1 | -2/+2 |
| | | |||||
| * | build: Exclude test code from coverage reports | Danny Lin | 2021-08-31 | 1 | -4/+3 |
| | | |||||
| * | tests: Test CIELAB inversion | Danny Lin | 2021-08-31 | 1 | -0/+22 |
| | | |||||
| * | tests: zcam: Test aliases and viewing condition parameters | Danny Lin | 2021-08-31 | 1 | -0/+41 |
| | | |||||
| * | tests: conversion: Test an unsupported conversion | Danny Lin | 2021-08-31 | 1 | -0/+12 |
| | | |||||
| * | tests: Add SRLAB2 tests using colorio samples | Danny Lin | 2021-08-31 | 2 | -3/+56 |
| | | |||||
| * | tests: srgb: Test XYZ->sRGB conversion | Danny Lin | 2021-08-31 | 1 | -1/+7 |
| | | |||||
| * | tests: gamut: Add pure white to clipping tests | Danny Lin | 2021-08-31 | 1 | -8/+8 |
| | | |||||
| * | tests: xyz: Make sure reference white is D65 | Danny Lin | 2021-08-31 | 1 | -0/+5 |
| | | |||||
| * | tests: oklab: Test XYZ inversion | Danny Lin | 2021-08-31 | 1 | -0/+20 |
| | | |||||
| * | ucs: lab: Oklab: Add XYZ conversions to graph | Danny Lin | 2021-08-31 | 2 | -1/+4 |
| | | |||||
| * | tests: gamut: Add sanity checks for all clip methods | Danny Lin | 2021-08-31 | 1 | -1/+29 |
| | | |||||
| * | tests: zcam: Test all combinations of inversion methods | Danny Lin | 2021-08-31 | 2 | -7/+15 |
| | | |||||
| * | cam: Zcam: Fix inversion with saturation as chroma source | Danny Lin | 2021-08-31 | 1 | -1/+3 |
| | | |||||
| * | build: Add JVM test coverage reports using JaCoCo | Danny Lin | 2021-08-30 | 1 | -0/+31 |
| | | |||||
| * | build: Use JUnit 5 for JVM tests | Danny Lin | 2021-08-30 | 1 | -1/+1 |
| | | |||||
| * | illuminants: Distinguish between different variants of D65 | Danny Lin | 2021-08-30 | 1 | -4/+4 |
| | | |||||
| * | build: Bump version to 1.0.1 | Danny Lin | 2021-08-30 | 1 | -1/+1 |
| | | |||||
| * | readme: Add link to Maven Central search | Danny Lin | 2021-08-30 | 1 | -1/+1 |
| | | |||||
| * | Color: Reference ConversionGraph class in docs | Danny Lin | 2021-08-30 | 1 | -1/+1 |
| | | |||||
| * | conversion: Prevent adding duplicate conversions | Danny Lin | 2021-08-30 | 1 | -11/+5 |
| | | |||||
| * | conversion: Move color conversions out of Color companion object | Danny Lin | 2021-08-30 | 16 | -61/+49 |
| | | | | | | This should allow R8 to remove unused color spaces and graph code if users avoid automatic conversion. | ||||
| * | readme: Add javadoc.io link | Danny Lin | 2021-08-30 | 1 | -0/+2 |
| | | |||||
| * | readme: Add Maven Central version badge | Danny Lin | 2021-08-30 | 1 | -3/+5 |
| | | |||||
| * | gradle: Add workaround for Dokka metaspace usage | Danny Lin | 2021-08-30 | 1 | -0/+3 |
| | | | | | | Work around https://github.com/Kotlin/dokka/issues/1405 to fix builds on GitHub Actions. | ||||
| * | readme: Update for Maven Central release | Danny Lin | 2021-08-30 | 1 | -2/+0 |
| | | |||||
| * | github: Add release publishing workflow | Danny Lin | 2021-08-30 | 2 | -13/+38 |
| | | |||||
