User login

Syndicate

You are here

Resynthesizer

August 29, 2008 - 01:17 — stuartdole

I've been trying to use Paul Harrison's "Resynthesizer" plug-in and script, and it seems that since it was created and now (GIMP 2.4.6) something has changed, and the script seems to be broken. I don't know enough script/fu to debug it (yet?), but what it looks like it's doing is filling the target area with a texture synthesized from the very top of the image, which in my photos is usually sky. I achieved a very amusing demonstration of this by first inverting (top for bottom) the image, then applying the script to the same patch, and it was filled with the wooden deck that used to be at the bottom but is now at the top.

I'm actually trying to do useful work with this (create images of people for a borchure) by removing things like power lines from backgrounds. I know I can "clone" and "heal", but it (for my skill level) looks funky when I use them.

I think the actual texture synthesizer (version 0.13b) still works, but I'm guessing there is something funny in the scripts.

the script included were 2, if i 'm not wrong 1 just doesn't work anymore and issue a error message, you mean here that the other do no give error messages but weird results?
maybe if you copy the scripts (and error messages if any), upload a sample that illustrate the mistake and post everything on the gimpuser mail list or on http://www.gimptalk.com/forum/gimp-plugins,-filters,-and-scripts-f9.html, you will get better chance to find somebody willing to fix it

I'm using GIMP 2.4.7 with Windows Vista... I installeed resynthesizer, made a selection to remove/replace on my photo and used resynthesize (Filters-Map-Resynthesize) but all it did was cut out the selection and left the white background?? I tried adjusting the settings in the dialog, but you can't change imagename/background ouput. Any Suggestions??

I believe there is much confusion about the plugin and the scripts.
Resynthesizer is a plugin, i fear no more maintained and that is a pity, but should still work on gimp 2.6.
Then there are 2 scripts,as that you posted
obviously they strictly need the Resynthesizer plugin installed or they will never work... (a script can't contain a plugin only call it.)
Then is quite possible that the 2 script need a update to work with Gimp 2.6...
i believe 1 was already updated by FX Foundry (please use site search to find Fx-Foundry) so you may try to ask them to update also the other (if not yet updated)
I am almost sure that 1 was updated by FX Foundry because then i found weird see included in a script pack a script that was not self-standing but that instead require a 3d party plugin to work

sure that cannot work.
That is badly reformatted :with a line as
"layer ;hmm, seems to work, was (car (gimp-image-get-active-layer dupe))" no script may work.
should be
layer
;hmm, seems to work, was (car (gimp-image-get-active-layer ;dupe))
that after ";" is not code but a comment and the ";" should be at beginning of the line
So please do not use Word or similar to copy and paste script but only the Notepad...better Notepad+ because even the Windows notepad sometimes break the lines

PhotoComix,
Respectfully, I think you are mistaken.
That is a comment, and in the Scheme language in which gimp plugin scripts are written, comments can begin in the middle of a line.
Also, the script as posted appears to match what is distributed, I don't think it was altered by the posting. (It didn't need to be posted, anyone interested in fixing it would know where to find the script. Likewise my quibbling shouldn't be posted.)
butch
plashless, off banks of noon

The script calls the plugin. It strikes me that the plug-in itself is broken, not the script. (the script is in one language, Scheme, the plugin is in another language, C, towards the bottom of the script is the call to the plugin.) You can call the plugin more or less directly using Filters/Map/Resynthesize. I'm not sure, but that seems to be broken too, not just Filters/Enhance/SmartRemoveSelection and so forth.
It strikes me that it might be the change to Gimp around selection that is affecting Resynthesize. It seems like when you select, it is different than it used to be in Gimp. I'm a new Gimp user, I don't understand how it used to be and how it is now, I'm still feeling it out. Something about: selection creates a mask, and copy just copies the mask, not the image. Copy Visible does something else. Anyway, it strikes me that this change might have affected plugins like Resynthesize that read the current selection. Maybe there is a workaround.
I'm looking at the code, no promises.
Someone could report this bug to Ubuntu, it doesn't seem to have been reported there.

I've been playing with it.
Resynthesizer doesn't always seem to work as expected. I tried it on some examples posted to the web (the donkey picture from another texture synthesizer paper) and resynthesizer worked as advertised.
But it still is not working as I expect. I am working with grayscale, 2000 pixel square image from an old ink stippled art. I use the plugin directly (not via scripts, ie using Filter>Map>Resynthesizer. It produces what is described elsewhere in this thread: replaces the selection with mostly white. I tried futzing with the parameters, to no avail. I am selecting a small horse within a small homogeneous image of a pasture. I would have expected it to sample or clone the neighborhood, the pasture around the horse, but it seems to sample the whole image, which includes many other textures.
The algorithm as I understand it so far looks for a best match in the whole image. It has a limit on how many matching attempts it makes. Maybe there are too many good matches in a grayscale, or maybe the image is so large that it doesn't find a good match within the limit. Maybe it starts looking in the upper left, and the best match comes from the white sky until the limit is reached.
It could be just a limitation of the plugin, a special case that it was not designed to handle (it seems like other texture synthesizers wrestle with special case images.) Or it could be user error, ie not understanding how to set the controls (or whether the script sets the parameters for this case better.) Or it could be a bug.
butch
plashless, off banks of noon

"I am working with grayscale, 2000 pixel square "
Depend what you mean for "Grayscale"
If the image is in Grayscale IMAGE MODE most Gimp plugin will not work at all..but some may try to work with delusive results
But is easy to solve :
Image/Image mode/RGB
, this will not change the look of the image in any way, but will allow the Gimp plugin to work as they should.
(of course if your image looked as a greyscale but was already in RGB mode problem is somewhere else...but check it !! )

Yes, it is fixed in the script called "Heal selection" on this site. (Name changed from "Smart remove selection" to "Heal selection.")

However, the fix doesn't yet seem to be included in the latest distributions of Gimp or Linux.

So for now, you have to download the fixed script from this site.

Boring details about when the fix might be included in Gimp:
I submitted the fix to the Ubuntu bug tracking system, and I have emailed one person who maintains the resynthesizer package for Linux releases, but evidently he has not gotten around to it yet. Also, I don't know who maintains the Windows version of Gimp and whether the fix will eventually wend its way there. Also, I don't know whether the Gimp project itself maintains the resynthesizer plugin. Also, the Gimp project and Linux distributors may be waiting on the original author, Paul Harrison, to release a new version of resynthesizer, but he probably has moved on to other projects. In other words, the ownership and chain of command for resynthesizer is confused. More generally, open source software is made by volunteers and coordinating them is difficult sometimes leading to delayed fixes especially at the fringes.

ubuntu (not sure for other distro) include R with a selection of other plugins in a gimp plugin pack

As far i know schumaml compiled last Windows version but anyway nobody is maintaining the plugin (Harrison side is not updated by years )
So there is no chain of command who want improve/maintain it may just go for it ( respecting GPL )

I had the idea to recompile for Windows mainly to do a trivial but in my vision useful change to its registration path,( to include all scripts based on Resynthesizers , including your last ""Heal selection." and other sparse here and there in a same Resynthesyzer submenu
Then the idea was to include all scripts with the plugin win binary in the same zip

I'm using gimp 2.8 on Windows 7
I downloaded Resynthesizer from various sites including from the Gimp Plug-in Registry. I watched tutorial videos on how to install the Resynthesizer in Gimp and followed every step correctly but when I test it on a picture this message pops up: