RSS/Atom feed Twitter
Site is read-only, email is disabled

Request for Change 0 Free Select Behavior

This discussion is connected to the gimp-developer-list.gnome.org mailing list which is provided by the GIMP developers and not related to gimpusers.com.

This is a read-only list on gimpusers.com so this discussion thread is read-only, too.

13 of 16 messages available
Toggle history

Please log in to manage your subscriptions.

Request for Change 0 Free Select Behavior Stephen Kiel 24 Jul 23:30
Request for Change 0 Free Select Behavior Stephen Kiel 27 Jul 01:13
  Request for Change 0 Free Select Behavior David Gowers 27 Jul 02:37
Request for Change 0 Free Select Behavior Stephen Kiel 27 Jul 05:54
  Request for Change 0 Free Select Behavior David Gowers 27 Jul 09:46
Request for Change 0 Free Select Behavior Stephen Kiel 30 Jul 03:53
  Request for Change 0 Free Select Behavior David Gowers 30 Jul 04:55
mailman.3.1185390002.16063.... 07 Oct 20:25
  Request for Change 0 Free Select Behavior Guillermo Espertino 25 Jul 21:26
   Request for Change 0 Free Select Behavior David Gowers 26 Jul 11:31
mailman.89802.1185454329.16... 07 Oct 20:25
  Request for Change 0 Free Select Behavior Guillermo Espertino 26 Jul 15:25
   Request for Change 0 Free Select Behavior David Gowers 26 Jul 16:50
mailman.3.1185476404.26631.... 07 Oct 20:25
  Request for Change 0 Free Select Behavior Guillermo Espertino 30 Jul 21:51
   Request for Change 0 Free Select Behavior David Gowers 31 Jul 02:04
Stephen Kiel
2007-07-24 23:30:57 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

Hi,

I was referred to this forum for my request for a change in Gimp's behavior while using the Free Select tool. Ref Bugzilla Bug 456277.

Performing selections on a complex shape is one of the most labor intensive and time consuming tasks in Gimp (probably in any other editor as well). Whether the task is meticulous or tedious work is influenced by how many times you have to use the “undo” before you complete the task. The current behavior of the Free Select while Adding or Subtracting to an already selected region is the single largest cause of my use of the undo function. I am assuming that other users run into this as well.

To illustrate the problem I am having, imagine that you had a picture in which you wanted to select a bridge with a superstructure and separate it from the background. If you select the outline of the bridge, you cannot use the freehand select to cut the regions where the background shows through the superstructure out of the selection without cutting out hunks of the superstructure that you wanted to keep. The current behavior of Gimp switches from the User Selected Mode of “Free Select – Subtract from the Current Selection” to “Move Floating Section” making it impossible to simply cut a hole in a selected area.

Philosophically, it seems like you should be able to use a “subtract from the current selection” to cut a hole in a selected area. It seems like the tool should honor the settings made by the user, and if there is an automated mode change due to cursor location, the user should have the ability to turn it off.

I obviously don't have to select around that many pictures of bridges, where the mode selection problem is most prevalent is when you use the freehand select to trim a selection in a tight area. If you inadvertently start the small circle that you want to add in or cut off over the already selected area, the whole thing moves, requiring an undo to get back on track. The freehand select is actually a really good tool for trimming a selection other than this behavior switch. The response is fast, the visual feedback is very good, and the results are what you often want a selected region with the same edge feathering for the external and internal boundaries.

The mouse is an inherently clumsy drawing tool, particularly when you try to use it to describe a large and complicated area. From a control point of view it is more like a sculptor's chisel than a painter's brush. It works better when you tap with it than when you give it a big smack. I use the freehand select a lot, and a fairly high zoom level to trim (add and subtract) a region with lots of small incremental add subtract regions.

If you could modify the freehand select to stay in the user selected mode, or provide a way that I could globally override the current behavior switch based on cursor location, it would make the Freehand Select Tool even more useful.

Since this request is already pretty long (felt I had to make a detailed plea to change the intended behavior / spec), I would like to float a second request for general Selection behavior. My second request is for a “Selection Stack”. The reason for this request is there is no one selection tool or mode that will always be best for all pictures. In fact many times the most effective selections are made with a combination of selection tools, for example, using the freehand select to isolate a region and then using the “Select by Color” to Subtract or Intersect within the selected region. You can be a lot more precise with the Threshold adjustment within a specific region. Being able to push a selection onto a stack and then combine / merge the stacked selections using either Add / Subtract / or Intersect modes.

Let me throw out another hypothetical example to illustrate. I have a picture of a couple and I want to select them out from the background. Lets assume the background is non-uniform so simply selecting by color does not produce a real useful result. I would like to be able to Freehand Select around her blond hair and differentiate it from the background using Select by Color intersect and put the results on a selection stack. I would then like to Freehand select around his dark brown hair, differentiate it from the background based on color and put that on the stack as well. Continuing with faces, shirts, etc. you would merge / assemble the puzzle pieces of the selection using Add, Subtract, or Intersect according to what works best for the image.

In a sense, the current implementation has a single level stack allowing one Selection tool, then another Selection tool and mode of merging the results. I would like to be able to push the selections on a deeper stack so I could merge different regions with different merge modes and then combine the resulting regions.

I have tried a work around with the current implementation of the tool, selecting regions, floating them to layers and merging the layers, but this doesn't work as well as I had hoped for the following reasons:

1) It is real hard to see and control what is going on, the visual feedback is awkward.

2) The merging of layers only gives you and “Add” mode.

3) The Feathering of edges can create unintended voids in the selection. You would almost always want the Feathering to be on the border (perimeter and holes you might cut) of the resultant selection, not within the selection itself.

Anyway thanks in advance for considering my request. I understand that you have to weigh these request to create the best usage for the entire user community and even though I feel these changes would make a better and more usable tool, that is really for you to decide.

Thanks

Stephen Kiel

_____________________________________

Guillermo Espertino
2007-07-25 21:26:20 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

Stephen:
The Bezier tool is better suited to the tasks you're describing. Using freehand tool as a precision tool (i.e. for background extraction) is a bad idea.
Freehand tool is intended to make coarse selections or tweaks in selections that don't need too much precision. I'd reccomend you this workflow for background extraction: -Draw a path along the edges of the shape that you want to extract, draw other paths for the holes (if you create them in the same path layer they are automatically combined with the other paths forming holes). -Turn path into selection
-Add a mask channel based on that selection.

So, imo, the existence of better tools for the same procedure makes this request questionable.
If you ask me, I'd love to have the ability to apply boolean operations between different paths before seeing further work on the free selection tool.

Your other proposal (selection stack) is very interesting, but sounds quite difficult tu implement.
I'm not thinking exactly in your examples, but in the possibility to transform different selection levels independently (i.e. you selected 3 circles and you want to adjust the size of the first one).

Oh, btw. I'm experiencing some troubles with SIOX. In some images (I couldn't figure it out exactly when it happens) after the initial coarse selection the mask is displaced to the lower left of the image (with the right shape, but completely misaligned with the image) making it impossible to perform the extraction. Is that a known bug or it's just me?

David Gowers
2007-07-26 11:31:56 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

On 7/26/07, Guillermo Espertino wrote:

Stephen:
The Bezier tool is better suited to the tasks you're describing. Using freehand tool as a precision tool (i.e. for background extraction) is a bad idea.
Freehand tool is intended to make coarse selections or tweaks in selections that don't need too much precision. I'd reccomend you this workflow for background extraction: -Draw a path along the edges of the shape that you want to extract, draw other paths for the holes (if you create them in the same path layer they are automatically combined with the other paths forming holes). -Turn path into selection
-Add a mask channel based on that selection.

So, imo, the existence of better tools for the same procedure makes this request questionable.
If you ask me, I'd love to have the ability to apply boolean operations between different paths before seeing further work on the free selection tool.

You can already do that. Right-click in the Paths dialog, all the standard operations (replace, add, subtract, intersect) are available. Unless you mean boolean operations that modify the paths themselves, rather than the selection. GIMP doesn't have that.

Oh, btw. I'm experiencing some troubles with SIOX. In some images (I couldn't figure it out exactly when it happens) after the initial coarse selection the mask is displaced to the lower left of the image (with the right shape, but completely misaligned with the image) making it impossible to perform the extraction. Is that a known bug or it's just me?

I thought this was a known bug that had already been fixed in SVN.

Guillermo Espertino
2007-07-26 15:25:51 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

David Gowers wrote:

You can already do that. Right-click in the Paths dialog, all the standard operations (replace, add, subtract, intersect) are available. Unless you mean boolean operations that modify the paths themselves, rather than the selection. GIMP doesn't have that.

Yes, I'm aware of that. I mean to perform boolean operations on the paths tehmselves. Anyway the current behaviour is functional (performing boolean operations on the selection using the paths layers as input) so this can be an interesting enhancement but not an urgent one.

Oh, btw. I'm experiencing some troubles with SIOX.

I thought this was a known bug that had already been fixed in SVN.

I'm having that problem in Gimp 2.3.18 and the fix is not announced in the latest realese. Can you confirm if that was actually addressed?

David Gowers
2007-07-26 16:50:43 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

On 7/26/07, Guillermo Espertino wrote:

David Gowers wrote:

You can already do that. Right-click in the Paths dialog, all the standard operations (replace, add, subtract, intersect) are available. Unless you mean boolean operations that modify the paths themselves, rather than the selection. GIMP doesn't have that.

Yes, I'm aware of that. I mean to perform boolean operations on the paths tehmselves.

Well I think that GIMP should avoid doing that, and instead expect you to do it with inkscape; transfer of paths between the two programs is very simple and inkscape's just plain better at path editing.

Anyway the current behaviour is functional (performing boolean operations on the selection using the paths layers as input) so this can be an interesting enhancement but not an urgent one.

Actually, if you perform these operations on the selection and then convert the resultant selection back to a path, how does that work for you? I think, if GIMP got a better selection to path function (for example, the one that I made which uses PoTrace as a backend.), then this would work quite well for your purposes.

Oh, btw. I'm experiencing some troubles with SIOX.

I thought this was a known bug that had already been fixed in SVN.

I'm having that problem in Gimp 2.3.18 and the fix is not announced in the latest realese.

actually, it is.. 'Bug fixes' :)

Yes, it really is. http://bugzilla.gnome.org/show_bug.cgi?id=448417

Stephen Kiel
2007-07-27 01:13:46 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

Guillermo,

Thanks for taking the time to reply to my request. It appears that you and I have a fundamentally different point of view on how to best select regions in an image. Let me throw out a couple of observations before I address some of your points in the hope that I can avoid starting a religious argument about which technique is better (especially if my side is outnumbered). - In most applications most of the users focus on about 20% of the options and capabilities in a given tool whether it is an office tool, or an engineering Design Automation tool. I suspect this is true of almost any tool that is fairly flexible. This does not mean that the 80% that any one user doesn't normally use aren't valuable as different users solving different problems. - It is important that the work on an image has an intuitive feel. No one methodology or selection method works best across all of the images you might encounter. Users will develop favorite methods based on their own success and failures with features of a tool. Failure with a feature of a tool is not a reflection on the feature, it just points out that a variety of robust features are necessary for a well rounded tool. - The “enhancement” that I am asking for is for the current mode of operation to perform in a manner that would be expected by a reasonable user. When the user selects a mode of operation using the menu and switches, it seems reasonable for the tool to honor those choices rather than making a unilateral decision to change modes based on cursor location. The fact the behavior is called out in the specification doesn't really change the fact that it is kind of user unfriendly.

Let me try and address your points:

The Bezier tool is better suited to the tasks you're describing. Using freehand tool as a precision tool (i.e. for background extraction) is a bad idea.

If I believed this I would not have bothered to ask for the enhancement in the first place. I think of using the freehand select for precision work as part of my methodology rather than a bad idea. When I started using Gimp I tried the Path / Bezier tool but in practice I really haven't found much use for it. The notion that it is “better” is subjective and is not in line with my experience.

Freehand tool is intended to make coarse selections or tweaks in selections that don't need too much precision.

This may have been the vision when the tool was put together, if it was I would say the Freehand select exceeded the original expectation. I believe that it is the best selection mode in Gimp for making precise selections. - How fine your control is for defining a selection line is determined by the level of zoom you are at, not whether you are drawing the line or defining it with a series of dots. The freehand select is as precise as the picture and tool will allow. - Describing a line with a series of dots is not inherently quicker or more precise than just drawing the line. If you have to start inserting more dots or fiddling with the handles to reshape the line, you are going to waste lots of time. The trick with Freehand select is to do a rough selection and then do the precise work using small closed strokes to add or subtract onto the selection. The feedback is immediate, and is easy to draw a precise line with the mouse as long as it is short. - The selection using a path matches the line in the path, which may be what we are referring to as precise, but this is actually due to the path selection being less flexible than a Freehand selection. In a Freehand select you can get a selection that matches the line you draw, just like the path select, if you turn of the “Feather edges”, but instead of being precise, it is precisely what I don't want. When you select people in your image without feathering the edge and paste them back on a background that has been blurred, they have a cut out with an exacto knife look. There may be a way to get feathered edges and antialiasing with the path tool, but this is still a problem because you can't see what you actually selected. The actual selection depends on the amount of feather (radius), the radius of curvature (shape) of the selection line. - The feedback from a freehand select is immediate. You can see what your selection is as you make it without having to wait until after you have completed a long path description. If you are able to feather the edges on a path, most likely with a time consuming post processing, it won't be the precise edge you described with the path. It might not fully include everything you want. - In my opinion the freehand tool is more intuitive for all but the very experienced user. Making the freehand select work the way most user's would expect would lower the learning curve for new users. The idea of adding to, subtracting from, or intersecting with the current selection is fairly straightforward and powerful. - The fact that select by color supports the same booleans, feathering, and can be used in conjunction with freehand makes an even more powerful combination. Using select by color to differentiate large regions and then the freehand to cut or add to the selection is real efficient (it is also where the problem with the mode change when you are over a selected region is most evident).

I'd reccomend you this workflow for background extraction:

I like the methodology that I am using. The enhancement I am requesting would make my methodology much better, but even without the fix, I don't see myself reverting to path based selection for the majority of my work. It is not flexible enough and takes too much time.

-Draw a path along the edges of the shape that you want to extract, draw other paths for the holes (if you create them in the same path layer they are automatically combined with the other paths forming holes). -Turn path into selection
-Add a mask channel based on that selection.

So, imo, the existence of better tools for the same procedure makes this request questionable.
If you ask me, I'd love to have the ability to apply boolean operations between different paths before seeing further work on the free selection tool.

Like I said originally you and I have very a very different point of view about the “better” tool for selection. If I am alone in my pint of view, then it doesn't make sense to modify the tool. If on the other hand there are a lot of casual users whose approach to the tool is like mine, the modification could server a pretty wide base. It would seem that would determine whether the fix was worth while. I am not sure how the developers go about figuring out whet the users would really like. Addressing you comment on a different use of the effort, I am not sure how much use booleans would serve for paths, since as you mentioned you can cut holes by having paths on the same layer. I haven't played with paths enough to know what you might be able to do with paths on multiple layers, but it seems like the flexibility might already be there.

Your other proposal (selection stack) is very interesting, but sounds quite difficult tu implement.
I'm not thinking exactly in your examples, but in the possibility to transform different selection levels independently (i.e. you selected 3 circles and you want to adjust the size of the first one).

If it is difficult then it is probably a non-starter. I viewed it as a “nice to have” feature and thought that it was worth brining up in case it wasn't too hard to implement. I thought that since the current behavior acts a little like a single layer stack, there was a chance that adding more depth might be doable without a huge effort.

----- Original Message ---- From: Guillermo Espertino
To: gimp-developer@lists.XCF.Berkeley.EDU Sent: Wednesday, July 25, 2007 12:26:20 PM Subject: Re: [Gimp-developer] Request for Change 0 Free Select Behavior

Stephen: The Bezier tool is better suited to the tasks you're describing. Using freehand tool as a precision tool (i.e. for background extraction) is a bad idea.
Freehand tool is intended to make coarse selections or tweaks in selections that don't need too much precision. I'd reccomend you this workflow for background extraction: -Draw a path along the edges of the shape that you want to extract, draw other paths for the holes (if you create them in the same path layer they are automatically combined with the other paths forming holes). -Turn path into selection
-Add a mask channel based on that selection.

So, imo, the existence of better tools for the same procedure makes this request questionable.
If you ask me, I'd love to have the ability to apply boolean operations between different paths before seeing further work on the free selection tool.

Your other proposal (selection stack) is very interesting, but sounds quite difficult tu implement.
I'm not thinking exactly in your examples, but in the possibility to transform different selection levels independently (i.e. you selected 3 circles and you want to adjust the size of the first one).

Oh, btw. I'm experiencing some troubles with SIOX. In some images (I couldn't figure it out exactly when it happens) after the initial coarse selection the mask is displaced to the lower left of the image (with the right shape, but completely misaligned with the image) making it impossible to perform the extraction. Is that a known bug or it's just me?

David Gowers
2007-07-27 02:37:29 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

On 7/27/07, Stephen Kiel wrote:

Guillermo,

Thanks for taking the time to reply to my request. It appears that you and I have a fundamentally different point of view on how to best select regions in an image. Let me throw out a couple of observations before I address some of your points in the hope that I can avoid starting a religious argument about which technique is better (especially if my side is outnumbered). - In most applications most of the users focus on about 20% of the options and capabilities in a given tool whether it is an office tool, or an engineering Design Automation tool. I suspect this is true of almost any tool that is fairly flexible. This does not mean that the 80% that any one user doesn't normally use aren't valuable as different users solving different problems. - It is important that the work on an image has an intuitive feel. No one methodology or selection method works best across all of the images you might encounter. Users will develop favorite methods based on their own success and failures with features of a tool. Failure with a feature of a tool is not a reflection on the feature, it just points out that a variety of robust features are necessary for a well rounded tool. - The "enhancement" that I am asking for is for the current mode of operation to perform in a manner that would be expected by a reasonable user. When the user selects a mode of operation using the menu and switches, it seems reasonable for the tool to honor those choices rather than making a unilateral decision to change modes based on cursor location. The fact the behavior is called out in the specification doesn't really change the fact that it is kind of user unfriendly.

The 'enhancement' that you describe, in my experience, has been included in the GIMP for at least a year. I cannot reproduce the problem you describe (and for the purposes of getting this changed, you will probably need to come up with some reliable way of reproducing it.)

Let me try and address your points:

The Bezier tool is better suited to the tasks you're describing. Using freehand tool as a precision tool (i.e. for background extraction) is a bad idea.

If I believed this I would not have bothered to ask for the enhancement in the first place. I think of using the freehand select for precision work as part of my methodology rather than a bad idea. When I started using Gimp I tried the Path / Bezier tool but in practice I really haven't found much use for it. The notion that it is "better" is subjective and is not in line with my experience.

Freehand tool is intended to make coarse selections or tweaks in selections that don't need too much precision.

This may have been the vision when the tool was put together, if it was I would say the Freehand select exceeded the original expectation. I believe that it is the best selection mode in Gimp for making precise selections. - How fine your control is for defining a selection line is determined by the level of zoom you are at, not whether you are drawing the line or defining it with a series of dots. The freehand select is as precise as the picture and tool will allow.

That doesn't even make sense. The freehand tool and path tool have both exactly the same level of precision -- they both render polygons, so they're infinitely-precise; freehand can be faster if you have a steady hand; paths is more precise because it can draw shapes with holes in them in the same step as drawing the outside - freehand select must do such things in two steps, because it makes some assumptions about how the user wants to use it.

Freehand select works under the exact same rules as path tool - including eg. what happens when a polygon self-intersects. The only difference is that freehand composes the path itself, so that you can select a complex shape with click+move... instead of one click per point as in paths selection.
To demonstrate that, move your mouse in a circle with freehand select, and scribble through the circle before releasing the mouse button.

- Describing a line with a series of dots is not inherently quicker or more precise than just drawing the line. If you have to start inserting more dots or fiddling with the handles to reshape the line, you are going to waste lots of time.

I must point out that for simply-shaped selections, adjusting the path handles gives results of higher quality, faster.

The trick with Freehand select is to do a rough selection and then do

the precise work using small closed strokes to add or subtract onto the selection. The feedback is immediate, and is easy to draw a precise line with the mouse as long as it is short.

Yes, agreed on all points here. Try using freehand select with a tablet though (if anyone you know has one you can borrow) -- it eliminates some of the complexities that you are describing, so that you can select an entire complex shape accurately in one go.

- The selection using a path matches the line in the path, which may be what we are referring to as precise, but this is actually due to the path selection being less flexible than a Freehand selection.

As i pointed out above, the freehand tool is also less flexible than the path tool.

In a Freehand select you can get a selection that matches the line you draw, just like the path select, if you turn of the "Feather edges", but instead of being precise, it is precisely what I don't want. When you select people in your image without feathering the edge and paste them back on a background that has been blurred, they have a cut out with an exacto knife look. There may be a way to get feathered edges and antialiasing with the path tool, but this is still a problem because you can't see what you actually selected. The actual selection depends on the amount of feather (radius), the radius of curvature (shape) of the selection line. - The feedback from a freehand select is immediate. You can see what your selection is as you make it without having to wait until after you have completed a long path description. If you are able to feather the edges on a path, most likely with a time consuming post processing, it won't be the precise edge you described with the path. It might not fully include everything you want.

EXACTLY! and no selection tool actually supports the function you are describing -- the selection outline you see is unfeathered until the selection is finished.
And the postprocessing is exactly as time-consuming as it is for the freehand tool when you turn on the feathering option -- because it's exactly the same postprocessing, the only difference is that it happens automatically for freehand-select. (select->feather)

- In my opinion the freehand tool is more intuitive for all but the very experienced user. Making the freehand select work the way most user's would expect would lower the learning curve for new users. The idea of adding to, subtracting from, or intersecting with the current selection is fairly straightforward and powerful.

Yes, and is already supported. You need a reliable way to reproduce this; otherwise, people will just assume you are using an old version of GIMP, and tell you to upgrade.

- The fact that select by color supports the same booleans, feathering, and can be used in conjunction with freehand makes an even more powerful combination. Using select by color to differentiate large regions and then the freehand to cut or add to the selection is real efficient (it is also where the problem with the mode change when you are over a selected region is most evident).

...
Of course you can use select by color in conjunction with freehand; the same is true for any other two selection tools, including path (rightclick in paths dialog-> choose 'path to sel' /'add to sel'/ 'subtract from sel'/'intersect with sel').

I'd reccomend you this workflow for background extraction:

I like the methodology that I am using. The enhancement I am requesting would make my methodology much better, but even without the fix, I don't see myself reverting to path based selection for the majority of my work. It is not flexible enough and takes too much time.

Agreed (only!) on the fact that it takes too much time. It's more flexible but harder to detail with (which is why using some combination of tools is often wise -- if the shape you want to select is simple, it can probably be done faster and better with path tool, otherwise faster with freehand.)

It is true for the case of extracting a couple from the background, that you could usually get *extremely* quick results using SIOX foreground extraction, with only some minor feathering and touchup with the freehand selection tool needed afterwards.

Your other proposal (selection stack) is very interesting, but sounds quite difficult tu implement.
I'm not thinking exactly in your examples, but in the possibility to transform different selection levels independently (i.e. you selected 3 circles and you want to adjust the size of the first one).

If it is difficult then it is probably a non-starter. I viewed it as a "nice to have" feature and thought that it was worth brining up in case it wasn't too hard to implement. I thought that since the current behavior acts a little like a single layer stack, there was a chance that adding more depth might be doable without a huge effort.

I think that 'difficult' is the wrong phrase. 'already exists' is probably the right one.
See the Channels dialog -- that's exactly what it is for.

Stephen Kiel
2007-07-27 05:54:45 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

David,

Thanks for the reply. I am using the Windows version of 2.2.17. In this version the issue that I am having an issue with can be reproduced in any image by selecting the freehand select tool, draw a circle in the image creating a selection, press the subtract from current selection mode button, move the cursor inside the selected region, depress the mouse button to start defining the region you want to subtract, and when you move the mouse you move the selection as a floating section instead of defining what you want to subtract. If there is a fairly stable version of the tool that has a fix for the issue I am having, that would be great. Which version should I be using?

Your comment "See the Channels dialog -- that's exactly what it is for." for a providing a selection stack capability sounds interesting. Do you have a link or reference that elaborates on this?

Thanks

Stephen

----- Original Message ---- From: David Gowers
To: Stephen Kiel
Cc: Guillermo Espertino ; gimp-developer@lists.xcf.berkeley.edu Sent: Thursday, July 26, 2007 5:37:29 PM Subject: Re: [Gimp-developer] Request for Change 0 Free Select Behavior

On 7/27/07, Stephen Kiel wrote:

Guillermo,

Thanks for taking the time to reply to my request. It appears that you and I have a fundamentally different point of view on how to best select regions in an image. Let me throw out a couple of observations before I address some of your points in the hope that I can avoid starting a religious argument about which technique is better (especially if my side is outnumbered). - In most applications most of the users focus on about 20% of the options and capabilities in a given tool whether it is an office tool, or an engineering Design Automation tool. I suspect this is true of almost any tool that is fairly flexible. This does not mean that the 80% that any one user doesn't normally use aren't valuable as different users solving different problems. - It is important that the work on an image has an intuitive feel. No one methodology or selection method works best across all of the images you might encounter. Users will develop favorite methods based on their own success and failures with features of a tool. Failure with a feature of a tool is not a reflection on the feature, it just points out that a variety of robust features are necessary for a well rounded tool. - The "enhancement" that I am asking for is for the current mode of operation to perform in a manner that would be expected by a reasonable user. When the user selects a mode of operation using the menu and switches, it seems reasonable for the tool to honor those choices rather than making a unilateral decision to change modes based on cursor location. The fact the behavior is called out in the specification doesn't really change the fact that it is kind of user unfriendly.

The 'enhancement' that you describe, in my experience, has been included in the GIMP for at least a year. I cannot reproduce the problem you describe (and for the purposes of getting this changed, you will probably need to come up with some reliable way of reproducing it.)

Let me try and address your points:

The Bezier tool is better suited to the tasks you're describing. Using freehand tool as a precision tool (i.e. for background extraction) is a bad idea.

If I believed this I would not have bothered to ask for the enhancement in the first place. I think of using the freehand select for precision work as part of my methodology rather than a bad idea. When I started using Gimp I tried the Path / Bezier tool but in practice I really haven't found much use for it. The notion that it is "better" is subjective and is not in line with my experience.

Freehand tool is intended to make coarse selections or tweaks in selections that don't need too much precision.

This may have been the vision when the tool was put together, if it was I would say the Freehand select exceeded the original expectation. I believe that it is the best selection mode in Gimp for making precise selections. - How fine your control is for defining a selection line is determined by the level of zoom you are at, not whether you are drawing the line or defining it with a series of dots. The freehand select is as precise as the picture and tool will allow.

That doesn't even make sense. The freehand tool and path tool have both exactly the same level of precision -- they both render polygons, so they're infinitely-precise; freehand can be faster if you have a steady hand; paths is more precise because it can draw shapes with holes in them in the same step as drawing the outside - freehand select must do such things in two steps, because it makes some assumptions about how the user wants to use it.

Freehand select works under the exact same rules as path tool - including eg. what happens when a polygon self-intersects. The only difference is that freehand composes the path itself, so that you can select a complex shape with click+move... instead of one click per point as in paths selection.
To demonstrate that, move your mouse in a circle with freehand select, and scribble through the circle before releasing the mouse button.

- Describing a line with a series of dots is not inherently quicker or more precise than just drawing the line. If you have to start inserting more dots or fiddling with the handles to reshape the line, you are going to waste lots of time.

I must point out that for simply-shaped selections, adjusting the path handles gives results of higher quality, faster.

The trick with Freehand select is to do a rough selection and then do

the precise work using small closed strokes to add or subtract onto the selection. The feedback is immediate, and is easy to draw a precise line with the mouse as long as it is short.

Yes, agreed on all points here. Try using freehand select with a tablet though (if anyone you know has one you can borrow) -- it eliminates some of the complexities that you are describing, so that you can select an entire complex shape accurately in one go.

- The selection using a path matches the line in the path, which may be what we are referring to as precise, but this is actually due to the path selection being less flexible than a Freehand selection.

As i pointed out above, the freehand tool is also less flexible than the path tool.

In a Freehand select you can get a selection that matches the line you draw, just like the path select, if you turn of the "Feather edges", but instead of being precise, it is precisely what I don't want. When you select people in your image without feathering the edge and paste them back on a background that has been blurred, they have a cut out with an exacto knife look. There may be a way to get feathered edges and antialiasing with the path tool, but this is still a problem because you can't see what you actually selected. The actual selection depends on the amount of feather (radius), the radius of curvature (shape) of the selection line. - The feedback from a freehand select is immediate. You can see what your selection is as you make it without having to wait until after you have completed a long path description. If you are able to feather the edges on a path, most likely with a time consuming post processing, it won't be the precise edge you described with the path. It might not fully include everything you want.

EXACTLY! and no selection tool actually supports the function you are describing -- the selection outline you see is unfeathered until the selection is finished.
And the postprocessing is exactly as time-consuming as it is for the freehand tool when you turn on the feathering option -- because it's exactly the same postprocessing, the only difference is that it happens automatically for freehand-select. (select->feather)

- In my opinion the freehand tool is more intuitive for all but the very experienced user. Making the freehand select work the way most user's would expect would lower the learning curve for new users. The idea of adding to, subtracting from, or intersecting with the current selection is fairly straightforward and powerful.

Yes, and is already supported. You need a reliable way to reproduce this; otherwise, people will just assume you are using an old version of GIMP, and tell you to upgrade.

- The fact that select by color supports the same booleans, feathering, and can be used in conjunction with freehand makes an even more powerful combination. Using select by color to differentiate large regions and then the freehand to cut or add to the selection is real efficient (it is also where the problem with the mode change when you are over a selected region is most evident).

...
Of course you can use select by color in conjunction with freehand; the same is true for any other two selection tools, including path (rightclick in paths dialog-> choose 'path to sel' /'add to sel'/ 'subtract from sel'/'intersect with sel').

I'd reccomend you this workflow for background extraction:

I like the methodology that I am using. The enhancement I am requesting would make my methodology much better, but even without the fix, I don't see myself reverting to path based selection for the majority of my work. It is not flexible enough and takes too much time.

Agreed (only!) on the fact that it takes too much time. It's more flexible but harder to detail with (which is why using some combination of tools is often wise -- if the shape you want to select is simple, it can probably be done faster and better with path tool, otherwise faster with freehand.)

It is true for the case of extracting a couple from the background, that you could usually get *extremely* quick results using SIOX foreground extraction, with only some minor feathering and touchup with the freehand selection tool needed afterwards.

Your other proposal (selection stack) is very interesting, but sounds quite difficult tu implement.
I'm not thinking exactly in your examples, but in the possibility to transform different selection levels independently (i.e. you selected 3 circles and you want to adjust the size of the first one).

If it is difficult then it is probably a non-starter. I viewed it as a "nice to have" feature and thought that it was worth brining up in case it wasn't too hard to implement. I thought that since the current behavior acts a little like a single layer stack, there was a chance that adding more depth might be doable without a huge effort.

I think that 'difficult' is the wrong phrase. 'already exists' is probably the right one.
See the Channels dialog -- that's exactly what it is for.

_____________________________________

David Gowers
2007-07-27 09:46:41 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

On 7/27/07, Stephen Kiel wrote:

David,

Thanks for the reply. I am using the Windows version of 2.2.17. In this version the issue that I am having an issue with can be reproduced in any image by selecting the freehand select tool, draw a circle in the image creating a selection, press the subtract from current selection mode button, move the cursor inside the selected region, depress the mouse button to start defining the region you want to subtract, and when you move the mouse you move the selection as a floating section instead of defining what you want to subtract. If there is a fairly stable version of the tool that has a fix for the issue I am having, that would be great. Which version should I be using?

You could just wait for the next release, which IIRC should be 2.4, and thus a 'stable' release; you might even consider using 2.3.19, since it is right at the end of the 2.4 development cycle and so almost as stable.

This problem you describe has been fixed for quite a while, although not as long as I thought (since version 2.3.12) -- this problem isn't quite what I thought it was. Anyway, it has been fixed in a way such that subtraction/adding/intersection is always predictable, but if you want to cut out/copy out the selected area, you need to either use 'float' in the menus to do that, or (CTRL+ALT+drag to cut the area out, ALT+SHIFT+drag to copy the area out.)

Your comment "See the Channels dialog -- that's exactly what it is for." for a providing a selection stack capability sounds interesting. Do you have a link or reference that elaborates on this?

Hitting F1 in the channels dialog provides a pretty good description, including how to compose a selection from several channels.

Stephen Kiel
2007-07-30 03:53:04 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

David,

I found a gimp-2.3.18-i586-setup.exe and installed it (after a system backup). I wanted to check the functions you mentioned without having to set up a build from source code.

Anyway, the way the freehand select is working in 2.3.18 is great, it was just what I was looking for. The advise about using the channels for the boolean operations on multiple selections worked out great as well, I didn't realize they had that capability. I had never thought of channels beyond the Red, Blue, Green decomposition of the image & didn't have occasion to think of using them.

I tried the foreground select and found it pretty interesting. It looks like it wil be a real time saver. I did have a couple of observations which might be old news since this is one version back from 2.3.19, but here goes just in case:

1) There wasn't an obvious want to tell the tool you were done refining and ready to make the selection. It took a while to notice the message at the bottom of the window to hit enter. Seems like putting in a button would save some new user fumbling, but after they discover that "Enter" is the shortcut, they will probably not use the button any more. Don't know what to recommend for this.

2) The foreground select tool seemed to act differently depending on the image size (pixels) and the zoom level. Might be the version, might be the installation I picked up. With an image that is 2304 x 3072 which comes up with a default 25% zoom on my screen, the preview display covers the entire image after selecting a region to work on. Taking it up to 100% zoom displays it they way you would expect.

Anyway, thanks for the help, sorry to bother you with things that have already been addressed in the new build and current capability.

Stephen

----- Original Message ---- From: David Gowers
To: Stephen Kiel
Cc: Guillermo Espertino ; gimp-developer@lists.xcf.berkeley.edu Sent: Friday, July 27, 2007 12:46:41 AM Subject: Re: [Gimp-developer] Request for Change 0 Free Select Behavior

On 7/27/07, Stephen Kiel wrote:

David,

Thanks for the reply. I am using the Windows version of 2.2.17. In this version the issue that I am having an issue with can be reproduced in any image by selecting the freehand select tool, draw a circle in the image creating a selection, press the subtract from current selection mode button, move the cursor inside the selected region, depress the mouse button to start defining the region you want to subtract, and when you move the mouse you move the selection as a floating section instead of defining what you want to subtract. If there is a fairly stable version of the tool that has a fix for the issue I am having, that would be great. Which version should I be using?

You could just wait for the next release, which IIRC should be 2.4, and thus a 'stable' release; you might even consider using 2.3.19, since it is right at the end of the 2.4 development cycle and so almost as stable.

This problem you describe has been fixed for quite a while, although not as long as I thought (since version 2.3.12) -- this problem isn't quite what I thought it was. Anyway, it has been fixed in a way such that subtraction/adding/intersection is always predictable, but if you want to cut out/copy out the selected area, you need to either use 'float' in the menus to do that, or (CTRL+ALT+drag to cut the area out, ALT+SHIFT+drag to copy the area out.)

Your comment "See the Channels dialog -- that's exactly what it is for." for a providing a selection stack capability sounds interesting. Do you have a link or reference that elaborates on this?

Hitting F1 in the channels dialog provides a pretty good description, including how to compose a selection from several channels.

_____________________________________

David Gowers
2007-07-30 04:55:54 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

On 7/30/07, Stephen Kiel wrote:

David,

I found a gimp-2.3.18-i586-setup.exe and installed it (after a system backup). I wanted to check the functions you mentioned without having to set up a build from source code.

Anyway, the way the freehand select is working in 2.3.18 is great, it was just what I was looking for. The advise about using the channels for the boolean operations on multiple selections worked out great as well, I didn't realize they had that capability. I had never thought of channels beyond the Red, Blue, Green decomposition of the image & didn't have occasion to think of using them.

I'm glad I could help.

I tried the foreground select and found it pretty interesting. It looks like it wil be a real time saver. I did have a couple of observations which might be old news since this is one version back from 2.3.19, but here goes just in case:

1) There wasn't an obvious want to tell the tool you were done refining and ready to make the selection. It took a while to notice the message at the bottom of the window to hit enter. Seems like putting in a button would save some new user fumbling, but after they discover that "Enter" is the shortcut, they will probably not use the button any more. Don't know what to recommend for this.

Yes, I noticed this too. An additional difficulty is that the statusbar is not guaranteed to be visible, so putting a button next to the status display would not guarantee the user sees it. I don't have any idea what to do here either.

2) The foreground select tool seemed to act differently depending on the image size (pixels) and the zoom level. Might be the version, might be the installation I picked up. With an image that is 2304 x 3072 which comes up with a default 25% zoom on my screen, the preview display covers the entire image after selecting a region to work on. Taking it up to 100% zoom displays it they way you would expect.

Yes, this bug is known and fixed, release 2.3.19 includes this fix.

Guillermo Espertino
2007-07-30 21:51:17 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

David Gowers wrote:

Yes, I'm aware of that. I mean to perform boolean operations on the paths tehmselves.

Well I think that GIMP should avoid doing that, and instead expect you to do it with inkscape; transfer of paths between the two programs is very simple and inkscape's just plain better at path editing.

I'm not talking about vector illustration. I'm rather thinking about options for "combine visible layers" in the paths dialog. It would be nice to have a pop up window when you choose that option, letting you choose between different boolean operations. For instance: if you have a road sign, and you created a path for the sign, and another for the pole, if you combine those layers the parts that intersect are excluded (that's the default behaviour of the combination and that's ok). But sometimes you need to join the paths or substract a part.
I know that's possible using the selections and channels, but that makes you go through several steps. And sometimes you need a single path (most frequently for keep the file clean without hundreds of layers). Using the selection and turning it back to paths can be a workaround, but it's not 100% accurate and it's not the most handy thing. I noticed this issue a couple of days ago while creating a file for big format print and cutout. I needed to export the vector paths for the cutting shape, and -as I had to isolate the images using gimp, the most handy way to do it would be to make the path just one and re-utilize it later.
It wasn't impossible and I made it with selections and exported the paths and combined them later in inkscape, but having a one-step combine would been a very important productivity enhancement.

Oh, btw. Another thing I was wondering: Is there a way to straighten a single path segment in the bezier tool?

Gez.

David Gowers
2007-07-31 02:04:53 UTC (almost 17 years ago)

Request for Change 0 Free Select Behavior

On 7/31/07, Guillermo Espertino wrote:

David Gowers wrote:

Yes, I'm aware of that. I mean to perform boolean operations on the paths tehmselves.

Well I think that GIMP should avoid doing that, and instead expect you to do it with inkscape; transfer of paths between the two programs is very simple and inkscape's just plain better at path editing.

I'm not talking about vector illustration. I'm rather thinking about options for "combine visible layers" in the paths dialog. It would be nice to have a pop up window when you choose that option, letting you choose between different boolean operations. For instance: if you have a road sign, and you created a path for the sign, and another for the pole, if you combine those layers the parts that intersect are excluded (that's the default behaviour of the combination and that's ok). But sometimes you need to join the paths or substract a part.
I know that's possible using the selections and channels, but that makes you go through several steps. And sometimes you need a single path (most frequently for keep the file clean without hundreds of layers). Using the selection and turning it back to paths can be a workaround, but it's not 100% accurate and it's not the most handy thing.

If you have a plugin that uses potrace instead, it's much more accurate.

I noticed this issue a couple of days ago while creating a file for big format print and cutout. I needed to export the vector paths for the cutting shape, and -as I had to isolate the images using gimp, the most handy way to do it would be to make the path just one and re-utilize it later.
It wasn't impossible and I made it with selections and exported the paths and combined them later in inkscape, but having a one-step combine would been a very important productivity enhancement.

Doesn't 'merge visible' do what you want? If not, script it.

Oh, btw. Another thing I was wondering: Is there a way to straighten a single path segment in the bezier tool?

Yes; Ctrl+click on each handle (not the round ones; the square ones that control the shape of the curve) -- ie. once on the handle on one side, and once on the other; they will each disappear.