Registered Member
|
Hi all,
I'm the developer of G'MIC (http://gmic.sourceforge.net), an image processing framework (done in C++), which basically defines a set of various image processing filters/effects/functions usable out-of-the-box for third-parties applications. This is a quite recent project (2 years). G'MIC can be easily embedded in any free software application since it is distributed as an external library (GPL-licensed). I was wondering if one would be interested to see some interactions between Krita and G'MIC. For informations, I've already coded a G'MIC plug-in for GIMP that provides some "interesting" (IMHO) features to GIMP, for image denoising (using my former GREYCstoration algorithm, which was already included in Krita once a time by Boudewijn), 3d rendering, color management, and so on... (there are about 180 filters available in the plug-in). Below is a screenshot of the plug-in in action : I was wondering how difficult it would be to allow interactions between Krita and G'MIC. G'MIC is already able to manage 8/16/32 bits/channel images, can deal with multiple inputs and outputs (as layers for instance). It is a quite complete image processing framework (more than 500 commands already defined), has its own scripting language interpreter, but still is relatively lightweight (the .so library file is about 3Mb). The G'MIC API is very easy to use, so the library should be quite easy to integrate or to use as a Krita extension if possible (here is an example of library use : http://gmic.cvs.sourceforge.net/viewvc/gmic/gmic/src/gmic_use_lib.cpp?view=markup). All is done in C++, so it seems to fit well with the Krita architecture. I personally see some interesting uses of G'MIC in Krita. First, contrary to GIMP, Krita allows the management of 16 bits/image easily, so any G'MIC filter could be run with this color precision (including denoising). I know that Krita is turning more and more to Artistic purposes (painting and sketching), and there could be some interesting filters in G'MIC for Krita users (I think more precisely about G'MIC filters like "B&W Sketch" http://www.flickr.com/groups/gmic/discuss/72157624425214456/, "Painting" http://www.flickr.com/groups/gmic/discuss/72157624397897094/, ..) There are filters to do frequency manipulations (FFT), automatic image alignment and morphing (by estimating displacement fields), deconvolution, tone mapping, etc.. So, my question is : is it a framework you could be interested in ? Regards, David. |
KDE Developer
|
Hi David,
Cool stuff! You're right that it would be interesting to have a plugin in Krita that exposes the functionality of g'mic, making it possible for the users to take advantage of all these cool tools. I do think that it would have to be an extension, hosted on extensions.krita.org, just like the original cimg filter is because we already package with Krita a technology that makes it easy to add lots of different filters, namely OpenShiva. |
Moderator
|
I think it would be a really nice idea.
Compared to the gimp plugin, ideally, instead of using a list view inside the filter configuration, I would go to create a krita filter for each g'mic filter (like it is already done for shiva filter, and use to be done for the script filter). |
Registered Member
|
Thanks Boudewijn and Cyrille,
that sounds really interesting. For me the difficulty is to design a 'template'Krita extension, where the only things done are : First, getting the image data from Krita, second, calling the G'MIC interpreter, and finally putting the image data back to Krita. Anyway, this shouldn't be so hard to do, since you already did the image conversion job in your former CImg extension (the image data are aligned the same way in G'MIC). Having this template, we would just have to modify the string parameter when calling the G'MIC interpreter to get the desired effect, like, in C++ : gmic("-smooth 20,0.7,0.7"); // to call the GREYCstoration algorithm. or gmic("-sketchbw 2,0,90,100"); // to call the B&W sketch algorithm. or gmic("-repeat 3 --r[-1] 80%,80%,1,3,2 -done -r [0],[0],1,3,0,0,0.5,0.5 -compose_edges 3"); // to get any custom G'MIC effect we want It would be very flexible. For instance the last call will generate this kind of image : [/img] Would you be OK to guide me through the design of such an 'atomic' extension ? Regards, David. |
KDE Developer
|
Aw, I completely forgot this forum discussion... The problem with forums is that posts don't show up in my mail client . Am I correct in thinking that g'mic only supports 8 bit RGBA data? I'll create a template plugin and post a link later today.
|
Registered Member
|
I use very often Gmic in Gimp. The number of features are just amazing, and keep discover settings with cool effect. Good job. For sure Gmic have the best filters I've ever tested, and so it would be a major improvement for Krita to got access to it.
|
KDE Developer
|
At http://www.valdyas.org/~boud/gmic.tgz has a (compiling) bare-bones plugin. It has a dialog where a string can be entered and a bit of code that shows how to access the layer data. It doesn't do anything The rest is up to someone else .
Unpack the plugin in krita/plugins/extensions and apply this patch to enable compilation:
|
KDE Developer
|
Hi,
I started to work on this and first basic thing is working: I can filter Krita layer, check https://mail.kde.org/pipermail/kimagesh ... 11787.html
Daylight is coming...
Krita developer | http://lukast.mediablog.sk/log |
Registered Member
|
hi first thank you for this awesome job to put G'MIC filters into krita!
i don't know if its the right section but i tried the latest windows build 2.7.8.27 and when i try to use a gmic filter, it krashes i pur a video screen: https://drive.google.com/file/d/0B8zoN2 ... sp=sharing i assume it's because windows release are not so stable, any idea? sorry for my not so good english. |
KDE Developer
|
It was disabled on Windows recently. The compiler appears to have a problem with gmic on Windows.
|
Registered Member
|
ok thank you for this reply.
|
KDE Developer
|
We have G'mic plug-in in Krita in quite a good state these days. I plan to spend 5 days working on G'mic to improve it further.
But I need some feedback from artists, what is the most important for you right now? How to test G'mic in Krita: You need Krita 2.8. or better Krita 2.9 beta, go to Layer -> Apply G'Mic action Here is my TODO list, list of broken things: http://quickgit.kde.org/?p=calligra.git ... mic%2FTODO Please pick something from it or feel free to request something that I forgot to include: e.g. interactive colorize is something that was added recently to G'Mic and it is not integrated in Krita's version Please speak up now!
Daylight is coming...
Krita developer | http://lukast.mediablog.sk/log |
Registered Member
|
If I can't pick Colorize[interactive] I would be interrested in :
|
Registered Member
|
- separate included gmic code to stand-alone library and link dynamically
- support for zooming/panning preview - gmic is located under Layer -> Apply Gmic action, it supposed to be in Filters Patiently waiting for interactive color to be added soon |
Registered Member
|
in no particular order. Not sure how much work each ticket item is
* gmic is located under Layer -> Apply Gmic action, it supposed to be in Filters * support for zooming/panning preview * implement progress bar for filters and preview * preview area needs border and scrollbars * sometimes preview blocks the UI because it takes too long => progress bar * resizing the preview has to work (Small, Tiny, Large, ...) Good luck Lukas! |
Registered users: abc72656, Bing [Bot], Google [Bot], lockheed, Sogou [Bot], Yahoo [Bot]