On Fri, Aug 08, 2008, Anthony Thyssen wrote:

> My own concerns with dithering was the psuedo-randomness that comes from
> the distribution of the error.  That is a single pixel change causes a
> completely different pattern over all the parts of the image that
> follows. All error-correction dithers suffer from this, and it basically
> makes animations a pain to deal with.
> 
> See some results in..
>    http://www.imagemagick.org/Usage/video/#gif

   Yes, I understand the problem. There have been attempts at temporal
error diffusion, but nothing really groundbreaking IMHO. And it appears
that the quality perception is even more subjective: plane_ugc.gif
looks good to me, but others will be annoyed by the apparent noise.
Conversely, I don't like plane_od.gif because I find the pattern
regularity distracting, but others will like it more.

> It was because of this concern that I re-wrote the Order-Dither
> algorithm so that it can be used with colored images, and not just black
> and white.  However it is limited to using specific color levels, rather
> that the 'best' color map.
> 
> I know there is a algorithm that will allow ordered-dither to use a
> given color map, but have not found any information on that method,
> so have been unable to implement it.

   You might be referring to Ostromoukhov et al.'s work: "Reproducing
Color Images Using Custom Inks" followed by "Multi-Color and Artistic
Dithering". (by the way, Ostromoukhov also wrote "Optimal Halftoning
for Network-Based Imaging" which you might be interested in for the
animation dithering issue)

> Basically IM is open to implement other dithering methods, or even any
> raster image processing algorithm.  What is needed is someone with the
> time, the programming skills (C programming), and the knowledge to add
> new routines.  What a new general dithering method becomes available,
> then the  +/-dither  option can then be replaced with something to
> select what type of general dithering method should be employed.

   I am actually working on my own imaging library (just a hobby, won't
be big and professional like ImageMagick) and most of my energy will go
in there because it's a broader experimental playground. But I'm also
willing to contribute my findings back to projects that might make good
use of it, so I'll be glad to contribute patches and ideas to IM from
time to time.

   A few things are way too complex for me right now, though. For
instance, IM's Gaussian blur routine runs in O(n^2) instead of O(n),
making it painfully slow to blur images. Someone might want to have a
look at this.

> You are welcome to add the new dither, and submit a patch, You can
> download the latest Subversion beta sources from the IM website, which
> you can compile and run directly from the source area (mail me for
> details, I'll be glad to help).

   My patch is against yesterday's SVN. However I don't really know how
to make it a runtime choice, the project is so complex that I'm sure to
overlook something. I'd feel more comfortable if I only had to do the
low-level stuff and had someone else do the integration :-)

Cheers,
-- 
Sam.
_______________________________________________
Magick-developers mailing list
Magick-developers@imagemagick.org
http://studio.imagemagick.org/mailman/listinfo/magick-developers

Reply via email to