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 <[EMAIL PROTECTED]> 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 is
concerned, 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 entire
image, 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 error
diffusion algorithms is outside the scope of this discussion :)

-- 
Hans Petter Jansson <[EMAIL PROTECTED]>

_______________________________________________
Gegl-developer mailing list
[email protected]
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gegl-developer

Reply via email to