Paul Harrison
logarithmic.net · Personal blog · on HN since 2008
Paul Harrison is a developer who makes Resynthesizer, a GIMP texture synthesis plugin, along with tiling generators and other small projects.
What HN saysHN links it for Resynthesizer's object-removal feature, which commenters remember fondly. One notes the author has stopped maintaining it and wants a successor.
26HN people shared it
17linked it in comments
10stories submitted
69story points
1 year agolast shared
2008people per year2026
Most-shared posts
- 1Resynthesizer7 people · first shared 2010
- 2The Rational Street Performer Protocol3 people · 1 points · first shared 2009 · discussion on HN
- 3Cats and Dogs - a one dimensional theory of character2 people · 26 points · first shared 2008 · 10 comments on HN
- 4Ghostsurn: Generate Hexagon Tilings2 people · 5 points · first shared 2024 · 1 comments on HN
- 5Dissertation.pdf2 people · first shared 2014
- 6Ghost diagrams2 people · first shared 2016
- 7Ghost Diagrams (tile pattern generator in Javascript/SVG)1 people · 23 points · first shared 2010 · 8 comments on HN
- 8Parsing dates and time in python1 people · 11 points · first shared 2009 · 2 comments on HN
- 9Melodic Clojure1 people · 1 points · first shared 2009 · discussion on HN
- 10Surprise is the KL-divergence between prior and posterior1 people · 1 points · first shared 2023 · discussion on HN
- 11Gender inference: uncertainty vs fuzziness1 people · 1 points · first shared 2011 · discussion on HN
- 12Blog 011647900081 people · first shared 2010
- 13Ghost diagrams 0.81 people · first shared 2010
- 14Thesis1 people · first shared 2010
- 15Removal1 people · first shared 2025
What HN people wrote when they linked it
KaiserPro · 2025-09-07
Oh man it was fucking great.
I had a shitty pentium or mmx, with fuck all ram, my dad however had a DUAL PROC P3 monster just a network hop away.
I could SSH in and run GIMP on his machine and run https://logarithmic.net/pfh/resynthesizer/removal in a quarter of the time.
But that time has passed now. Perhaps web APIs are the best way to do that kinda offload.
ExUtumno · 2016-09-30
Thanks!
I'm not sure, but I think that Penrose tilesets are what I call "easy": you can't run into a situation where you can't place a new tile. It would be great if someone here could confirm or deny this.
So if this is the case, then Penrose tilesets are not interesting to WFC, because you can produce arbitrary tilings with much simpler algorithms.
Right now though WFC is only working with square tiles, but it's not hard to generalize it to arbitrary shapes. Paul F. Harrison made a tiling program that supports hex tiles: http://logarithmic.net/pfh/ghost-diagrams See also the relevant paragraph in the readme (just search the word "easy").
sp332 · 2014-12-03
FTA: The “TextureSynthesis” method is based on the algorithm described in “Image Texture Tools,”[1] a PhD thesis by P. Harrison. This algorithm is an enhanced best-fit approach introduced in 1981 by D. Garber in “Computational Models for Texture Analysis and Texture Synthesis.”[2]
[1] http://www.logarithmic.net/pfh-files/thesis/dissertation.pdf
[2] http://dl.acm.org/citation.cfm?id=910609
jwise0 · 2014-12-03
I wish that the Wolfram articles would describe a little more about what their algorithms do, rather than the mechanics of how to use their primitives. The articles remind me some of the era of web engines optimized for a specific task -- there were plenty of MVC frameworks that work really really well for writing a todo list in 25 lines, but doing anything more complicated than a todo list meant dissecting the guts of the framework.
It'd be great to hear how they did an efficient implementation of texture synthesis. But if you want to read at least about the basics, the dissertation they linked [1] gets into the details on page 18, anyway, in section 2.2 (and beyond).
[1] http://www.logarithmic.net/pfh-files/thesis/dissertation.pdf
shimonamit · 2010-03-28
The author writes on his homepage he is no longer maintaining it and hasn't been following the GIMP API changes. He is also looking for someone to take over:
http://www.logarithmic.net/pfh/resynthesizer.
(I forgot where I read about the "since 2.4" part.)
patrickas · 2010-03-24
This is amazing and all, but this technology has been available for GIMP users for years. I have been using something very similar since 2004 or 2005.
http://www.logarithmic.net/pfh/resynthesizer
This page http://slacy.com/blog/2005/04/cool-image-processing/ shows you how to use it to remove an object which will be automatically replaced by surrounding texture (similar to first example in video)
This page http://schwarzvogel.de/resynth-tut-sa.shtml shows an example of growing and image by auto-filling the missing edges around a photo (similar to last example in the video)
I suppose the new algorithms in PS are better, but still it's been over 5 years now :-)
Someone · 2019-08-14
”using the opensource equivilent of Content Aware Fill (is there an FOSS equal?)”
https://en.m.wikipedia.org/wiki/Seam_carving#Implementations:
”Adobe Systems acquired a non-exclusive license to seam carving technology from MERL, and implemented it as a feature in Photoshop CS4, where it is called Content Aware Scaling. As the license is non-exclusive, other popular computer graphics applications, among which are GIMP, digiKam, ImageMagick, as well as some stand-alone programs, among which are iResizer, also have implementations of this technique, some of which are released as free and open source software”
Seam carving removes stuff, but the principle is the same. The Gimp plug-in is http://www.logarithmic.net/pfh/resynthesizer, and apparently also can do the filling-in. I haven’t used it, so I don’t know how good it is.
quadrangle · 2019-03-19
The RATIONAL Street Performer Protocol is even better http://www.logarithmic.net/pfh/rspp
And that's the closest of the various older theoretical models to the proposed solution of Crowdmatching being worked on at https://snowdrift.coop
homarp · 2018-09-22
for content aware fill and heal brush
both GMIC ( https://patdavid.net/2014/02/getting-around-in-gimp-gmic-inpainting.ht… and resynthetizer ( http://www.logarithmic.net/pfh/resynthesizer ) are working quite OK.
pfd1986 · 2017-07-12
you might also enjoy playing with 'ghost diagrams':http://logarithmic.net/pfh/ghost-diagrams
kardos · 2016-07-14
Sounds like the "content aware fill" algorithm [1], only for small scale features that are somehow stitched onto the low-resolution image
[1] http://www.logarithmic.net/pfh/resynthesizer
oxplot · 2015-06-11
Resynthesizer plugin for GIMP [1] by Dr. Paul Harrison lets you do those stuff and more (e.g. removing an object from a scene). Also look at Mathematica's digital inpainting function [2] which achieves the same thing.
[1]: http://www.logarithmic.net/pfh/resynthesizer
[2]: http://blog.wolfram.com/2014/12/01/extending-van-goghs-starry-night-wi…
hackermom · 2011-06-11
Yep. The Resynthesizer plugin: http://www.logarithmic.net/pfh/resynthesizer
Dananjaya · 2010-12-04
looking at the original version of it, which is written in Python helps to understand the whole scenario much better.. (Probably because I'm familiar with Python more than Javascript..)
http://www.logarithmic.net/pfh-files/ghost-diagrams/ghost-diagrams-0.8…
wmf · 2010-09-02
A VP-tree would be even better since it can do spell checking while you're at it: http://www.logarithmic.net/pfh/blog/01164790008
jcl · 2010-03-27
Probably not. There are a number of image inpainting, texture synthesis, and reconstruction algorithms that can be applied, with different behaviors regarding noise, color correction, detail scale, handling of regularity/irregularity, temporal coherence, run time, etc.
GIMP's Resynthesizer is based on a 2005 PhD thesis, while the Photoshop thing is probably based on a 2009 SIGGRAPH paper.
http://www.logarithmic.net/pfh/thesis
http://www.cs.princeton.edu/gfx/pubs/Barnes_2009_PAR/index.php
mbrubeck · 2010-01-02
Wow. Pratt's obsession with Kickstarter "ripping off" Fundable is especially silly considering that both are essentially variants of Kelsey and Schneier's Street Performer Protocol, published in 1998 [1]. (That paper is not even the first instance of the basic idea, just one of the most well-known.)
Edited to add: I'd be really interested to see one of these sites implement the Rational Street Performer Protocol [2], which essentially means that each donor pledges matching funds ("I'll donate $X for every $Y that anyone else pledges, up to a maximum of $Z"). This gives individuals a stronger incentive to pledge more; the hard part is coming up with a simple explanation that first-time users will understand.
[1]: http://www.schneier.com/paper-street-performer.html
[2]: http://www.logarithmic.net/pfh/rspp