Hi,

On Sat, 2007-08-18 at 18:48 +0200, Edouard Gomez wrote:
> I'd like just to discuss about the curve usage in rawstudio.

Me too :)

> As i  figured out, the curve  is used in  the RGB space. But  doesn't it
> make more sense to use it in some luminance colorspace (YCbCr, L*ab).

It would make a lot more sense. But everything in Rawstudio is really
written for RGB. This results in numerous interesting side effects when
using curve - most importantly hue-shifting.

I have an idea. Some pseudo code to explain:
more_magic()
{
        float luma_curve[65536];
        ...
        output = tranform_rgb_as_usual(input);

        luma = cumpute_luma(output); /* Maybe cumpute_luma(input); */

        output.r *= luma_curve[luma];
        output.g *= luma_curve[luma];
        output.b *= luma_curve[luma];
        ...
}

- removes hue-shifting.
- makes curve a lot more predictable.
(- extremely easy to implement with our current SSE-based render code)

> What i'd like to have is:
>  - One curve to control luminance

I haven't done the math, but I believe that the method above should give
you this.

>  - A set of three curves to control the output color

I'm not so sure this is needed, but it would be trivial to implement.

> The first  curve just fills  the need i  have to control  luminance more
> closely than the Exposition tool allows me (it's uniform while the curve
> can be whatever the user desires). The typical use case is to boost dark
> areas of the photos and/or decrease photo burns w/o touching the chroma.
> 
> The second set  of curves would allow the user to  alter the final color
> rendering. It allows  doing like for argentic photos  and developing the
> shoots on other type of papers.
> 
> Any thoughts ?

A lot.

/abrander



_______________________________________________
Rawstudio-dev mailing list
[email protected]
http://rawstudio.org/cgi-bin/mailman/listinfo/rawstudio-dev

Reply via email to