Here are some news on our masks implementation. The last weeks have seen 
quite some changes, some user visible, some under the hood.

1) gradient shapes
You can now add linear gradient shapes to a drawn mask. A gradient shape 
causes a gradual decay of opacity over an image. Position, orientation 
and steepness of the gradient can be chosen to your liking. On the GUI 
side a solid line indicates the location where opacity is just 50%. You 
can shift the line and use handles to rotate it. Dotted lines indicate 
the transition area in which the opacity gradually changes from 0% to 
100%. You can use the scroll-wheel to adjust the size of that area and 
thereby the steepness of the linear gradient. Of course you can combine 
gradients with other shapes and further gradients for even more fancy 
selections.

2) restricted edit mode
You enter restricted edit mode by CONTROL-Click on the "show mask and 
edit" icon. In restricted edit mode position and size of a shape are 
protected. You can still work on single nodes or segments of a path or 
on feathering. The main aim of this mode is easy finetuning of a mask. 
If you edit an existing mask in restricted mode you can better zoom and 
pan the image without the risk of destroying your selection by 
accidental shifting or resizing whole shapes.

3) performance optimization
A change not directly visible to users. The previous implementation 
would render all shapes with full resolution of the input image, combine 
the rendered shapes still in full resolution and only scale down the 
final mask. The final mask and all intermediate steps had to be kept in 
memory. Needless to say that this consumes a lot of CPU cycles and has a 
marked memory footprint even for the smallest thumbnails to be 
processed. The new implementation now from the beginning renders all 
shapes with just the needed resolution and within the required region of 
interest. This speeds up mask generation during interactive work from 
several 10 milliseconds to just a few milliseconds per shape. Memory 
overhead is kept at a minimum. Especially for path shapes the mask 
generating algorithm has been changed significantly. Please report 
potential bugs.

4) combine parametric and drawn mask
Sometimes users want to generate a parametric mask and finetune it with 
drawn shapes - this tends to be a complex issue. darktable offers
an enormous flexibility when combining mask elements. To start with here 
are two recommended approaches.
The first one is called "exclusive": you start with all pixels selected 
(mask display gives solid yellow) and step by step remove parts of the 
image from the mask - either by adjusting the gradient mask sliders or 
by adding shapes to the drawn mask. To follow this approach select the 
"exclusive" mode for mask combination  and make sure that all polarities 
(of the indiviual parametric mask channels and of the drawn mask!) are 
set to positive (+).
The second approach is called "inclusive": you start with all pixels 
deselected, i.e. with an empty mask. You now add areas of the image to 
the mask by adjusting the parametric sliders or by directly drawing 
shapes. This requires the "inclusive" combination mode and all 
polarities to be set to negative (-).

Happy masking

Ulrich

------------------------------------------------------------------------------
See everything from the browser to the database with AppDynamics
Get end-to-end visibility with application monitoring from AppDynamics
Isolate bottlenecks and diagnose root cause in seconds.
Start your free trial of AppDynamics Pro today!
http://pubads.g.doubleclick.net/gampad/clk?id=48808831&iu=/4140/ostg.clktrk
_______________________________________________
darktable-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/darktable-devel

Reply via email to