Consecutive Convolutions

Ed . schumifer at hotmail.com
Tue Dec 22 16:17:59 CET 2009


Yes, it only works correctly as a filter layer. It also doesn't work correctly as a Filter Mask.

I'm adding the transaction just before performing the convolution.
Regarding the patch, I'm attaching the latest revision.

There is no particular hurry. Good luck for your exam.

Date: Tue, 22 Dec 2009 17:58:24 +0300
Subject: Re: Consecutive Convolutions
From: dimula73 at gmail.com
To: kimageshop at kde.org

Hmm, strange...
The problem is surely with some transactions stuff...
I'm having an exam tomorrow, so I'll be able to check this only tomorrow evening.

Do you mean that Filter Layer applies correctly, but Filter dialog not?


Could you check whether "Filter Mask" works (as Filter dialog used to use the one internally)?

And which function do you add these lines to? (i guess i have to apply your patch first)



On Tue, Dec 22, 2009 at 5:45 PM, Ed . <schumifer at hotmail.com> wrote:






Adding a transaction for the src had no positive effect. Moreover, adding it causes the filter to work incorrectly as a filter layer (only 2nd convolution is computed).

Date: Tue, 22 Dec 2009 17:34:05 +0300

Subject: Re: Consecutive Convolutions
From: dimula73 at gmail.com
To: kimageshop at kde.org


Hm.. stack is not needed actually.

Add for the source:
KisTransaction *t0 = new KisTransaction("", src);

On Tue, Dec 22, 2009 at 5:29 PM, Ed . <schumifer at hotmail.com> wrote:








Do you mean, like so?

        QUndoStack stack;

        KisTransaction *t1 = new KisTransaction("", interm);
        KisConvolutionPainter horizPainter(interm, dstInfo.selection());


        horizPainter.applyMatrix(kernelHoriz, src, srcTopLeft, srcTopLeft, size, BORDER_REPEAT);
        stack.push(t1);

        KisTransaction *t2 = new KisTransaction("", dst);

        KisConvolutionPainter verticalPainter(dst, dstInfo.selection());
        verticalPainter.applyMatrix(kernelVertical, interm, srcTopLeft, dstTopLeft, size, BORDER_REPEAT);
        stack.push(t2);



This had no effect whatsoever.

Date: Tue, 22 Dec 2009 17:05:21 +0300
Subject: Re: Consecutive Convolutions
From: dimula73 at gmail.com
To: kimageshop at kde.org



Could you try to create transactions for both devices? Directly or using KisPainter's method. Filters rely on oldData feature but this do not work without a transaction created.


On Tue, Dec 22, 2009 at 4:57 PM, Ed . <schumifer at hotmail.com> wrote:






Hi,

I am performing two consecutive convolution operations, one after each other in a filter (the Gaussian Blur filter in the review board). Of course, I need a temporary buffer to do this. Below is what I'm doing.




  KisPaintDeviceSP interm = new KisPaintDevice(*src);

  KisConvolutionPainter horizPainter(interm, dstInfo.selection());
  horizPainter.applyMatrix(kernelHoriz, src, srcTopLeft, srcTopLeft, size, BORDER_REPEAT);




  KisConvolutionPainter verticalPainter(dst, dstInfo.selection());
  verticalPainter.applyMatrix(kernelVertical, interm, srcTopLeft, dstTopLeft, size, BORDER_REPEAT);

The output I'm getting when I apply the rasterizing filter, is the result of the second convolution only. However, if I apply the filter as a filter layer, I get the combined result of both convolutions.




As boud suggested on IRC, I switched Krita to the old tile engine, and the results are correct in both cases. Therefore, the indication is that this is a problem with the new tile engine. Could anyone investigate further?



 		 	   		  
Windows Live:  Friends get your Flickr, Yelp, and Digg updates when they e-mail you.




_______________________________________________

kimageshop mailing list

kimageshop at kde.org

https://mail.kde.org/mailman/listinfo/kimageshop




-- 
Dmitry Kazakov
 		 	   		  
Windows Live: Make it easier for your friends to see  what you’re up to on Facebook.



_______________________________________________

kimageshop mailing list

kimageshop at kde.org

https://mail.kde.org/mailman/listinfo/kimageshop




-- 
Dmitry Kazakov
 		 	   		  
Windows Live:  Friends get your Flickr, Yelp, and Digg updates when they e-mail you.


_______________________________________________

kimageshop mailing list

kimageshop at kde.org

https://mail.kde.org/mailman/listinfo/kimageshop




-- 
Dmitry Kazakov
 		 	   		  
_________________________________________________________________
Windows Live: Friends get your Flickr, Yelp, and Digg updates when they e-mail you.
http://www.microsoft.com/middleeast/windows/windowslive/see-it-in-action/social-network-basics.aspx?ocid=PID23461::T:WLMTAGL:ON:WL:en-xm:SI_SB_3:092010
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.kde.org/pipermail/kimageshop/attachments/20091222/46ceaa2d/attachment-0001.htm 
-------------- next part --------------
A non-text attachment was scrubbed...
Name: gaussian_blur.patch
Type: text/x-patch
Size: 49594 bytes
Desc: not available
Url : http://mail.kde.org/pipermail/kimageshop/attachments/20091222/46ceaa2d/attachment-0001.patch 


More information about the kimageshop mailing list