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

healing brush hanging X11

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.

23 of 24 messages available
Toggle history

Please log in to manage your subscriptions.

soc-2006-healing-brush branch merged and closed Michael Natterer 02 Sep 20:58
  soc-2006-healing-brush branch merged and closed Sven Neumann 03 Sep 14:28
   soc-2006-healing-brush branch merged and closed Kevin Sookocheff 04 Sep 16:41
    soc-2006-healing-brush branch merged and closed Alexandre Prokoudine 04 Sep 16:45
    soc-2006-healing-brush branch merged and closed Axel Wernicke 04 Sep 17:46
     healing brush hanging X11 Campbell Barton 04 Sep 22:58
      healing brush hanging X11 Kevin Sookocheff 05 Sep 02:45
       healing brush hanging X11 Campbell Barton 05 Sep 04:13
       healing brush hanging X11 Sven Neumann 05 Sep 07:33
        healing brush hanging X11 Kevin Sookocheff 05 Sep 15:15
         healing brush hanging X11 Sven Neumann 05 Sep 20:40
          healing brush hanging X11 Sven Neumann 13 Sep 10:20
           healing brush hanging X11 Kevin Sookocheff 14 Sep 03:22
         Perspective clone segfault Campbell Barton 09 Sep 12:01
          Perspective clone segfault Sven Neumann 09 Sep 16:24
           Perspective clone segfault Campbell Barton 09 Sep 15:52
            Perspective clone segfault Sven Neumann 09 Sep 18:36
    soc-2006-healing-brush branch merged and closed Sven Neumann 04 Sep 20:48
48bd37870609041203k1e4d2230... 07 Oct 20:24
  soc-2006-healing-brush branch merged and closed Sven Neumann 05 Sep 07:55
   soc-2006-healing-brush branch merged and closed Sven Neumann 13 Sep 10:16
    soc-2006-healing-brush branch merged and closed Tim Mooney 13 Sep 17:52
     soc-2006-healing-brush branch merged and closed Sven Neumann 13 Sep 20:16
    soc-2006-healing-brush branch merged and closed Kevin Sookocheff 14 Sep 03:21
Michael Natterer
2006-09-02 20:58:27 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi all,

I just merged the "Healing Brush" branch soc-2006-healing-brush to CVS HEAD (see the ChangeLog entry pasted below for details).

The soc-2006-healing-brush is now officially closed and all further fixes and changes to the heal tool are to be committed to HEAD.

Thanks a lot to Kevin Sookocheff :-)

ciao, --mitch

2006-09-02 Michael Natterer

Merged the "soc-2006-healing-brush" branch. That branch is now officially closed and all further fixes and changes have to be applied to HEAD.

Did some minor adjustments, mostly small indentation and spacing fixes. Derive the tool from the newly introduced GimpBrushTool which did not exist when the branch was created.

Thanks a lot to Kevin Sookocheff for this nice contribution!

* app/paint/paint-enums.[ch]: new enum GimpHealAlignMode.

* app/paint/Makefile.am * app/paint/makefile.msc
* app/paint/gimpheal.[ch]
* app/paint/gimphealoptions.[ch]: the heal core and its options.

* app/paint/gimp-paint.c: register the heal core.

* app/tools/Makefile.am * app/tools/makefile.msc
* app/tools/gimphealtool.[ch]: the heal tool.

* app/tools/gimp-tools.c: register the heal tool.

* app/tools/gimppaintoptions-gui.c: show the widgets that are used by heal.

* app/widgets/gimphelp-ids.h: the heal help ID.

* tools/pdbgen/stddefs.pdb * tools/pdbgen/pdb/paint_tools.pdb: the heal PDB wrappers.

* app/widgets/widgets-enums.h * app/widgets/gimpcursor.c
* cursors/Makefile.am
* cursors/makefile.msc
* cursors/tool-heal.png
* cursors/xbm/tool-heal.xbm
* cursors/xbm/tool-heal-mask.xbm: a new cursor for the heal tool.

* libgimpwidgets/gimpstock.[ch] * themes/Default/images/Makefile.am * themes/Default/images/makefile.msc * themes/Default/images/tools/stock-tool-heal-16.png * themes/Default/images/tools/stock-tool-heal-22.png: new stock icons for the heal tool.

* app/pdb/internal_procs.c * app/pdb/paint_tools_cmds.c
* libgimp/gimppainttools_pdb.[ch]: regenerated.

Sven Neumann
2006-09-03 14:28:30 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi,

On Sat, 2006-09-02 at 20:58 +0200, Michael Natterer wrote:

I just merged the "Healing Brush" branch soc-2006-healing-brush to CVS HEAD (see the ChangeLog entry pasted below for details).

Cool!

I tried the new tool and I have a couple of comments:

(1) It would be nice if Jimmac could have a look at redoing the icon. I very much like the metaphor but the icon would benefit from some Tango love applied to it.

(2) IMO the tool should be moved next to the Clone tool in the toolbox.

(3) I frequently get error messages saying "Source and destination regions are not the same size.". That shouldn't happen.

(4) I don't really understand how to use the tool. I understand that I need to Ctrl-Click to select a source as with the Clone tool. But then, when I try to heal an area, I find the behaviour unpredictable and somehwat erratic. Can someone please explain how this tool is supposed to be used?

Sven

Kevin Sookocheff
2006-09-04 16:41:20 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi!

I'm really glad the the Healing Brush has been merged into HEAD. That marks my first open-source contribution!

(1) It would be nice if Jimmac could have a look at redoing the icon. I

very much like the metaphor but the icon would benefit from some Tango love applied to it.

Yes. Please fix the icon. This was just something I did in a few spare minutes, and I am definitely not an icon expert.

(3) I frequently get error messages saying "Source and destination

regions are not the same size.". That shouldn't happen.

The source and destination region should be the same size, but I don't know how to ensure this for every click. Right now the best I could do is not report the error and just run the loop again. I'll look into it though

(4) I don't really understand how to use the tool. I understand that I

need to Ctrl-Click to select a source as with the Clone tool. But then, when I try to heal an area, I find the behaviour unpredictable and somehwat erratic. Can someone please explain how this tool is supposed to be used?

I created a tutorial about the tool. Is there any GIMP hosted site where I could post it to for everyone to look at. This should answer most of your questions.

Kevin

Alexandre Prokoudine
2006-09-04 16:45:53 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

On 9/4/06, Kevin Sookocheff wrote:

I created a tutorial about the tool. Is there any GIMP hosted site where I could post it to for everyone to look at. This should answer most of your questions.

Theres is wiki.gimp.org, but I don't know if it allows uploading images

Alexandre

Axel Wernicke
2006-09-04 17:46:04 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi,
-------- Original-Nachricht -------- Datum: Mon, 4 Sep 2006 10:41:20 -0400 Von: "Kevin Sookocheff"
An: "Sven Neumann"
Betreff: Re: [Gimp-developer] soc-2006-healing-brush branch merged and closed

I created a tutorial about the tool. Is there any GIMP hosted site where I
could post it to for everyone to look at. This should answer most of your questions.

Independent of the place you store the tutorial, it might be a good idea to send a copy to the documentation team, so we can incorporate your knowledge about the usage of the tool into the manual.

greetings, lexA

Kevin

Sven Neumann
2006-09-04 20:48:36 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi,

On Mon, 2006-09-04 at 10:41 -0400, Kevin Sookocheff wrote:

I created a tutorial about the tool. Is there any GIMP hosted site where I could post it to for everyone to look at. This should answer most of your questions.

I doubt that a tutorial will answer my main question, which is "why does the tool not do what I expect it to do?" ;-) My concern is that when I paint over a spot that needs healing and while the brush is over it, it looks fine but it reverts to almost the original when I leave the area or stop painting. It seems that I get better results if I only click without moving the mouse while healing.

Sven

Campbell Barton
2006-09-04 22:58:14 UTC (over 17 years ago)

healing brush hanging X11

Hey,
Just tried the healing brush for the first time, on an 8mp image with a 200px brush.
- Useually works ok for most tools.

With the healing brush it was very slow, thats ok too- I assume theres a lot of math to go for this tool

But after a click+drag it was so slow, it would not finish after about 2min... even worse, I could not move any windows or click anywhere while it was thinking.

Only quick way out was to kill X11 with a ctrl+alt+backspace. (or boot up another PC and kill the gimp via SSH)

it looks like this is more of a problem with the way gimp locks X11 then the healing tool its self.

- Cam

Kevin Sookocheff
2006-09-05 02:45:58 UTC (over 17 years ago)

healing brush hanging X11

Hi Cam,

A bad point about the current implementation is that it is slow. The Laplacian solver is not optimized. There are also other ways to implement the Laplacian solver that may increase the speed.

You're correct in that the reason that X freezes is because GIMP locks X11.

Kevin

Campbell Barton
2006-09-05 04:13:08 UTC (over 17 years ago)

healing brush hanging X11

Kevin Sookocheff wrote:

Hi Cam,

A bad point about the current implementation is that it is slow. The Laplacian solver is not optimized. There are also other ways to implement the Laplacian solver that may increase the speed.
You're correct in that the reason that X freezes is because GIMP locks X11.

Kevin

Hey Kevin,
Is the tool freezing issue been discussed before? - seems like it should be changed to only freeze operations within the gimp?

Also, my mistake for also having the brush spacing on 1.0!

Because I use large images I need brushes up to about 400px so rather then using the selection of brushes I use 1 and resize it each time. This ok but keeps spacing unchanged. - Cam

Sven Neumann
2006-09-05 07:33:43 UTC (over 17 years ago)

healing brush hanging X11

Hi,

On Mon, 2006-09-04 at 20:45 -0400, Kevin Sookocheff wrote:

A bad point about the current implementation is that it is slow. The Laplacian solver is not optimized. There are also other ways to implement the Laplacian solver that may increase the speed.

As far as I know, the Heal tool in Photoshop solves this problem by only going through the math after you release the mouse button. While you are painting, the tool works just like the clone tool and just copies from the source location. Only after you release the mouse button the healing magic is performed.

I think that this would a good solution to our problem. It's unacceptable for GIMP to get stuck in a long-time calculation while the mouse is grabbed. And there's no way to not grab the mouse while the user is painting.

Sven

Sven Neumann
2006-09-05 07:55:03 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi,

On Mon, 2006-09-04 at 15:03 -0400, Kevin Sookocheff wrote:

That's because right now the Laplacian solver isn't optimized. If we used another algorithm, or optimized the current one it would be fine. The tool isn't "real-time" at the moment and clicking is the only way to use it for the moment.

I don't see how optimizing the algorithm would solve the usability problem. If we optimized the algorithm, we would spend less CPU cycles, but the tool would still not behave like a paint tool. I think we need to do something about the way the tool works. I have outlined a possible solution in another mail.

Of course optimizing the Laplacion solver is still desirable. Have you done any profiling on this yet? Is there a way to benchmark it? A regression test would also be nice to have for this purpose.

Sven

Kevin Sookocheff
2006-09-05 15:15:51 UTC (over 17 years ago)

healing brush hanging X11

As far as I know, the Heal tool in Photoshop solves this problem by only

going through the math after you release the mouse button. While you are painting, the tool works just like the clone tool and just copies from the source location. Only after you release the mouse button the healing magic is performed.

OK. That seems logical. So during the mouse stroke a region is selected, and after the mouse stroke healing is done on the selected region. Are there any tools in GIMP right now that follow a similar sequence? The problem I have is that I'm not sure how to implement this, I just don't know enough GIMP yet :)

Kevin

Sven Neumann
2006-09-05 20:40:16 UTC (over 17 years ago)

healing brush hanging X11

Hi Kevin,

On Tue, 2006-09-05 at 09:15 -0400, Kevin Sookocheff wrote:

OK. That seems logical. So during the mouse stroke a region is selected, and after the mouse stroke healing is done on the selected region. Are there any tools in GIMP right now that follow a similar sequence? The problem I have is that I'm not sure how to implement this, I just don't know enough GIMP yet :)

I don't think there's a tool that does something similar. But then, it shouldn't be that hard. The heal tool would simply do what the clone tool is doing on motion. Or actually, it should share the code, either by delegation or perhaps we would derive GimpHeal from GimpClone.

As far as I can see, there is currently no way to override gimp_paint_core_finish(). That's probably where the heal tool would have to do its magic. So we would have to make this a virtual method of the GimpPaintCore class so the GimpHeal could override it.

Mitch knows this code a lot better, he should be able to help you with this.

Sven

Campbell Barton
2006-09-09 12:01:02 UTC (over 17 years ago)

Perspective clone segfault

Hey, is it ok to report bugs her? With Blender3D we sometimes report bugs on the ML if the features are in active development or just added.

The perspective clone tool crashes if you make the perspective square concave or a 'bow tie' where 2 of the lines intersect.

This also locked X11 after crashing, tho thats another issue,

- Cam

Campbell Barton
2006-09-09 15:52:33 UTC (over 17 years ago)

Perspective clone segfault

Sven Neumann wrote:

Hi,

On Sat, 2006-09-09 at 20:01 +1000, Campbell Barton wrote:

Hey, is it ok to report bugs her? With Blender3D we sometimes report bugs on the ML if the features are in active development or just added.

It is actually too early to report any bugs in the new tool. It has only just been merged into the HEAD branch and a lot will change before it starts to make sense to report bugs for it. Mentioning problems on the mailing-list is OK though as it doesn't create as much hassle as a bug report in the bug tracker does.

The perspective clone tool crashes if you make the perspective square concave or a 'bow tie' where 2 of the lines intersect.

This also locked X11 after crashing, tho thats another issue,

Why is that another issue? GIMP crashes while the pointer is grabbed and it needs to do that while you drag the perspective plane around.

Sven

On the last point,

previously I mentioned Gimp stealing the mouse focus, causing me to kill X even though other X application were responsive.

This happened again with the perspective tool, if it had crashed and closed it would have been ok, but in this case it gave the [segfault error, continue, exit... etc] in the command line prompting me for input, but the input being locked didnt let me enter in a value.

I mean to say that a tool crashing and the tools locking the input are seperate issues.- its not the perspective-clone tools fault X11 is locked. ;-)

- Cam

Sven Neumann
2006-09-09 16:24:00 UTC (over 17 years ago)

Perspective clone segfault

Hi,

On Sat, 2006-09-09 at 20:01 +1000, Campbell Barton wrote:

Hey, is it ok to report bugs her? With Blender3D we sometimes report bugs on the ML if the features are in active development or just added.

It is actually too early to report any bugs in the new tool. It has only just been merged into the HEAD branch and a lot will change before it starts to make sense to report bugs for it. Mentioning problems on the mailing-list is OK though as it doesn't create as much hassle as a bug report in the bug tracker does.

The perspective clone tool crashes if you make the perspective square concave or a 'bow tie' where 2 of the lines intersect.

This also locked X11 after crashing, tho thats another issue,

Why is that another issue? GIMP crashes while the pointer is grabbed and it needs to do that while you drag the perspective plane around.

Sven

Sven Neumann
2006-09-09 18:36:53 UTC (over 17 years ago)

Perspective clone segfault

Hi,

On Sat, 2006-09-09 at 23:52 +1000, Campbell Barton wrote:

This happened again with the perspective tool, if it had crashed and closed it would have been ok, but in this case it gave the [segfault error, continue, exit... etc] in the command line prompting me for input, but the input being locked didnt let me enter in a value.

Shouldn't happen any longer with current CVS. We now try to ungrab the pointer and keyboard before calling g_on_error_query().

Sven

Sven Neumann
2006-09-13 10:16:38 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi Kevin,

a while ago I wrote to the list with the following questions and I don't remember to have gotten answers to them. Will you please consider to answer these questions?

On Tue, 2006-09-05 at 07:55 +0200, Sven Neumann wrote:

Of course optimizing the Laplacion solver is still desirable. Have you done any profiling on this yet? Is there a way to benchmark it? A regression test would also be nice to have for this purpose.

Sven

Sven Neumann
2006-09-13 10:20:24 UTC (over 17 years ago)

healing brush hanging X11

Hi Kevin,

a while ago we discussed how to change the heal tool so that it doesn't do it's time-expensive calculations while the user is painting but to delay it until after the mouse has been released. Have you tried to change the code in this direction? Do you need more help with this?

Sven

Tim Mooney
2006-09-13 17:52:16 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

In regard to: Re: [Gimp-developer] soc-2006-healing-brush branch merged and...:

Hi Kevin,

a while ago I wrote to the list with the following questions and I don't remember to have gotten answers to them. Will you please consider to answer these questions?

My guess is that Kevin isn't listening right now, because of the move and internship he mentioned at the bottom of this email:

https://lists.xcf.berkeley.edu/lists/gimp-developer/2006-August/016152.html

On Tue, 2006-09-05 at 07:55 +0200, Sven Neumann wrote:

Of course optimizing the Laplacion solver is still desirable. Have you done any profiling on this yet? Is there a way to benchmark it? A regression test would also be nice to have for this purpose.

Tim

Sven Neumann
2006-09-13 20:16:08 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi,

On Wed, 2006-09-13 at 10:52 -0500, Tim Mooney wrote:

My guess is that Kevin isn't listening right now, because of the move and internship he mentioned at the bottom of this email:

https://lists.xcf.berkeley.edu/lists/gimp-developer/2006-August/016152.html

Sorry, I missed that. Thanks for reminding me.

Sven

Kevin Sookocheff
2006-09-14 03:21:08 UTC (over 17 years ago)

soc-2006-healing-brush branch merged and closed

Hi Sven,

Regarding your questions:

Of course optimizing the Laplacion solver is still desirable. Have you done any profiling on this yet? Is there a way to benchmark it? A regression test would also be nice to have for this purpose.

At the moment I haven't done any profiling. I haven't thought of any benchmarking except for total time spent. The inner loop runs until convergence so we may have to change that to run for a specific number of times for profiling purposes.

Kevin

Kevin Sookocheff
2006-09-14 03:22:36 UTC (over 17 years ago)

healing brush hanging X11

Hi Sven,

I haven't had any time to try this. I depart this Saturday and don't anticipate having more time to devote to the healing brush in the near future. Once I get settled I'll set up a work environment and try and work on the code some more.

Kevin

On 9/13/06, Sven Neumann wrote:

Hi Kevin,

a while ago we discussed how to change the heal tool so that it doesn't do it's time-expensive calculations while the user is painting but to delay it until after the mouse has been released. Have you tried to change the code in this direction? Do you need more help with this?

Sven