How bootchk/resynthesizer works
Resynthesizer is a GIMP plugin suite backed by a reusable C texture-synthesis engine. The principal result is synthesized or transformed image content: GIMP-facing code adapts drawable data and parameters for the engine, which performs synthesis. An expert control panel separately invokes the engine plugin through GIMP’s procedure database (PDB). The README names a broader plugin suite, but sampled plugin excerpts do not establish their individual runtime calls; those links are therefore omitted. The graph shows documented capabilities and only evidenced control-flow relationships.
Main entry points: engine.c Synthesis engine · resynthesizer.c Engine plugin · resynth-gui.c Control panel · resynth-parameters.h Plugin parameters
Components 22
GIMP Plugins
- Heal selection
PluginScripts/plugin-heal-selection.py - Heal transparency
PluginScripts/plugin-heal-transparency.py - Map style
PluginScripts/plugin-map-style.py - Render texture
PluginScripts/plugin-render-texture.py - Enlarge
PluginScripts/plugin-resynth-enlarge.py - Fill pattern
PluginScripts/plugin-resynth-fill-pattern.py - Sharpen
PluginScripts/plugin-resynth-sharpen.py - Uncrop
PluginScripts/plugin-uncrop.py
GIMP Integration
- Control panel
src/resynthesizer-gui/resynth-gui.c - Settings UI
src/resynthesizer-gui/resynth-gui.h - Engine plugin
src/resynthesizer/resynthesizer.c - Drawable adapter
src/resynthesizer/adaptGimp.h - Simple adapter
src/resynthesizer/adaptGimpSimple.h - Plugin parameters
src/resynth-parameters.h
Synthesis Core
- Engine parameters
lib/engineParams.h - Synthesis engine
lib/engine.c - Image formats
lib/imageFormat.h - Image maps
lib/map.h - Target ordering
lib/orderTarget.h - Patch synthesis
lib/synthesize.h - Threaded refinement
lib/refinerThreaded.h
Other components
- GIMP user
Connections 15
- GIMP user → Control panel: opens controls
src/resynthesizer-gui/resynth-gui.c - Control panel → Settings UI: builds UI
src/resynthesizer-gui/resynth-gui.c - Control panel → Plugin parameters: reads settings
src/resynthesizer-gui/resynth-gui.c - Control panel → Engine plugin: invokes via PDB
src/resynthesizer-gui/resynth-gui.c - GIMP user → Engine plugin: runs plugin
src/resynthesizer/resynthesizer.c - Engine plugin → Plugin parameters: parses settings
src/resynthesizer/resynthesizer.c - Engine plugin → Drawable adapter: adapts drawables
src/resynthesizer/resynthesizer.c - Engine plugin → Simple adapter: converts image
src/resynthesizer/resynthesizer.c - Engine plugin → Synthesis engine: runs synthesis
src/resynthesizer/resynthesizer.c - Synthesis engine → Engine parameters: uses parameters
lib/engine.c - Synthesis engine → Image formats: uses formats
lib/engine.c - Synthesis engine → Image maps: operates on maps
lib/engine.c - Synthesis engine → Target ordering: uses target order
lib/engine.c - Synthesis engine → Patch synthesis: synthesizes patches
lib/engine.c - Synthesis engine → Threaded refinement: refines matches
lib/engine.c