Hi Björn,
many thanks for your feedback.
Am 10.11.18 um 11:24 schrieb Björn Sozumschein:
I also believe that a proper explanation would prevent confusion
regarding the inversion behavior.
However, I have concerns with respect to the usability, based on my
initial experience:
In most cases, I use the masks to apply a module either to my subject or
to the background individually.
Let's assume, for instance, that there's a portrait shoot where I like
to apply a tone curve to the subject and I also want to use color
correction on the background.
In order to achieve this, I usually create a mask for the subject first,
because it is easier and more reliable to create a mask for the subject
than for the background.
This is due to the fact that, when the colored mask overlay is
activated, it seems just easier for human vision to classify whether the
subject is covered by the mask than if a mask of the background does not
cover parts of the subject.
At this step, I can draw a coarse mask and then use feathering to obtain
a great result and apply the tone curve.
Then, however, in order to perform color correction of the background, I
like to reuse the mask for the subject, apply the same contrast and
brightness parameters and simply invert it in order to obtain a mask for
the background that is complementary to the subject mask.
This is not possible with the current implementation, as brightness and
contrast have to be adjusted.
So, aside from the better conformity with the user's intuitive
understanding, maybe inverting the mask at the end of the pipeline would
benefit usability.
I completely agree.
There is a second point I noticed:
Especially when using the mask with hair, after proper adjustment of
brightness and saturation in order to match the edges well, the mask is
rather sharp and thus, for most modules, the edges of small structures
as well as soft edges do not look good.
I would like to apply a gaussian blur to the mask after feathering.
Also, I am not sure whether the brightness and contrast provide a real
benefit for the gaussian blur.
Hence, I wonder whether it could be useful to not have either gaussian
blur or feathering, but simply have the feathering with its options
first, followed by a slider for gaussian blur?
There are many possible options how to integrate the new feathering
algorithm into the exciting mask refinement facilities. This is the
reason why I am locking for feedback. Giving the option to apply both a
Gaussian filter and a guided filter to the mask is just one possible
direction to go. With this option, however, the question of order
appears. Which filter comes first, the Gaussian or the guided filter.
Furthermore, more options and more flexibility require more UI elements
and add more complexity. We have to find the right balance.
In addition to the existing integration of the guided filter one might
give the user the possibility to adjust the following parameters:
* Choose which image is used as a guide to feather the mask, the
module's input or the module's output (before blending). Currently it's
always the input. In most cases, the feathering result is not
significantly affected by this choice. It might be relevant, however,
for blurring or sharpening modules.
* Allow to apply both, a Gaussian filter plus a guided filer. Possibly
even a Gaussian filter before and after the guided filter with different
parameters.
* One might give the user the ability to determine when the mask
tone-curve is applied, before or after feathering, before or after
Gaussian blur etc. One might even allow to apply several tone-curves at
different stages.
* One might add further parameters to adjust the mask tone-curve, e.g.,
white and black points.
I definitely do not want to go into the direction of implementing all
these options. I just want so sketch the rich possibilities. I think
we have to find a minimalistic solution that keeps complexity low but
allows flexible mask adjustments.
Currently I think the following approach is reasonable:
* There are to sliders in the UI, one for a Gaussian blur radius, one
for the guided filter radius.
* The toggle box tho choose the filter is removed.
* A new toggle box is added to choose the guide (module input or
output). This would be consistent with the fact that for parametric
masks we have two sliders for each channel.
* Both filters (Gaussian and guided filter) are applied if the
respective radius slider is non-zero.
* Guided filter comes always first, Gaussian afterwards.
* The mask tone-curve is applied next.
* Mask inversion comes at the end if activated.
I which to get the integration of the mask feathering "right" when it
appears the first time in an official darktable release. But this
requires testing in real-world work flows.
Suggestions and feedback are highly welcome.
Heiko
--
-- Number Crunch Blog @ https://www.numbercrunch.de
-- Cluster Computing @ https://www.clustercomputing.de
-- Social Networking @ https://www.researchgate.net/profile/Heiko_Bauke
___________________________________________________________________________
darktable developer mailing list
to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org