[argyllcms] Re: resources on LUT creation (algorithmic)

Hi Graeme,

On Sun, 11 May 2008 3:21:01 pm Graeme Gill wrote:
> It depends whether you are interested in the 3D fitting, or the
> per channel curve fitting.

That's a very good question. Ideally (I guess) the 3D fitting, as I suppose 
(if I understand correctly) there's more flexibility to adapt to device and 
illuminant distortions in colour space. But if it actually doesn't really 
matter, either way would be fine. I just know that my application will need 
to work properly in rather uncontrolled environments (regarding 
illumination).

Are there any comparisons or studies on the benefits of either approach 
available already?

> For the former, there is a vast 
> amount of literature in the general area of fitting scattered
> data, especially out of the geographic/mapping side of things.
> Googling "Scattered data fitting" should return many potential
> leads.

Hmmm, that's a good starting pointer for it already.

> Some profiling packages avoid the scattered data approach 
> and use specially ordered test points, and this is an even wider field.
> The particular approach I'm using in Argyll has the references at the
> top of the rspl/scat.c file, but I know a couple of other packages
> favor a polynomial fitting approach.

Ahhh, good. I've been stepping through the code with a debugger quite a bit 
over the last few days and caught mainly the function headers. They 
occasionally also include pointers on the used algorithm, but the file header 
(not the .h files) seems so much more informative now.

I've found some mention on polynomially fitted curves as well. Unfortunately 
we've had a power outage, and the browser and PDF viewer sessions were lost. 
But I'm sure I can track it down again. It was in Jon Hardeberg's 
dissertation, so it shouldn't be too hard to find.

> As for the per channel curves, I've not come across much if any
> literature about it. There was a mention in Michael Bourgoin's
> 1998 SIGGRAPH notes on this, but precious little else that I know
> about. The approach I'm currently using in Argyll is
> purely the result of my own experimentation and research.

I probably won't get around experimenting as well, for the purpose I'm aiming 
at. But that's the idea of it, and that's also the reason for needing my own 
implementation, that I can understand and tweak more easily. It's always 
difficult to work with someone else's codebase, especially as everybody puts 
forward different coding paradigms, implementation languages, etc.

Still, next step is this: How to create the LUT out of the fitted curves. But 
I guess I can find some information on that also in the references you've 
given in rspl/scat.c. Otherwise, I'd be more than happy there as well on 
pointers into a sensible direction.

Thanks again for the helpful information,

Guy



-- 
Guy K. Kloss
Institute of Information and Mathematical Sciences
Te Kura Putaiao o Mohiohio me Pangarau
Room 2.63, Quad Block A Building
Massey University, Auckland, Albany
Private Bag 102 904, North Shore Mail Centre
voice: +64 9 414-0800 ext. 9585   fax: +64 9 441-8181
eMail: G.Kloss@xxxxxxxxxxxx  http://www.massey.ac.nz/~gkloss/

Other related posts: