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

Reply via email to