Closed Beep6581 closed 9 years ago
I'd surely be glad to see better black&white development options. I'm a b&w newbie though
so I cannot provide much feedback on how you'd want it to work, but I guess you have
firm good ideas :-)
Reported by torger@ludd.ltu.se
on 2013-10-21 08:19:42
Although I may not be able to regularly contribute, but I would be more than happy if
I could help you guys in this journey.
Reported by gyurko.david@e-arc.hu
on 2013-10-21 19:52:04
Here's the first patch :)
Curiously, with humor, to make black and white, go to the "Colour" tab!
Go to "Channel-mixer" and select "Black and White"
@Torger and David : You will now be able to test
:)
Reported by jdesmis
on 2013-10-22 09:07:32
Jacques, this is quite interesting tool with great BW controls!
I will play with it more in the evening to better understand it and share feedback.
Reported by michaelezra000
on 2013-10-22 11:46:10
Hi Jacques, do you think it may be possible to add Luminocity Blending option, thus
preserving all colors. This is similar to RGB curves luminocity mode, but only if this
could be more powerful. It appears in Photoshop this is done via HSL (http://en.wikipedia.org/wiki/Blend_modes#Hue.2C_saturation_and_luminosity)
Something else that could be useful - Opacity.
Reported by michaelezra000
on 2013-10-22 14:16:21
Hi Jacques. just tried your patch. It's great. Long time ago I had my own b&w-Lab in
the cellar of my parent's house. With your patch, a bit of the old time is back. Would
be nice, if I could change the gradation too (in the same control, without switching
to contrast-slider), like in the old times, where I simply took a different sheet of
photo-paper to get a different gradation.
Thank you very much for this work!
Ingo
Reported by heckflosse@i-weyrich.de
on 2013-10-22 20:50:17
Just detected, that when I use your new tool and then apply e.g. the default profile,
the image remains b&w...
Reported by heckflosse@i-weyrich.de
on 2013-10-22 20:57:01
If I apply neutral profile after your tool, colours are back again.
Reported by heckflosse@i-weyrich.de
on 2013-10-22 21:00:21
A bit more feedback:
1. The "Color" channel mixer settings are still in effect when "Black and white" checkbox
is selected. Would it be more consistent to bypass those settings, since their sliders
are disabled, which creates an impression that they would not be in effect.
1.a May be it is better to hide the color channel mixer sliders when "black and white
" checkbox is selected?
2. Is the delay really necessary on the sliders? In my case the wait is longer than
the preview development:)
3. When "black and white" checkbox is not checked, BW-related dropdowns and sliders
should be disabled.
4. If you like the look, I can provide little icons for the sliders to match the UI
design in the attached jpg.
Thanks for this wonderful tool:)!
Reported by michaelezra000
on 2013-10-23 01:36:54
5. could the gamma sliders be stronger?
Reported by michaelezra000
on 2013-10-23 01:51:19
6. I am still puzzled how the sliders work & how to use them fully. They are auto-inter
related. Jacques, could you please explain their magic?:)
Reported by michaelezra000
on 2013-10-23 02:42:28
6.a. e.g. Red colors become darker when Mixer Green or Mixer Blue are increased.
6.b. when all mixer sliders are set to zero image is black (OK). move any mixer slider
- image is not black anymore, but it does not change.
Reported by michaelezra000
on 2013-10-23 02:59:32
Thank you for your work, looking forward to testing in in a new build!
Two remarks from me:
1) I find it very difficult to work with only RGB sliders for lightening or darkening
certain colors. An approach similar to Lightroom's color mixer (with 5 additional colors)
would be a much more intuitive approach for most users IMO.
2) Even better would be to have - like in Lightroom - a color picker, where you can
click on an image area that you want to darken/lighten. Then RT should change the color
sliders for lightening or darkening according to what colors you have clicked on. Otherwise,
it's often much guesswork which sliders should be moved together for certain colors.
Come to think of it, If I had a color picker that would let me manipulate exactly the
selected color, I wouldn't even need a separate channel mixer in 99% of cases. Do you
think that would be possible in RT?
Reported by stefan.ittner
on 2013-10-23 09:14:52
First things first,thanks to Jacques for this new B&W tool:after briefly trying it,I'd
second these two remarks from michaelezra :
1.May be it is better to hide the color channel mixer sliders when "black and white
" checkbox is selected?
2. Is the delay really necessary on the sliders? In my case the wait is longer than
the preview development:)
I too feel that the color channel sliders should be hidden when using the B&W tool,they
only clutter the interface.
Also,the delay when moving some B&W sliders is really huge,something I think that nothing
is actually happening ...
Having said that,any chance that we can have some (not too technical) explanation of
how this nice new tool works ?
Reported by msth67
on 2013-10-23 10:11:29
Hello all
Excuse my bad english and probably my incomplete understanding of the issues
# 6 Michael: I do not understand the usefulness of this "blender" ...Does that sound
like Photoshop to color the picture?
# 7 Ingo: I think to simulate the gradation papers should increase the contrast and
/ or modify the gamma probably ... But is it enough?
#8 9 Ingo : solve
#10.4 Michael : it would be nice to add these icons
#10.2 Michael and MTsh67 : I have reduct the delay !
#10.1 2 3 Michael and Mtsh67 :I did something with the GUI, but I'm a poor programmer
... and some things poorly functioning
* If anyone knows how to hide the labels and update the GUI correctly?
#11 Michael : done
#12 13 15 Michael and Mtsh67 :
Some explanations about the algorithm
In all cases in RGB regardless of the algorithm (3 channels, 8 channels, filters ...),
at the end there are only three RGB channels are changed!
In this case:
1) at the start the multiplier of each 3 channels is identical
2) the multiplication of each channel is calculated by dividing the value of one slider
by the sum of the 3 sliders==> Mult_R = Slider_R / (Slider_R + Slider_G + Slider_B)
3) So what matters is the relationship between each of the three sliders, eg Slider_R=60
Slider_G=30 Slider_B=40, give the same result as Slider_R=40 Slider_G=20 Slider_B=27
4) 1,0,0 give the same result as 30,0,0
5) As photographic laboratory (enlarger) when you put a filter, it passes the filter
color and lowers the complementary color.
For example, a red filter will leave unchanged the red channel and weaken the green
and blue channels (mostly).
Here, for example, the green filter results in three coefficients : green=1 red=0.2
blue=0.3
5) In the previous example, with a green filter, the values 60, 30, 40 become 60*1=60
30*0.2=6 40*0.3=12
7) The 3 gamma sliders simulate 3 "TRC curves" of an ICC profile
#14 Stephan :
I do not have Lightroom.
I have chosen this algorithm because it is approaching the photograph with enlarger.
I will consider the possibility of what you offer, but from my point of view it seems
less intuitive. The practice of a task is always the result of a cognitive learning.
I will first make it function well the current approach, and if there is a demand,
I will try to develop something that looks like Lightroom.
A color picker is not currently possible in RT without a significant change in GUI
Reported by jdesmis
on 2013-10-23 11:55:16
Little correction
#12 13 15
5) the values 60, 30, 40 become 60*0.2=12 30*1=30 40*0.3=12
Reported by jdesmis
on 2013-10-23 12:05:16
Reported by jdesmis
on 2013-10-23 15:27:20
Jacques, I'd use the current Chanmixer-XX.png files for the R,G,B mixers and the attached
images for Light and Dark themes for the gamma sliders.
I tried the patch and it feels that although the automated normalization of channels
to sum up to 100% is helpful to maintain the 100% in total, it leads to confusion -
e.g. at some point increasing the Mixer Blue leads to darkening of the red colored
areas, which is caused by the automated reduction of the red, accommodating for increased
blue. Trouble is that it is not clear when exactly this happens and that becomes not
intuitive. May be it is simpler to use absolute values for RGB, this would give a direct
straightforward feel of what is being changed.
I agree that this tool is reminiscent of the analog film & darkroom approach. The main
difference here is that in those days we would use only a limited set of available
filters. There would be no analog filter that could be simulated in HSV space - e.g.
dark red, high yellow, dark blue, bright purple .. or something other strange combination.
The digital image manipulation allows for this kind of editing, but likely in HSV or
HSL rather than RGB. This is where we would arrive to the Lightroom approach.
Personally I'd love to be able to change contrast of individual RGB channels.
I could look at the UI portion of the patch tomorrow evening EST.
About the blend mode, on a second thought it is probably not needed.
Reported by michaelezra000
on 2013-10-24 03:31:21
@Michael Thank you :)
I'll add a "tab" "Black and white channel mixer" and therefore separate from "Channel
Mixer" (Colour) to solve the problems of GUI!
Reported by jdesmis
on 2013-10-24 08:59:33
Here the patch reworked!
I changed the GUI (it is not easy for me!). And now there are 2 "channel mixer": one
for color (no change) and one for "black and white".
I incorporated the icons provided by Michael - thank you to him.
I also made changes to the presentation, BW profiles typed "film" are at the end
of the list (low sensitivity, high sensitivity, panchromatic, hyper panchro, orthochromatic).If
you want to simulate film (HP5, Tmax, etc.) : here a link
http://photographynotes.pbworks.com/bwrecipe
I added an additional mode "channel-mixer": "absolute". In this case the algorithm
does not calculate values such that R+G+B=100%, but leaves the initiative to the
user ...
Put the files "chmixerbw.cc" and "chmixerbw.h" in "rtgui"
Put the files label#19 (Michael icons) in "rtdata/images/dark/actions"
and in "rtdata/images/light/actions"
:)
Reported by jdesmis
on 2013-10-24 19:04:41
Jacques, thanks for all adjustments.
There is one more issue I see. In the Absolute mode, when decreasing any mixer slider,
the image gets darker but then it becomes brighter again.
Reported by michaelezra000
on 2013-10-25 04:08:56
Michael
I tried many combinations and the only cases that can cause a problem "logic" is when
a filter is used, and the slider is in negative values.
As I mentioned in the tooltip negative values can lead to artifacts, you can even
add erratic behavior.
I also made some minor changes (cosmetics)
:)
Reported by jdesmis
on 2013-10-26 20:24:35
Jacques, I am curious, why RGB curves don't color the BW image, even though BW channel
mixer is executed before them.
Reported by michaelezra000
on 2013-10-26 21:29:30
Michael
To change the image in BW, I use the variable in Chromiluminancecurve
"bool bwToning = params-> labCurve.bwtoning | | params-> chmixerbw.enabled;"; I could
have used something else ...
On the other hand, I added the possibility to use the mixer RGB course, but also another
using RGB + Orange O + Yellow Y + Cyan C + Magenta M + Purple P. With the 2 options
"absolute" and "relative".
In image processing there are only 3 channels (RGB), other colors (OYCMP) are intellectual
considerations!
I have considered OYCMP as filters ...and by default if a filter is increased, the
complementary color is reduced (eg Yellow and Blue).
You can change this behavior by changing the variable BWcomplement=false in "options"
[Color Management]
:)
Reported by jdesmis
on 2013-10-28 05:49:31
Hi Jacques,
I am getting a compile error:
C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc: In member
function 'void BatchToolPanelCoordinator::initSession()':
C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc:143:54:
error: no matching function for call to 'ChMixerbw::setAdjusterBehavior(bool, bool,
bool)'
C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc:143:54:
note: candidate is:
In file included from C:\Users\Michael\workspace\rawtherapee_default\rtgui\toolpanelcoord.h:47:0,
from C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.h:23,
from C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc:20:
C:\Users\Michael\workspace\rawtherapee_default\rtgui\chmixerbw.h:61:10: note: void
ChMixerbw::setAdjusterBehavior(bool, bool)
C:\Users\Michael\workspace\rawtherapee_default\rtgui\chmixerbw.h:61:10: note: candidate
expects 2 arguments, 3 provided
C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc:172:143:
error: no matching function for call to 'ChMixerbw::setAdjusterBehavior(int&, int&,
int&)'
C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc:172:143:
note: candidate is:
In file included from C:\Users\Michael\workspace\rawtherapee_default\rtgui\toolpanelcoord.h:47:0,
from C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.h:23,
from C:\Users\Michael\workspace\rawtherapee_default\rtgui\batchtoolpanelcoord.cc:20:
C:\Users\Michael\workspace\rawtherapee_default\rtgui\chmixerbw.h:61:10: note: void
ChMixerbw::setAdjusterBehavior(bool, bool)
C:\Users\Michael\workspace\rawtherapee_default\rtgui\chmixerbw.h:61:10: note: candidate
expects 2 arguments, 3 provided
mingw32-make[2]: *** [rtgui/CMakeFiles/rth.dir/batchtoolpanelcoord.cc.obj] Error 1
mingw32-make[2]: *** Waiting for unfinished jobs....
mingw32-make[1]: *** [rtgui/CMakeFiles/rth.dir/all] Error 2
mingw32-make.exe: *** [all] Error 2
Reported by michaelezra000
on 2013-10-28 11:41:42
Hi Michael
I forgot to attach two 2 files ! Sorry
I had a little modification.
:)
Reported by jdesmis
on 2013-10-28 11:59:40
I suspected that gui files were missing based on the description of changes:), will
try in the evening as soon as I get home.
About the Cyan, Magenta, etc. colors... We could think of it this way - there are also
the real colors, the RGB model is an engineering construct;)
Reported by michaelezra000
on 2013-10-28 13:37:26
Jacques, thanks for the tool! It is indeed like an analog dark room, which is a good
thing. :)
The filters are straightforward, easy to use them.
The presets feel a bit weak. I know, even the films had often subtle differences, but
I expect something more pronounced here.
When I create a B&W image in RawTherapee, I usually use to lab tools to achieve a B&W
image and tweak it with different RGB tools.
If I'm not mistaken, RGB tools does not have an effect on the current B&W tool. I tried
the HSV curves and the RGB curves, and only the luminosity is changed.
I think the RGB tools would be great fine-tweaking options on top of the B&W tool.
Regarding the different colors and the user interface, I think we should look for something
better than the current Channel Mixer. Even Gábor at the first place intended it to
be a temporary solution, if my memories serve me well, and I think it does worth the
time and effort to come up with something more user friendly.
If you are open to it, I'll look for solutions.
Overall, it is a very good thing that black and white photography gets more and more
room in RT. :) Thanks for all the efforts!
Reported by gyurko.david@e-arc.hu
on 2013-10-28 21:48:46
Thanks Jacques, I tried the patch, but due to personal emergency could not test it exhaustively.
1. sliders in gui have different length
2. the BWcomplement = false option does not seem to work. E.g. increase of Yellow has
impact on Blue, etc.
I like the overall approach:)
Reported by michaelezra000
on 2013-10-29 04:05:00
Jacques, here are the icons that could be used for the mixer sliders.
Reported by michaelezra000
on 2013-10-29 05:26:39
Hello David
Thank you for your review.
I changed several coefficient and the appearance is a little different.
I moved the code "black and white" in the end. So you can now use all the functions
colors (HSV equalizer, RGB curves, Exposure ...)
I made changes to the GUI using the icons provided by Michael, but of course I'm open
to any changes that you might offer.
Hello Michael
Thank you for the new icons :)
1.solved
2. I changed coefficient and now it's better, but in all cases the interaction between
channels is real, and even if I minimize the impact, there will always affect the complementary
color
I also made other small changes... (history, internal coefficient,...)
Evolution:
a) Should we leave the product as it is now, or should we add controls (contrast, curves,
HSV ...) which are currently scattered in other menus? I am open to any changes.
b) Should we integrated other approaches "forward-looking" concerning "black and white".
Recall, you can make the "black and white" with:
* Channel-mixer
* HSV
* Desaturate (with RGB, Lab ...)
* ICC / DCB profils
* White-balance
* ???
* grain simulation
* ...
Reported by jdesmis
on 2013-10-29 12:10:29
Hi Jacques, some more feedback:
1. Gamma sliders have no effect for ROYGCBMP mixer. Should they be hidden or have an
effect?
1.a would be nice to add a spacer after label "Gamma correction"
2. With Absolute & Relative ROYGCBMP & BWcomplement = false
Orange, Yellow, Magenta and Purple don't seem to target the correct hues (I am using
color checker 24 as reference with Before/After mode, when Before is in color and is
locked)
Reported by michaelezra000
on 2013-10-30 02:49:27
I suppose that a more accurate hue-based equalizer would be in HSV?
Reported by michaelezra000
on 2013-10-30 03:28:14
hello Michael
There was a forgotten ... and one error: corrected
I took the opportunity to increase the amplitude of sliders ...
:)
Reported by jdesmis
on 2013-10-30 05:57:56
This is becoming a great B&W conversion tool,on regard to this question
"Should we leave the product as it is now, or should we add controls (contrast, curves,
HSV ...) which are currently scattered in other menus?"
my take would be to isolate specific B&W tools in their own submenu in the color tab
(or even make a separate B&W tab,maybe?) and leave other general controls untouched,since
you can tweak contrast and curves etc. and then go back to the B&W tools (especially
if they are in their own tab) at any time.
On a separate note,to compile this versoin I've put chmixerbw.cc and chmixerbw.h in
rtgui as explained,can I now leave them there when compiling normal (non-patched) release
versions of RT or do I need separate clones for different RT builds?
Reported by msth67
on 2013-10-30 06:49:44
@msth67
For the 2 files "chmixerbw.cc" / "chmixerbw.h" and others *.png, you can leave them
where they are...the compiler will ignore
:)
Reported by jdesmis
on 2013-10-30 07:32:21
Hi Jacques,
I spent some time learning the new mixer sliders, but must confess that I could not
achieve intuitive results. I suppose this is because the look of the tool is reminiscent
of camera raw/lightroom mixer, but the effects are quite different. The RT mixer has
very broad effect per slider, so when yellow slider is moved, the non-yellow hues get
greater changes than the yellow. I suppose that RGB mixer sliders are sufficient for
the RGB-based BW conversion, but the other colors would be better off in HSV with a
more direct relation of the slider to the lightness of the hue being changed? This
could be the HSV mixer:)
The problem with the current V/H equalizer is that its effect is insufficiently strong.
Reported by michaelezra000
on 2013-10-30 19:35:16
Hi Michael
As I said comment#16, "the practice of a task is always the result of a cognitive
learning." (I worked a lot in the field of humanities and social sciences ergonomics,
sociology ..)
And of course you compare the response of RT with Adobe ... and it is different, because
my algorithm is different (probably...)
I repeat myself, but the principle of "channel-mixer" is mixing and intercation channels
between them. So if you change a color we also affects others.
In the case of "relative", there is proportionality in the case of "absolute" I adjusted
the coefficients to partially compensate.
I propose:
1) leave the "channel-mixer BW" as currently with RGB and ROYGCBMP modes in relative
and absolute, because I think it works well now.(Of course you can also change slightly)
2)modify the BW menu and add a "HSV curve" in a first step limited to V, with an operating
changed from HSV color (more action)
:)
Reported by jdesmis
on 2013-10-31 06:58:25
OK, I'll try to figure out how to use the new tool:)
The V curve would be greatly appreciated:)
Reported by michaelezra000
on 2013-10-31 12:36:42
Here's a new patch!
I added:
1) a simple "desaturation" function
2) a luminance equalizer (beware artifacts for extreme values)
3) two possibilities of tonal curves:
a) just before the conversion "black and white", which allows to take into account
the colors
b) immediately after treatment
I made changes:
a) some malfunctions
b) presentation of the GUI
c) etc..
The labels are in my (bad) English !
Perhaps it is necessary to clean the cache? I did it for development, but I'm not sure
this is really necessary
:)
Reported by jdesmis
on 2013-11-05 13:50:35
Jacques!!! This is a whole black and white studio:)
Thank you very much for this extensive work.
I spend some time learning it and will share my feedback.
Reported by michaelezra000
on 2013-11-06 03:08:02
1. Luminance mode (when curve is not selected, image still has some color)
2. Tone curve Before BW conversion is still applied when "Enable BW conversion" check
box is disabled.
3. Rendering of Luminance with flat L/H curve in "Luminance Equalizer" mode is different
from Lab BW toning or Lab chrominance=0.
Reported by michaelezra000
on 2013-11-06 03:41:13
Michael
1 : solved ;
2 : solved ... I completely separate functions "curves BW" ; in French it could be
said "le chat se mord la queue !"
3. this is "normal", as in HSV mode, the values are derived directly from RGB. Mode
"desaturated RGB" gives different results from "desaturated Lab"... Try with saturation
=-100 in "Exposure". I think it is interesting to have two different basic settings
(HSV#RGB and Lab)
:)
Reported by jdesmis
on 2013-11-06 12:20:08
Thanks Jacques, I will try the new version in the evening.
I just noticed that range of Luminance adjustments in L/H curve, for example, for darkening
the blue sky, is strongly dependent on working color space. It is excellent in sRGB
and Adobe98 but much weaker in PhotoPhoto.
Reported by michaelezra000
on 2013-11-06 12:37:55
I'd propose some cosmetic changes:
1. Complementary Color checkbox - if it only applies to ROYGCBMP, then may be it should
be visible only when that mode is selected.
2. Add a vertical spacer after the "Gamma correction" label
3. Language suggestions:
TP_BWMIX_TOOLTIP;Enable to allow automatic adjustment of complementary colors in ROYGCBMP
mode
TP_BWMIX_FILTER_TOOLTIP;Effect of the color filter is similar to film photography when
filter is placed in front of the lens. Color filters reduce transmission of specific
range of colors and correspondingly effect their lightness. E.g. Red filter would darken
the Blue sky.
TP_BWMIX_RGB_TOOLTIP;Mix the RGB channels in desire proportions. Use Presets for guidance.\nPay
attention to negative values that may cause artifacts or erratic behavior.
Removed these characters: ​​
TP_BWMIX_CURVEEDITOR_LH_TOOLTIP;Modify luminance in function of hue\n Pay attention
to extreme values that may cause artifacts
Some UI issues:
4. Open color image
Enable Black and White mode
Set Red Channel Gamma correction >0 (e.g. 10) - Image turns BW.
Disable Black and White mode - Image is still BW.
5. Mixer RGB history events should not be triggered when slider changes are not allowed.
Simplest way to do this is by graying out these sliders (sample code is at Exposure/Shadow
recovery) for specific presets.
Reported by michaelezra000
on 2013-11-07 04:52:42
Michael
I think (?) all "cosmectics" ans "issue" comment #46... solved
I would be away for two days, but of course you can leave other comments / issues ...
Reported by jdesmis
on 2013-11-07 07:14:42
Exactly the same, but it takes into account the changes introduced by Torger !
Reported by jdesmis
on 2013-11-08 13:22:54
Thanks Jacques!
The with patch 12 the Enable bw mode checkbox still in some cases would not enable
or disable the BW mode. E.g use of drop downs and gamma sliders and the checkbox.
Reported by michaelezra000
on 2013-11-08 13:34:34
Michael
Thanks for your tests..
I think it is much better, but would this solve all the cases ??
:)
Reported by jdesmis
on 2013-11-08 13:55:47
Originally reported on Google Code with ID 2010
Reported by
jdesmis
on 2013-10-20 09:38:22