This is a suite of revised and new resynthesizer plugins.
I have assumed maintenance of the Resynthesizer from the original author Paul Harrison.
This is version 1.0.
The source is now at github.com (a public repository like SourceForge). Search for user "bootchk", repository "resynthesizer." For more information, see the README and ChangeLog and NEWS files there (you don't have to download them.)
!!! The attached executables are Linux files. DO NOT download them for Windows. Also do NOT download the Python scripts for Windows (they won't work with the old resynthesizer.exe.) I have built the resynthesizer and tested on Windows, but have not finished an installer for Windows. If you are adept at building, download the source and build Windows executables yourselves.
A short summary of changes for users is:
- bugs are fixed
- alpha-agnostic: less hassle with alpha channels
- its bundled: most plugins that use the resynthesizer
For programmers:
- rewritten in C and Python, in Gimp style
- GNU build tool makefiles
- engine separated from the GUI control panel
| Attachment | Size |
|---|---|
| resynthesizer.tar.gz | 67.32 KB |
Comments
To make it work in 2.8
Just rename or make a symbolic link:
/usr/lib/gimp/2.0/plug-ins/resynthesizer --> /usr/lib/gimp/2.0/plug-ins/plug-in-resynthesizer
It works for me.
Ubuntu 12.04 64bit, GIMP 2.8, resynthetizer from gimp-registry-plugins (ubuntu package)
Not working on 2.7.4 64-bit kubuntu 12.04
Downloaded the tar.gz from the link, unpacked it and put everything in ~/.gimp-2.7/plug-ins. Start gimp-2.7, load an image, make a small selection, then Filters>Enhance>Heal Selection. Choosing it brings up a small gui with boxes for Context sampling, Sample from and filling order. Selecting OK brings up the following error messages:
eoor: procedure not found
More information:
Traceback (most recent call last):
File "/opt/gimp/lib/gimp/2.0/python/gimpfu.py", line 699, in response
dialog.res = run_script(params)
File "/opt/gimp/lib/gimp/2.0/python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "/home/greenman/.gimp-2.7/plug-ins/plugin-heal-selection.py", line 148, in heal_selection
pdb.plug_in_resynthesizer(timg, tdrawable, 0,0, useBorder, work_drawable.ID, -1, -1, 0.0, 0.117, 16, 500)
error: procedure not found
and
Calling error for procedure 'gimp-procedural-db-proc-info':
Procedure 'plug-in-resynthesizer' not found
Clicking cancel brings up the following:
WARNING: Plug-In "plugin-heal-selection.py"
(/home/greenman/.gimp-2.7/plug-ins/plugin-heal-selection.py)
called deprecated procedure 'gimp-selection-combine'.
It should call 'gimp-image-select-item' instead!
This is starting with a "clean" gimp-2.7 installation, ~/.gimp-2.6 renamed before starting gimp-2.7, so no old plugins copied over.
Thanks!
Thank you. Now I'd like to read about how the old dialogue works and how is used in v1.0.
Edit:
Sorry, this reply was for @deif, "Use "Filters->Enhance->Heal selection"" subject.
Memory issues
Please somebody take time to look into memory usage / allocations, etc.
I noticed that in 'resynth-map-types.h' there are two 'g_malloc' instructions, one of them taking a 'guint' as a parameter and the other one taking a 'gint'. That is limiting the maximum memory allocation to 4GiB and 2GiB respectively. That's just too low for some huge images.
Please change the parameter type to 'gsize' so us 64-bit users can allocate ~18 Exabytes. :)
Also I noticed that with an image roughly 7500x7500, with a selection taking almost the whole image, and using the command 'Heal selection', in 'resynthesizer.c', line 651 (function prepare_sorted_offsets(), instruction g_array_sized_new), it tries to allocate 1809372168 bytes (~1.8GiB) which I don't have at the moment of executing the script (roughly 1.1GiB free, almost all of them from swap).
My system has 2GiB RAM + 2GiB swap, and I'm trying to fill a black section of an image which is the result of a panorama stitch. The stitching process leaves black areas for zones without data, such as the nadir (the ground). The resulting images are usually huge in size (e.g. 20k * 10k), but they can be broken into 6 cube faces for easier processing. The problem is that the ground face usually contains large black areas (unless you shoot absolutely everything 360ºx180º).
I mentioned that cause it's an interesting use case.
With the current memory usage of this plugin these things become almost impossible to do in memory limited systems.
Please look into any memory optimization you could think of.
RAM may be cheap, but free RAM slots are not. ;)
I know windows is not your priority...
I am amazed at the contribution of time and talent that goes into building these great plug-ins. Thank you.
If you had already built and tested a Windows version a month ago, PLEASE, PLEASE make it available: No, we are lowly Windows users not 'adept' at compiling our own executables; nor do we have tools to do it.
It is a shame that all Gimp users do not have access to this wonderful plug-in.
there is a Windows version
here http://aljacom.com/~gimp/Resynthesizer_v1.0-i686.zip
But is true that in the plugin descrition there is not a link for the Windows binary
Why aren't the tools showing up?
I followed the readme instructions, placed the .exe and .py files in the lib>Gimp 2.0>plug-ins folder, restarted GIMP, but only resynthesizer is in the menu; all of the other related plugins are missing. I'm running Windows 7 64-bit. Is this the problem? If so, can I get a 64-bit version somewhere?
EDIT: I think I found a 64-bit version, here: http://www.aljacom.com/%7Egimp/bootchk-resynthesizer-0db24a9-64bits.zip
The files look basically the same... but I still have the same problem. Map>resynthesize seems to work fine, but everything else is missing.
Do I need to install python or something (I'm not very experienced with this plugin stuff, so I'm just guessing)?
I really appreciate help with this. I adored this plugin even when it was half-broken before! :)
Q : Do I need to install
Q : Do I need to install python ...
Python must be installed to run the plugins (files .py).
(http://www.aljacom.com/%7Egimp/bootchk-resynthesizer-0db24a9-64bits.zip => Gimp 64bit)
You can try with python versions pre-installed :
http://sourceforge.net/projects/gimp-win/files/GIMP%20%2B%20GTK%2B%20%28...
http://partha.com/downloads/Gimp-2.7.5-portable64bit.exe
Thanks! Some plugin problems though.
I installed the one from partha.com and it even had the plugin already installed! Heal Selection and Resynthesize work. I got an error when I tried to run Render>Texture, though:
WARNING: Plug-In "plugin-render-texture.py"
(C:\Clif's Realm\Image Programs\gimp-2.7.5\lib\gimp\2.0\plug-ins\plugin-render-texture.py)
called deprecated procedure 'gimp-image-add-layer'.
It should call 'gimp-image-insert-layer' instead!
Also, I'm noticing that "Heal Selection" isn't working the way I remember; it used to be that I could run it multiple times in a row and it would heal the selected area a different way each time. This made the plugin really useful since I could just press Ctrl-F to re-fill the selection if the first synthesis didn't look right. Right now, when I select an area, run "Heal Selection", and then run it a second time, it produces the same synthesis the second time (and any future times I run it). This is frustrating, because it doesn't produce a good synthesis every time.
Is it because of the portable Gimp?
I read once that Resynthesizer uses the system clock to generate its random seeds: http://registry.gimp.org/node/15118#comment-8281
Is there a reason why it might not do this properly in the portable version of Gimp from partha.com? I'm thinking it's using the same random seed each time for some reason.
You can try the old version :
You can try the old version : http://registry.gimp.org/node/25339
Both versions can be installed without interfering.
You should ignore the warnings of Gimp 2.7.
Tried it, but it doesn't work right
It has the old problem where it always tries to fill using material from the upper left of the image. So unfortunately it's useless for most images. But I don't remember which files I downloaded back when to get it to work properly, or what version of GIMP I was using.
Thank you...
... that's precisely what I needed for a project I'm working on.
2.0 ?
bootchk, how about that 2.0 package in the Github (https://github.com/bootchk/resynthesizer)?
Is it a new version?
Well, I've downloaded and compiled it to work with my 64-bit system here.
It is working (with results not as "ready" as the ones given by the very first version but is ok).
I'm posting to report an observation about "make install". It:
1) moved the pythons scripts to /usr/local/lib/gimp/2.0/plug-ins
2) moved the binaries to /usr/lib/gimp/2.0/plug-ins
However, this way only Resynthesize was avaiable inside GIMP - no filters under Enhance.
I moved all files (both binaries and scripts) to /home/user/.gimp-2.6/plug-ins, and now all other Enhance Filters appear to me (Heal Selection, Uncrop etc).
Thank you, bootchk!
No good results with v1.0
Hello.
Thanks for continuing the Resynthesizer project!
I think the 1.0 plugin is not working properly. Using the plugin v0.16 and v1.0 (2011-09-12 from Git) with similar configurations, with 1.0 I do not get good results. The settings were the default in both, but unchecking the options "Make horizontally tileable" and "Make tileable vertically." I attached an example of the results obtained when trying to remove the rectangle from the center of the image:
http://www.image-share.com/upload/922/36.jpg
Tested on Kubuntu. v0.16 with Gimp 2.6.11 and v1.0 with Gimp 2.7.3
Use "Filters->Enhance->Heal selection"
The new resynthesizer plugin has introduced new commands, and the old command of Filter->Map->Resynthesize has changed its meaning.
To get the previous behavior you have to use "Filters->Enhance->Heal selection".
Thanks!
Thank you. Now I'd like to read about how the old dialogue works and how is used in v1.0.
Thanks !
Thank you VERY much for Resynthesizer ! I use it not very often but when I use it - it is very useful ! Really great job ! Thanks !
@phoinx
(Sorry, but I guess I didn't hit "reply" to your last post, so it put my reply here, with no recourse to move it.)
Thank you!
Are glib-gettextize, gimp-2.0 and gimpui-2.0 necessary?
By the way, it appears that something is wonky with the github page. On the page that you linked, I had been clicking on that "downloads" button with javascript disabled, and it took me to https://github.com/bootchk/resynthesizer/downloads showing the message: "Sorry, there aren't any downloads for this repository." That message is misleading.
Had you not provided a link with instructions on clicking the very same button, I would have never wondered why the "downloads" button worked for you, while, for me, it simply gave a message that there were no downloads in the repository. I enabled javascript, and I got a dialog box with the choice of downloading a tarball or a zipball.
However, after I downloaded the tarball using the button on the dialog box, I disabled javascript and clicked again on the "downloads" button in the page you linked, and it took me to yet a different page: https://github.com/bootchk/resynthesizer/archives/master This new page contains download links to the tarball and zipball, and it seems to work regardless of whether javascript is enabled or disabled.
Someone should look into fixing the confusing/misleading page(s).
Thanks!
github pages misleading
The github pages you refer to are programmed by github.com (not by anyone who uploads software to the site.) You should complain directly to github.com. I agree with you, it can be confusing.
Procedure 'plug-in-resynthesizer' not found
I'm receiving this error. Does anyone know a workaround?
I already extracted the files into /usr/lib/gimp/2.0/plug-ins/ and made them executable.
The message: "An error occured running python_fu_heal_selection"
Traceback (most recent call last):
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 692, in response
dialog.res = run_script(params)
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 353, in run_script
return apply(function, params)
File "/usr/lib/gimp/2.0/plug-ins/plugin-heal-selection.py", line 148, in heal_selection
pdb.plug_in_resynthesizer(timg, tdrawable, 0,0, useBorder, work_drawable.ID, -1, -1, 0.0, 0.117, 16, 500)
error: procedure not found"
Procedure not found
It's saying your resynthesizer plug-in isn't found. Did you extract all the files into your plug-ins folder?
Procedure 'plug-in-resynthesizer' not found
Yes.
Try to transfer files
I had a similar error in Ubuntu NN and Gimp 2.7.2.
I moved the files resynthesizer and resynthesizer-gui
for / home/ ~~ / gimp-2.7/plug-ins - and began to operate properly...
Procedure 'plug-in-resynthesizer' not found
Hi! Thanks for the idea, but...
Moved only resynthesizer and resynthesizer-gui to /home/user/.gimp-2.6/plug-ins/ (leaving others in /usr/lib/gimp/2.0/plug-ins/): didn't work.
Moved all files do /home/user/.gimp-2.6/plug-ins/: didn't work either.
Also, I tried duplicating all files in both places: no luck.
What versions ?
What is your system and version of Gimp ?
Is the plugin resynthesize appears in the menu GIMP [Filters / Map]?.
Have you installed the resynth or resynthesize old ?
Procedure 'plug-in-resynthesizer' not found
I'm using Linux Mint 10 Julia 64-bit and GIMP 2.6.10.
Filers > Map > Resynthesize does NOT appear!
(Filters > Enhance > Heal Selection does.)
I'm trying to use this version (1.0). I have not tried with any older version - so there shouldn't be file conflicts.
(Btw, I know there is a gimp-resynthesizer 0.16 available through the software channel, but I haven't installed that.)
Nothing new
Nothing new I can not advise on how:
it seems that for 64-bit only option is to compile from source (and this is just the first time is tough - but are good instructions Install and Readme: https://github.com/bootchk/resynthesizer )
Procedure 'plug-in-resynthesizer' not found
Thanks, MareroQ!
I compiled from source (and enabled execute permission for all files) and now both "heal selection" and "resynthesize" are available on GIMP. (Of course, I'm talking about resynthesizer and resynthesizer-gui - the python files are simple text.)
So: be aware, 64-bit people! =]
Can't find all of the files for compiling.
Hi,
I am using 64-bit Linux, and I can't find all of the files necessary for compiling this plug-in.
Could someone list each file needed for compiling, along with a link to each file?
Thanks!
github.com/bootchk/resynthesizer
I got the files from here:
https://github.com/bootchk/resynthesizer
(Click on the "Download" button.)
In the bottom of this page are the instructions.
The only missing files for me were:
glib-gettextize, got installing libglib2.0-dev;
gimp-2.0 and gimpui-2.0, got installing libgimp2.0-dev.
I hope this helps.
not compiling correctly for me
I followed your suggestion and compiled from the git source but the plug-in does not register within GIMP. It looks as though everything went fine when compiling and both resynthesizer and resynthesizer-gui are located in /usr/lib/gimp/2.0/plug-ins/ so I'm not too sure what's going awry here. The only thing that looks off is that there are no new python script files in the plug-ins directory.
Is there anything else that you did besides ./autoconfig.sh-->./configure-->make-->sudo make install to make the plugin work?
It helps! Please see reply
It helps! Please see reply in main part of thread.
May be a confusion The
May be a confusion
The scripts for resynthesizer posted on this site, including Heal Selection will NOT work with this last version of the plugin
BUT all the equivalent script are included in the plugin zip now.
Easy see the difference for Heal Selection:
heal selelection.scm is for the older version, replaced now by Heal selection.py
(note different extension )
But on Win you will need Python support to run any of the script now included in R, because are all python script
Really?
EDIT - sorry - looks like I made a mistake, and have the old and new both installed? I have a resynth.exe a resynthesizer.exe and a resyntyhesizer-gui.exe in my plugin folder now...
Plus, I can't get the python version to would as I expect it should. here is a sample of the two compared to each other:
EDIT: this was because I had an older version installed as well...works fine when I deleted that one
-Rob A>
This is my result using new version
It has performed very well in multiple cases of its use.
Didn't bootchk also revamp the scm version. I do not believe Rob is trying to discredit bootchk at all. It seems more like we have so many options with this plug-in that we need to start organizing what we have and keeping the two versions separated in some form or fashion.
True
The issue was the old and new versions created had different file names for the plugin (resynth for the old, resynthesizer for the new) but registered with the same pdb name and even had the same number of parameteres, but behaved differently.
-Rob A>
Is it possible...
Now that you mention the PDB issues, could this have been related to why I could not successfully use 0.16, because I possibly had both resynthesizer files in the plug-ins folder. I've never gave the idea of having two files any thought. I would think it would have thrown errors, before actually working.
I'd experiment and test this theory, but I'm happy with the newest version.
resynth / resynthesizer
Bonjour,
@ ffaat
Can you remove the image (..../2011-05-31_091945.jpg) of your tests that does not correspond to reality?
If you want to use the 2 versions simultaneously you can download from this page :
http://registry.gimp.org/node/25339
Sources are in the archive.
no edit?
I see no way to edit an existing post from a previous session, this might have to be done by the site manager.
-Rob A>
image
Bonjour,
Excuse me, I was wrong on the name of the author.
Done
I removed it.
image
Bonjour,
Thank you very much!
Too bad that the 2 versions
Too bad that the 2 versions are not compatible...would be no sufficent change the plugin name in the plugin registration block to avoid conflict ?
The new version work better in most cases but as Lylejk wrote , there are corner cases that the older was handling better
2 versions compatible
Bonjour,
http://registry.gimp.org/node/25339
That's why I've kept the old
That's why I've kept the old resynthesizer too. New one that works with the Python and the old one that works with the script-fu (better for healing imo). The new version has it's good sides, but it doesn't work well for healing or when I want to feel outside a container the contents thats on the inside of the container (hope I'm describing that right). Haven't decided yet to hose the new Resynthesizer yet Rob. They both work happily together so leaving it that way for now. :)
Resynthesizer incompatibility
Hey, I'm not taking any offense at any comments.
In hindsight, I am beginning to regret the change that caused much of the problem: not inverting the selection within the resynthesizer engine. But what's done is done, I have no plans to undo the change, that would just cause more confusion.
I also should have considered that some users might not have Python installed.
So thanks Rob for providing Scheme scripts that work with the new engine.
If there is anything administrative I should do to ease the problem, please let me know. Maybe put Rob's scripts in the git repository?
As I see it, for Window's users who don't have Python installed, an installation should include the engine, the engine-gui (both compiled) and the two Scheme scripts: Heal selection and Fill with resynthesized pattern (both Scheme scripts.) I am not sure any other plugins need to be fixed in their Scheme versions, or rewritten in Scheme if no old version exists. I would prefer to insist that users who want the other resynthesizer plugins install Python. As far as I know, the other plugins (e.g. Enlarge resynth, Sharpen resynth, Map style, Render texture, Heal transparency) are rarely used.
Most windows historically don't have python...
Most installations on windows don't have python, though this should change, as I understand the upcoming versions of gimp will ship with python in the installer (much like inkscape already does).
-Rob A>
32 x 64-bit?
I'm using Linux Mint 10 here.
In my laptop, 32-bit, it works right.
In my desktop, 64-bit, it works the old way (select, then Map > Resynth).
Any ideas why?
Btw, thanks for taking the lead of Resynthesizer, bootchk!
Sorry if I
Sorry if I misunderstood.
Quote: - GNU build tool makefiles.
I untarred but don't see any make file.
The binaries are for 32 bits.
I run Gentoo 64 bit multilib.
Will it work if I copy the files to ~/.gimp-2.6/plug-ins?
Thanks for your work anyway.
Gerard.
Edit: found the sources at github.com that contain it all.