Comments (7)
This started happening with ColorTypes v0.6.1 because that version updated gamutmax(::Lab)
and gamutmin(::Lab)
, which caused rand(Lab{Float32})
to start drawing from a larger space, which caused QuartzImageIO to encounter this pre-existing issue.
from colors.jl.
I suspect the problem is with
Line 303 in 7ce73e6
from colors.jl.
From comparison against https://github.com/THEjoezack/ColorMine/blob/master/ColorMine/ColorSpaces/Conversions/LabConverter.cs it appears that Colors.jl uses a default white-point of (0.95, 1.00, 1.08), but that ColorMine uses (95, 100, 108), which makes all of the XYZ results produced by ColorMine 100x larger than those from Colors.jl (but all of the magic constants used in the Lab->XYZ conversion are the same for both libraries). So I suspect the conversion above should be adjusted to reflect the fact that Colors.jl is using a different XYZ gamut than ColorMine
from colors.jl.
Okay, I finally understand what's going on. That particular Lab value is outside the range that can be represented in RGB (with values between 0 and 1), so information is necessarily lost in the conversion. I will update the QuartzImageIO tests accordingly.
from colors.jl.
outside the range that can be represented in RGB
RGB here is sRGB, that value might possibly be encoded by another RGB colourspace with a larger gamut, e.g. Adobe RGB 1998, DCI-P3, BT.2020 or ACES2065-1.
In that particular case it cannot be encoded by ACES2065-1 which encompasses the whole visible spectrum, so it is not a colour :)
sRGB (Linear) : [-0.04445121 0.0303619 -0.04719857]
ACES 2065-1 (Linear): [-0.01621534 0.01624061 -0.03871465]
from colors.jl.
Ah, cool, thanks! I've still got some catching up to do ;-)
from colors.jl.
Thanks for figuring this out!
from colors.jl.
Related Issues (20)
- RGB -> XTerm256 approximation? HOT 13
- move storage type conversion trait from ImageCore to Colors HOT 6
- Optimizing the types used for intermediate calculations HOT 5
- Source of the YIQ transform matrix HOT 1
- is `inv` on Colors well defined? HOT 4
- Fatal performance degradation due to precompilation or inference bugs HOT 8
- MethodError: no method matching coloralpha(::Type{RGB24}) HOT 1
- What should `default_brettel_neutral` be? HOT 1
- Ambiguity with AbstractTrees
- 'Render' colours in REPL HOT 15
- in the README, put a link on the home page HOT 2
- colorwheel generator HOT 1
- add colorwheel generator HOT 1
- Release v0.13? HOT 2
- Ambiguous show method for `Union{}[]` HOT 3
- colormap("<Color>", maxcount; w=<Int>, logscale=<Bool>) stackoverflows HOT 7
- oklab/oklch for CSS4 and cheap deltaE HOT 1
- BGR interpreted as RGB HOT 1
- Luv and LCHuv gives incorrect color values for low lightness cyan HOT 1
- Support for Preferences.jl HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from colors.jl.