TIFF and LibTiff Mail List Archive

# 2006.09.17 17:23 "Re: [Tiff] is there alphacomponent presentin GrayscaleorPalettecolorimage", by Joris Van Damme

Graeme,

By applying the arbitrary weight 1, you can effectively hide the fact that you're applying arbitrary weights, and that's what you seem to be doing.

Why do you think that's an arbitrary weight?

Well... Hee, sticking numbers on something more or less ad random, finding out whether or not it pleases me by experiment, increasing or decreasing it accordingly... Do I need another reason? Isn't that what 'arbitrary' means?

If I used the wrong word, I've a very good excuse: I'm not native English. What I mean is, there is not a convincing theoretical basis.

Even the Alpha component can be related back to a visible L*a*b* distance, by the effect it has on the color, giving us the 4th dimension co-ordinate. If you wanted to do lots of work, you could even compute this by taking the color against a range of opaque backgrounds, and using some statistical extraction of the delta E (ie. median, largest etc.), that represents the visible result of the Alpha value.

One of the points I made is that this L*a*b* alpha isn't a eucledian 4D space. If it were, normal eucledian distance calculation would apply, and the difference between L*a*b* alpha (0,0,0,0) and (100,0,0,0) would equal 100 while both are just as transparent.

As far as I understand what you propose above, you seem not disagree with my statement, in fact you're looking for a suitable distance measure in the L*a*b* alpha space that is *not* normal eucledian distance.

In any case, there's nothing inherently wrong with arbitrary weights :- they're what you adjust to get an algorithm working in real world situations.

I'm not a real world guy. Except after the theory's in place, and I do seem to cover some ground that way. That means, when I'm about to do arbitrary things, I take that as a strong hint I made a wrong turn somewhere. If I need to magically jump from A to B, I take that to mean I shouldn't have followed the road signs loading to A in the first place.

I'm fully aware this is not a convincing argument though. That's why I never used totalitarian words like 'The Wrong Thing' or such, I said stuff like 'seems weird'. In the end, the statement I made is that alpha inside palette entries (general case, not special case of one single transparent index) seems to smell funny and might best be avoided. Do you disagree?

As to convertion to Lab, OK, I'm all for that. So now we do indeed have a 4D space. To make my point, let's encode L, a and b as their natural float value, and alpha as a float value ranging from 0 to 1. So, you're saying the difference between L*a*b*alpha (0,0,0,1) (which is non-transparent black) and (1,0,0,1) (which is non-transparent almost-black) is equal to the difference between (0,0,0,1) (again non-transparent black) and (0,0,0,0) (which is total transparency).

Hmm. Why would you do that? The notional range of L* is 0 to 100, and a* and b* are often taken to range from -128 to +128 (which is somewhat arbitrary, but that's the nature of the colorspace and the real world), so logically the Alpha should be scaled to be 0 to 100 (at least as a starting point).

You're putting 'logically' and 'at least as a starting point' in the same sentence. Don't you think there's something fishy about that?

You can't build a model on the basis of a particular chosen scale that hides the fact you're throwing in arbitrary chosen constants and expect to make sense. But you may indeed expect that perhaps you're getting more or less pleasing results. If that's the goal, fine. I'm not saying it shouldn't be the goal. But I do think the words 'fishy' and 'a bit weird' apply, and I suspect there's turns and quircks, maybe earlier on that road, that aren't exactly theoretically solid, and/or at least room for more investigation or thought.

We'll be spinning of this discussing into the science of science next... Let's not do that, I'm not drunk enough to get into the metaphysics of things. I agree there's ways to experiment and try and get more or less pleasing results. In the end, the statement I made is that alpha inside palette entries (general case, not special case of one single transparent index) seems to smell funny and might best be avoided. Do you disagree?

See, we apply weights (full transparent range is equally important as a difference of 1 in the L range). This is obvious if we pick very bad weights as we did here. So what are good weights? Full transparent range is equally important as a difference of 100 in the L range? Or is it twice as important as a difference of 100 in the L range? Why?

Do you expect everything to be handed to you on a plate? :-)

Well, you used the word 'logically' on this same issue earlier. My whole point is, let me repeat again, things here are not quite so logically determined, and if the 'plate' is logic, I made the point that things are *not* handed on a plate in this case.

I never said anything more or other then that. If you need any of this... Sure, experiment and find out. Where did I say otherwise? If you don't strictly need any of this, avoid it. It just smells funny to have alpha inside palette entries, and the fact that we need experiment to come at arbitrary weights that seems to indicate there is no solid theory that applies. Do you disagree with that?

Sorry, Graeme, perhaps I'm stupid, but I can't find much disagreement, yet there seems to be a lot of discussion. If the core of this is due to my bad use of English, I appologise.

Best regards,

Joris Van Damme
info@awaresystems.be
http://www.awaresystems.be/