On Mon, 2008-04-21 at 16:43 +0100, Øyvind Kolås wrote:> On Mon, Apr 21, 2008 at 11:18 AM, Øyvind Kolås <pippin@xxxxxxxx> wrote: > > Thus to correctly implement floyd steinberg you would actually have to> > request the processing of the entire image and not piece by piece thus> > losing the ability to handle larger than RAM images. > This isn't entirely true as you can fetch and store individual> scanlines when reading/writing from the involved GeglBuffers as the op> is processing for the entire image, nevertheless such an op would need> the entire image as source data to update the bottomrightmost pixel.> And it would make future scheduling and paralellization of graphs> involving such ops much harder than needed. Yeah, that's what I thought. But insofar as my implementation isconcerned, I don't care about speed, as long as it can be done. So I guess the question is: How do I request processing of the entireimage, on a row by row basis? > I imagine either green> noise or blue noise based halftoning/dither might have properties that> align better with the GEGL architecture, not to mention that those> approaches do not suffer from similar artifacts of repeating patterns> that floyd steinberg dithering suffers from. Well, I think the aesthetic merits of the Floyd-Steinberg class of errordiffusion algorithms is outside the scope of this discussion :) -- Hans Petter Jansson <hpj@xxxxxxxxxxx> _______________________________________________Gegl-developer mailing listGegl-developer@xxxxxxxxxxxxxxxxxxxxxxxxxxx://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer