Jump to content
hanshab

channel mixer potential issue still in 1. 7.2beta

Recommended Posts

I believe the channel mixer in LAB color space may still be broken and the user guide for channel mixer only talks about RGB mode  Here is what it says:

The following settings can be adjusted:

  • Output Channel:
    • Select a colour mode from the first pop-up menu.
    • Specify a single colour channel to apply the adjustment to, including the layer's alpha channel. Select from the second pop-up menu.
  • The sliders control the contribution of the named colour to the selected output channel. Drag the slider to the left to decrease the level of the named colour, drag the slider to the right to increase it.
  • When in LAB and say you select AOpponent from the drop down then when you reduce the AO slider to ninety percent you have taken out most of the magenta and the green remains.  Once you go past zero to the negatives nothing more happens.  When you move the AO slider to greater than 100%  you increase the magenta.  So even though the slider allows you can go below zero to negatives, nothing really happens. Now when you move AO to 50%.  IN any case when you move  BO to 50% with the AO selected in the drop down, you basically get close to the original because you are adding yellow but you cannot add blue.  When selecting BO and making the same adjustments it acts similarly although for different colors.  In any case the user guid is wrong for LAB and I feel there is an issue with the way the sliders are set up for LAB which acts differently than RGB.  AM I MISSING SOMEHTING??  THANKS

 

Share this post


Link to post
Share on other sites

Hi,

I'm on windows10 !. Perhaps

In this case, no problem, the channel mixer react well If i select channel BOpp by example...

If select another a*,  or L* , on the same flow ,  I must reset

To facilitate the adjustement i have print this link https://www.handprint.com/HP/WCL/CIELAB.pdf, navigation with 2 parameter as a complex number

 

Perhaps

If start with Lightness (L*) and use the Ao (a*)  slider affect at this panel no good action in this case Ao and Bo slider

but for me

it' s make no sens !,

first i change color  on color layer and second , after, i  adjust the Lightness of the color .  

brightness L * only represents the absence of light (surface reflectance) and not the black colour,  often misunderstood

for me ... notion of reflectance of light correct for one color;

 

ChMixerLab.PNG

Share this post


Link to post
Share on other sites

Yes, its possible to get something colored out of this adjustment by moving sliders. But still, the very nature of LAB channels dictates some important behaviours for a/b channels and how they contribute to colors. and current way is clearly broken.

You can compare to Photoshop channel mixer in LAB document, for example. In photoshop it behaves as it should, predictable. In AP it is not

Share this post


Link to post
Share on other sites

Ok, thank for this answer IPv6, Impossible for me compare with photoshop, desactivate  it .

Share this post


Link to post
Share on other sites

even when using offsets i feel  it's broken. And the user guide is vacuous wrt LAB.   For instance in AO pull down when you modify the lightness slider you are changing magenta. when you modify the BO slider you are again modifying magenta...  This should not happen.  I hope Serif can fix this like it works in photoshop.  I use LAB color mode almost exclusively due its strong benefits.

Share this post


Link to post
Share on other sites

Hi all,

Sorry for the delayed reply. 

On 6/29/2019 at 5:07 AM, hanshab said:

When in LAB and say you select AOpponent from the drop down then when you reduce the AO slider to ninety percent you have taken out most of the magenta and the green remains.

This is expected. In LAB, A opponent goes from Green to Red. So, you moving the slider towards 0 will give you a green image. 

On 6/29/2019 at 5:07 AM, hanshab said:

Once you go past zero to the negatives nothing more happens.

This is again expected. You cannot have negative contribution of the same component while adjusting that component. This applies to any channels in any colour mode. Once you reach 0%, you have 0% contribution of that component in that channel. What would you expect it to do when dragging it past 0%? You already have 0 data from that channel at that point. 

 

On 6/29/2019 at 5:07 AM, hanshab said:

In any case the user guid is wrong for LAB and I feel there is an issue with the way the sliders are set up for LAB which acts differently than RGB

It will act different. Let's take the R(ed) channel for example. At 100% you will have 100% contribution of RED. At 0%, you will have 0% contribution of RED. In LAB, let's take "A opponent". At 100%, you have 100% contribution of Red. At 0% "A opponent", you will not have 0% Red, but instead, you will have 100% Green. LAB is intended to work different than RGB

Share this post


Link to post
Share on other sites
3 hours ago, GabrielM said:

You cannot have negative contribution of the same component while adjusting that component.

Subtract that component's contribution from the contribution coming from other channels?

Share this post


Link to post
Share on other sites

I don't really follow you on this.

Let's take B opponent channel in LAB. By default, you would have 0% contribution from Lightness, A opponent, Alpha and Offset, and 100% contribution from B opponent. 0% or any negative contribution WHILE the others are 0 will still be 0, because you cannot subtract information from a channel that's technically "blank". You would need to subtract that data from some already existing data. If you change any of the other channels to a positive value, you will be able to subtract up to that value from any other channels. The total contribution cannot be negative but can be 0. So regardless of what the "negative" value says, it will clamp to have a minimum 0 value. 

Share this post


Link to post
Share on other sites
17 hours ago, GabrielM said:

I don't really follow you on this.

Let's take B opponent channel in LAB. By default, you would have 0% contribution from Lightness, A opponent, Alpha and Offset, and 100% contribution from B opponent. 0% or any negative contribution WHILE the others are 0 will still be 0, because you cannot subtract information from a channel that's technically "blank". You would need to subtract that data from some already existing data. If you change any of the other channels to a positive value, you will be able to subtract up to that value from any other channels. The total contribution cannot be negative but can be 0. So regardless of what the "negative" value says, it will clamp to have a minimum 0 value. 


Lets start from basics (may be i am wrong something here, so fell free to correct):
- On each channel panel we have sliders that do multiplication of channel value on the value of slider
- We also have "offset" value, that is additive on value channel and works independent of other channels values
- Unlike other modes, LAB A/B channels can go below 0 - thier standart meaning (which should be used in UI independent of inner application limitations) ranges from -1 to 1, where 0 is NO COLOR.

So take a moment to try very simple experiment - set all sliders to zero except lightness on any image. By the nature of multipication, setting sliders to zero should make value of the channel equals to 0. Which have exact meaning for LAB channels - no color. So image SHOULD became totally grayscale. But this is not happens!

Zero in channel contribution does not mean "Most opposite value", in LAB it means "no color contribution". So sorry, but what you call "Expected behaviour" really looks like "Broken behaviour". LAB channels have standart MEANING, you can`t change this meaning and call this is ok... And "Channel mixer" adjustment also have standart behaviour, which should be here for tool to be usable.

You can also compare behaviour of channel mixer in LAB mode in AP and in Photoshop (when document is in LAB mode itself) to see the difference. In Photoshop channel mixer allows very precise saturation control (in LAB). In AP it is unusable

4.thumb.jpg.bd28872754eee8357a4776339af203d9.jpg3.thumb.jpg.dd0c25f2b6573a3f4a0dfefe92b78ba4.jpg2.thumb.jpg.83685f4d29eb5c0cfaf950ff51420610.jpg1.thumb.jpg.852019d754698332f513c4fc33fc25fa.jpg

Share this post


Link to post
Share on other sites

i agree.  first the channel mixer user guide descriptIon for LAB should be corrected.  second gabrielm said that in A opponent the slider goes from green to red. actually it goes from green to magenta. further when you move the slider you adjust green but not magenta.

The levels adjustment works correctly. when you selec Ao and adjust the darks in levels you adjust green, when you adjust the lights you adjust magenta.  It works the same for Bomcorrectly.   This is as it should be.  this is not the case with the channel mixer. the sliders in channel mixer are set up for single color i believe, but in LAB you adjust two colors ( green and magenta with Ao and blue and yellow with Bo.

Share this post


Link to post
Share on other sites
24 minutes ago, IPv6 said:

So take a moment to try very simple experiment - set all sliders to zero except lightness on any image. By the nature of multipication, setting sliders to zero should make value of the channel equals to 0. Which have exact meaning for LAB channels - no color. So image SHOULD became totally grayscale. But this is not happens!

Yes and no. I see why it might be confusing. As opposed to RGB, where the values are 0-255, here(in LAB) we have Green from -128 on the negative size and +127 Red(not magenta) on the positive side. 

In A opponent, you would have the whole -/+ range mapped to 0-100. So, when you set the A opponent to 0, contrary to your expectations, you will not have gray, but green. To get gray, you would need to offset the whole green/red channel by 50%, so that the 0% contribution sits in between the 2 colours. Does it make sense? 

36 minutes ago, IPv6 said:

You can also compare behaviour of channel mixer in LAB mode in AP and in Photoshop (when document is in LAB mode itself) to see the difference. In Photoshop channel mixer allows very precise saturation control (in LAB). In AP it is unusable

How did you get Channel Mixer in Photoshop in LAB mode? Mine is grayed out in both 8 or 16 bit LAB

Share this post


Link to post
Share on other sites
3 hours ago, GabrielM said:

Yes and no. I see why it might be confusing. As opposed to RGB, where the values are 0-255, here(in LAB) we have Green from -128 on the negative size and +127 Red(not magenta) on the positive side. 

In A opponent, you would have the whole -/+ range mapped to 0-100. So, when you set the A opponent to 0, contrary to your expectations, you will not have gray, but green. To get gray, you would need to offset the whole green/red channel by 50%, so that the 0% contribution sits in between the 2 colours. Does it make sense? 

How did you get Channel Mixer in Photoshop in LAB mode? Mine is grayed out in both 8 or 16 bit LAB

> when you set the A opponent to 0, contrary to your expectations
My expectations are going from formula that should be used behind this adjustment. And this formula including multiplication on slider value, which in case of zero should remove color by definition of LAB channel.

Can you tell exact formula behind sliders In LAB mode? Because in RGB mode this is clearly multiplication without any quirks - sliding everything to zero give you totally black image. Just as expected :)

> you would need to offset the whole green/red channel by 50%, so that the 0% contribution sits in between the 2 colours
You can try and see that no, even 50% in A and B channels do not remove color - image just became more blue.

Anyway, such indirect math is  hard to control, do you mean your users should calculate system of equations "in mind" to get what is needed? Software should help user to get results quick, not impose mathematical challenge to get value from broken things :)

And I understand that you mapped -128:+128 to 0:100 on this sliders (though 50% should work in this case - but it is not). BUT this mapping makes no sense for practical tasks for LAB, that is all. There is nothing predictable, only L tab can be used reliable for now.

How did you get Channel Mixer in Photoshop in LAB mode? Mine is grayed out in both 8 or 16 bit LAB
Actually can`t check, sorry // Deinstalled PH a long time ago (if favor of AP). So can`t tell how exactly it is going in PH now. I just remember that there was no such problems in LAB-centered desaturation... But possibly because HSL adjustment in LAB worked differently (<- i even posted feature request here a long time ago... hope this will be added to AP too :) )


 

Share this post


Link to post
Share on other sites

Hm, I tried -50% in offset and 50% in slider value in different combinations... without luck. 50% offset should be substructed, no?

So this is how it should work... Thanks, will know. But still. This works for sliders ==0. But what values should be for 50% of saturation? 30%?
Just tried to find proper values around without luck, again. Asking because i actually need to know this for some tasks.

And still have to mention this is very unintuitive and unpredictable //

Share this post


Link to post
Share on other sites
43 minutes ago, IPv6 said:

But what values should be for 50% of saturation? 30%?

You cannot do this. Channel mixer in LAB is not intended for increasing/decreasing saturation, simply because you don't have control over one colour. "Removing" one colour would, in fact, introduce another colour into the image which is not what you want.

For saturation, you should be using the Channel Mixer in RGB as opposed to LAB, where you can easily control the contribution of each channel without introducing unwanted colour. If you want 50% simply set each channel to 50% in int's own channel and the other sliders to 25. You would want a total of 100% contribution per channel. Like this:

image.png

 

 

Share this post


Link to post
Share on other sites

Unfortunately desaturation in RGB gives not the same colors as in LAB mode, 30% RGB desaturation not equal 30% LAB desaturation. This is why RGB path is not the replacement. This is especially important in gradients - desaturating over R/G/B channels and A/B channels gives different image, sometimes dramatically. This may be not obvious at first glance, but RGB gives darker tones, where LAB keeps correct lightness over ANY gradient over ANY kind of colors in image. Of course, you can manually tweak everything, but in LAB you don`t have to think about actual colors, in many cases it "automatically" better (for some styles, not for everyone, of course)

"You cannot do this" - don`t get it, why? Even if LAB channels are weirdly mapped (for me), you still can dimish A and B values by 50%/70%/etc - if you work over channel on it`s own tab without introducing cross-channel parts. ""Removing" one colour would, in fact, introduce another colour into the image which is not what you want" - does it mean that channels of non-active tab affect channel output even when thier value set to zero on that tab?

Again, can you tell exact math behind LAB sliders? 

Share this post


Link to post
Share on other sites

Anyway, i understand that this adjustment already "hardened" and unlikely it will be changes in foreseeable future... But still curious about exact math.
Hoping LAB mode will be added to "Live procedure" adjustment, where all this channel multiplication stuff will be obvious :)

Share this post


Link to post
Share on other sites
1 hour ago, GabrielM said:

Channel mixer in LAB is not intended for increasing/decreasing saturation, simply because you don't have control over one colour.

The definition of L*a*b* that I am finding is that L* is lightness (0 to 100), a* runs from green (-100%) to red (+100%), and b* runs from blue (-100%) to yellow (+100%).  Neutral gray is found at a* = b* = 0.

In that case, a fully desaturated image should be possible by ensuring that nothing contributes to a* or b* (leaving both at zero), and letting L* contribute to itself at 100%.

A partially desaturated image would be a partial contribution of a* and b* to themselves at similar levels, assuming that it is a simple saturation reduction.

 

I am basing this on the assumption that whatever part of max value is selected for a contribution is multiplied by the incoming value (ex. 50% => 0.5 * source value) and added to the other values to produce the final result.  If the original value of b* was 100% (yellow), then a 50% contribution should give 50% yellow.  If it was 100% blue, then a 50% contribution should be 0.5 * -100% => -50%, giving 50% blue.

What am I still missing in how I am interpreting this?

Share this post


Link to post
Share on other sites
On 7/19/2019 at 4:02 PM, GabrielM said:

You cannot do this. Channel mixer in LAB is not intended for increasing/decreasing saturation, simply because you don't have control over one colour. "Removing" one colour would, in fact, introduce another colour into the image which is not what you want.

Still interested in math behind sliders, GabrielIM. If possible, can you publish it for reference? Just hit another work case where this adjustment was supposedly give a good result, but dropped in frustration, after several tryouts //

BTW, i found another way to do Lab-based desaturation. Even partial one, quite straightforward, with Levels adjustment. May be someone find this useful - or may be this is already a common knowledge - but just discovered by myself and can`t resist to post this here : ) 

To get Lab-desaturated image (in other words, grayed image with the the only one active channel - Lightness), place "Level adjustment", switch to LAB mode and set "Output Black Level" and "Output White Level" to 50% for A* and B* channels. This effectively kills color from image completely.

Setting output levels to 30%/70% or 20%/80%, etc, will give nice partial desaturation in LAB space. Without mind bendings of Channel mixer :)
 

Снимок экрана 2019-08-13 в 11.39.12.png

Share this post


Link to post
Share on other sites

you say it does not work in LAB and should use RGB. i use LAB because of its significant advantages over RGB.  saturation control works just fine when using levels in LAB. Why is it not possible to make it work in channel mixer the way it should work? Since channel mixer is offered in LAB color space please make it work as it should  work or disable it.   what needs to happen is that you need different controls to make it work correctly in LAB mode....further, the user guide is vacuous wrt LAB mode. thanks

Share this post


Link to post
Share on other sites
10 minutes ago, hanshab said:

Why is it not possible to make it work in channel mixer the way it should work?

What is exactly this "way"? Can you describe how it should work? Can you point to any reference or other software that use Channel Mixer in LAB and work the way you expect it? 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×