Re: color deficit simulation filter

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi,

On Sat, 2007-11-10 at 19:25 +0100, Giacomo Mazzocato wrote:

> I've tried to reimplement it in another language

I very much hope for you that you are respecting the license that this
code has been published under. Your code is GPL, right?

> and in the function
> cdisplay_colorblind_convert with certain colors (for instance #000000) I get a 
> warning of division by zero in the section that corresponds to this in the 
> original code:
>  switch (colorblind->deficiency)
>           {
>           case COLORBLIND_DEFICIENCY_DEUTERANOPIA:
> 		tmp = blue / red;
> 		^^^^^^^^^^
> (that's line 435) and in the sections where it computes tmp for other types of 
> deficit:
> 	case COLORBLIND_DEFICIENCY_PROTANOPIA:
>             tmp = blue / green;
> and
> 	case COLORBLIND_DEFICIENCY_TRITANOPIA:
>             tmp = green / red;
> 
> Perhaps those errors are ignored in C, but shouldn't they be handled correctly 
> or prevented ?

Division by zero is handled correctly here. The result will be NaN.

> The most important problem is however that when I try to convert white 
> (#ffffff) with the filter,I get #dadada for all 3 deficit simulations.
> 
> #dadada is a shade of grey, but if I apply in gimp the filter to an area which 
> contains white regions, white remains white.
> I don't understand deeply the gimp sourcecode,is any postprocessing applied 
> after the filter has returned the new color values ?

If you have other display filters active, then the colors may be passed
through them befor they are displayed. Otherwise, no, there is no
further post-processing being done.

Perhaps you should just link with libcolorblind (see
http://colorblind.alioth.debian.org/) instead of reimplementing the
algorithm...


Sven


_______________________________________________
Gimp-developer mailing list
Gimp-developer@xxxxxxxxxxxxxxxxxxxxxx
https://lists.XCF.Berkeley.EDU/mailman/listinfo/gimp-developer

[Index of Archives]     [Video For Linux]     [Photo]     [Yosemite News]     [gtk]     [GIMP for Windows]     [KDE]     [GEGL]     [Gimp's Home]     [Gimp on GUI]     [Gimp on Windows]     [Steve's Art]

  Powered by Linux