-
Notifications
You must be signed in to change notification settings - Fork 21
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Use correct vector space definitions #64
Conversation
Images defines arithmetic on all AbstractRGBs, and I'm pretty sure it's going to stay that way. But for this package, this might indeed be the best thing to do. CC also @dcjones. We also need to put some effort into increasing the efficiency of conversions. See discussion (not implementation) in #48. |
0ee1833
to
e3e02d8
Compare
Cool! LMS is also a linear vector space, so it is safe to define these operations for it, too, unless we want to keep XYZ as a common intermediary for these sorts of operations. |
EDIT: Ignore what was in this box here. I need sleep. Will hopefully have clearer thoughts after that... |
CIECAM02 is not an “LMS system”, but a color appearance space, as you CIECAM02 uses the linear CMCCAT2000 transform, but then several On 29.09.2014 21:37, Robert J. Ennis wrote:
|
Ah, okay, I didn't know the name of the sole transform, only the full model. Thanks for the info! I suppose this can be merged now? |
7fc0ed3
to
7143968
Compare
I've added some tests. It looks like the Lab and LMS ColorValues behave like a linear vector space too (up to floating-point roundoff); does that look right? |
7143968
to
a284244
Compare
- Defines +, * on XYZ as a linear vector space - Defines +, * on all other ColorValues using intermediate arithmetic in XYZ space
a1d85cc
to
3c1d2fd
Compare
3c1d2fd
to
ed449b4
Compare
Lab is also non-linear. It basically applies a cube root transform to each of the X, Y, and Z values. But, yes, LMS is a linear vector space. |
Use correct vector space definitions
XYZ space
cc @rennis250 @timholy