Blur: quadratic scale, paste blur radius separately

Bug #171631 reported by Daniel Pope
16
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Inkscape
Triaged
Wishlist
Unassigned

Bug Description

The blur spinner values are less than useful to me.

As I understand it, the blur kernel's standard deviation is computed as a
percentage of bbox (width + height).

Several problems arise from this scheme:

1. The blur slider does not appear to be very uniform psychologically.
While there is only a very minor _visual_ difference between a blur
percentage of 80 and of 90, the difference between 1.0 and 2.0 is visually
extremely great. I would point out that this could be linked to
fundamentals of human vision, which prioritises edge detection.

2. (Closely related, but different to 1) Very small values are not possible
for large objects. For example, with a web design layout 750px wide and
500px high, the minimum granularity for the filter kernel's standard
deviation (0.1%) is 1.25px - too heavy-handed by far in some situations.

3. Actually, perhaps part of the same problem: it's not possible to
directly choose identical blur radii for two non-grouped objects. Paste
style works, but of course it replaces all the other style elements as
well. Grouping is not a solution, because this also has an effect on
Z-order.

Possible solutions:
1. & 2.: A logarithmic scale for the blur slider. As now, this could be
relative to object "size". The first third of the logarithmic scale could
correspond to 0-1% on the current scheme, the second third to 1-10%, and
the final third to 10-100%.

3.: A 'paste style' sub-menu like that for 'paste size', a menu that would
allow users to paste blur percentage, opacity, fill and stroke separately.

Tags: filters-svg ui
Revision history for this message
Buliabyak-users (buliabyak-users) wrote :

Originator: NO

I'm wary of adding logarithmic to the mix. We won't be able to call it
"percents" then, because percents are linear, and that will make them much
harder to figure out. And if you suggest to actually draw a logarithmic
scale in the slider, it's much more trouble than it's worth. I don't think
the nonlinearity of blur perception is such a big problem to go into all
this trouble. Once you get used to how the blur percentage works it becomes
natural.

Small blur values for huge objects: consider that when you view the entire
image, with all of the huge object visible, such small blur will be simply
not noticeable. So it makes sense that you can't set it. And if you want
your image to show only a part of the huge object, just clip it to the
visible part - that will reduce its bbox correspondingly and the blur %
will allow you to set the small value easily.

Pasting the blur radius separately: might be a good idea, but I'm not sure
it's so often needed as to warrant a command of its own. Besides there are
workarounds. Workaround one: group two objects, blur the group, and the
ungroup them and move back to their original z-order positions. Workaround
two: duplicate the object to which you want to paste blur; paste style
including blur; copy the duplicate; paste style again - that will restore
all the style but preserve the blur; delete the duplicate.

Revision history for this message
Daniel Pope (djpope) wrote :

Originator: YES

It's simply not true that 1-2 pixel blur increments are not noticeable. It
depends what you're doing. Sometimes the subtlety is what matters. As I
say, I'm doing perhaps 750x450 website graphics, but some people may be
doing 2048x1536 wallpapers.

I've just tried a logarithmic scale and it's useless. But I also tried a
polynomial scale with reasonably good results. I've attached an SVG.

The second of those workarounds had already occurred to me, but I don't
think either of them are that easy for users, even compared to copy and
pasting the percentage value from the spinner - which clearly won't work,
but which is the most trouble I would really consider going to to get it
right.

I don't suppose the slider could be relative to object size, while the
spinner shows absolute standard deviation, could it?
File Added: blur_mapping.svg

Revision history for this message
Buliabyak-users (buliabyak-users) wrote :

Originator: NO

Blur mapping: thanks for creating the sample, but I'm really not convinced
that the polynomial scale is really better than the default. I think it's
mostly a matter of taste. Anyway, why don't you post to inkscape-devel to
seek other opinions.

1-pixel increments are noticeable, indeed. But my point for 0.1% to be
equal to 1 pixel, your object must be viewed at 2000x2000 pixels. Which is
bigger than most screens. So it will be _only_ noticeable on zoom-in, and
therefore my reasoning applies.

Here's a compromise: when the bbox of the object is larger than the
visible area of the canvas, clip it to that visible area for the purposes
of determining the blur percentage. This way you will be able to blur it as
finely as possible by zooming in, without changing anything else. This will
have one disadvantage however: blur % will change when you zoom into a
blurred object closely. Moreover, if you set a large blur in zoom-out and
then zoom in to adjust it, it may be that the new percentage with the
clipped bbox will be larger than 100% and therefore not displayed properly.
So I don't really think it's a good idea, forget it :)

Making the slider and the spinbutton obey different rules is also a bad
idea imho. If I set spinbutton to 50% and the slider is not in the middle,
something's broken.

Pasting style components separately: perhaps a submenu (blur, opacity,
fill, stroke) is not such a bad idea after all. I'll think about it and
probably implement it for 0.46.

Revision history for this message
Daniel Pope (djpope) wrote :

Originator: YES

I find that the linear scale looks fine when you look at the whole thing,
but when you compare the individual adjacent steps, the linear scale has a
lot more visual difference between adjacent pairs at the top than lower
down. To me, the quadratic scale looks even throughout (although admittedly
you have to zoom to 2:1 to see the difference between the top pair). I've
attached an improved example which makes the benefit very clear cut in my
opinion, and I will now post to the list.

As for the spinner, I did not imagine it as containing percentages. It
would contain the actual scalar standard deviation. So 5.0 could be halfway
on the slider for a small object or only a fraction of the way on a big
object. The slider might work as now except it would put the computed s.d.
into the spinner rather than the equivalent percentage. Users could copy
and paste that value with the expected results.
File Added: blur_scales.svg

Ryan Lerch (ryanlerch)
Changed in inkscape:
importance: Undecided → Wishlist
status: New → Triaged
Revision history for this message
ejnaren (ejnaren) wrote :

Hi.

I know its late to jump into this subject, but it would actually be nice to have some way of determining the blur radius on pixels or real units like mm.
I work with web design and it is hard to make blurred outlines or shadows of objects the same radius when the objects are different sizes.

It is not even possible as a feature in the future?

Best regards :)
Ejnar

Revision history for this message
Niko Kiirala (kiirala) wrote :

Note that there is a filter editor (Filters -> Filter Editor) that allows for more fine-grained control over blurring (and a lot more). With that you can do just about everything, that has been requested in this report.

I understand that using that editor may not be the perfect solution for this; this is just to note that a solution does exist.

Revision history for this message
su_v (suv-lp) wrote :

See also the description of the 'Gaussian blur' filter primitive in the manual:
<http://tavmjong.free.fr/INKSCAPE/MANUAL/html/Filters-Pixel.html#Filters-GaussianBlur>

«Tip: Blurs created through the Fill and Stroke dialog depend on the size of the blurred object. To get the exact same amount of blur on different size objects, you can either use the Edit → icon Paste Style (Shift+Ctrl+V) command (if all the attributes are to be the same) or use the Filter Effects dialog to set the blur radius (standard deviation) to the same values. »

Revision history for this message
ejnaren (ejnaren) wrote : Re: [Bug 171631] Re: Blur: quadratic scale, paste blur radius separately

Feedback is always appreciated.

I havent played much with the filter editors as they are a bit difficult to
understand but I clearly have to :)

Thank you for the reply.

- Ejnar

jazzynico (jazzynico)
tags: added: filters-svg ui
Revision history for this message
Thomas Holder (speleo3) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.