You are here

Resynthesizer v1.0 released

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 1
Rate this item!

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 (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

resynthesizer.tar.gz67.32 KB
GIMP Version: 
Code License: 


I have tried all kinds of variations. Gimp 2.6, Gimp 2.8, Python 2.7.3, and Python 3.2.3 to no avail. I also have tried the package where you copy the files into the plugins directory for .16 and 1.0 as well as the executable that loads .16 autmatically.

I have tried various 'demo' pictures to replicate the effect understanding that it will not work in every situation.

I get one of two results: either the selected content is effectively put in a blender and not removing it as expected or the process copies from the top part of the image and inserts it. I have validated the 2nd scenario by making it a bigger section so that I can verify the content. Either case, it does not seem to grab from outside of the selected area to 'resynthesize'.

Any thoughts? My machine is Win7. Looks to be a very cool effect if I can just replicate it! >grin<

Thanks in advance for your any assistance.

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)

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/", line 699, in response
dialog.res = run_script(params)
File "/opt/gimp/lib/gimp/2.0/python/", line 361, in run_script
return apply(function, params)
File "/home/greenman/.gimp-2.7/plug-ins/", 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


Calling error for procedure 'gimp-procedural-db-proc-info':
Procedure 'plug-in-resynthesizer' not found

Clicking cancel brings up the following:
WARNING: Plug-In ""
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.

Thank you. Now I'd like to read about how the old dialogue works and how is used in v1.0.

Sorry, this reply was for @deif, "Use "Filters->Enhance->Heal selection"" subject.

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 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.


But is true that in the plugin descrition there is not a link for the Windows binary

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:
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 python ...
Python must be installed to run the plugins (files .py).

( => Gimp 64bit)

You can try with python versions pre-installed :

I installed the one from 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 ""
(C:\Clif's Realm\Image Programs\gimp-2.7.5\lib\gimp\2.0\plug-ins\
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.


Subscribe to Comments for "Resynthesizer v1.0 released"