bootchk / resynthesizer

Suite of gimp plugins for texture synthesis
GNU General Public License v3.0
1.42k stars 163 forks source link

Resynthesizer core as GEGL operation? #32

Open prokoudine opened 8 years ago

prokoudine commented 8 years ago

Hi Lloyd,

Would you be interested in implementing Resynthesizer's core as a GEGL operation so that it could gain an even wider use? There could be all sorts of interesting things possible, e.g. https://blogs.adobe.com/photoshop/2016/05/content-aware-crop.html.

bootchk commented 8 years ago

Yes, I would certainly consider it.

An architectural issue is that it fundamentally is a search algorithm, in a random order. It doesn’t process pixels in scanline order. Tiling does little to improve its performance. (If that is pertinent, I am not that familiar with GEGL.)

Another issue is that there are many alternative “in-painting” algorithms, for example OpenCV has one. It might be easier to hook that into GEGL. Or it might be better to hook Resynthesizer into OpenCV, then hook GEGL into that.

Another issue might be political, related to why Resynthesizer is not already part of the GIMP distribution. It is much code, for a filter. The coding style doesn’t meet the standard. At one time, it was C++. Does GEGL have a build system that accommodates 3rd party libraries (if the Resynthesizer is a library, with a GEGL wrapper?)

A while ago, I looked at plugging Resynthesizer into the Krita plugin framework. I just never got past the learning curve for a new plugin framework that has only brief documentation.

Re context aware crop. I am not sure that requires Resynthesizer. Another of my repositories is a Gimp plugin for “saliency” and a library for same. (I might have left it in a broken state, at least not easy to build.) Saliency is glorified edge detection. I have given some thought to its use in automatic cropping. Again, I think you could write a Gimp plugin for automatic cropping, but it wouldn’t necessarily need Resynthesizer, it could use a saliency filter and other filters (segmentation?) from OpenCV.

I do sometimes read the literature and consider other uses for Resynthesizer.

On Jun 28, 2016, at 9:55 AM, Alexandre Prokoudine notifications@github.com wrote:

Hi Lloyd,

Would you be interested in implementing Resynthesizer's core as a GEGL operation so that it could gain an even wider use? There could be all sorts of interesting things possible, e.g. https://blogs.adobe.com/photoshop/2016/05/content-aware-crop.html https://blogs.adobe.com/photoshop/2016/05/content-aware-crop.html.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/bootchk/resynthesizer/issues/32, or mute the thread https://github.com/notifications/unsubscribe/AAq4EXvbYz8qAc6Pp9RmqREJTUP3QvmIks5qQSfagaJpZM4JAIDT.

magdesign commented 5 years ago

Any news on "Resynthesizer for Krita" ?