Mark wrote: > Is there any study, how much "better" tethrahedral is compared to trilinear? > How many gridpoints > more are required for trillinear clut, so it matches a tethrahedral clut?
There's been quite a bit of research into different formulations of 3D and N-D interpolation. There are multiple forms of tetrahedral interpolation, since a cube can be divided up into tetrahedrons in multiple different ways. Even sticking to the usual diagonal tetrahedral decomposition, it's possible to choose which diagonal so as to minimise interpolation error. There are hybrid schemes such as prism interpolation. Sticking to the major two you mention, diagonal tetrahedral interpolation is typically used for "device like" spaces, where the input diagonal is in the neutral axis direction (ie. RGB, CMY etc.), while trilinear is typically used for Luminance + color input spaces such as L*a*b* input etc. icclib (from ArgyllCMS) makes this distinction, although imdi/cctiff does not. Another quite important aspect is the application of 1D curves to the input and output. The 3D part is the coarsest part of the interpolation, so it's important to make the 3D part operate in a roughly perceptually uniform space, so that quantisation errors are uniformly distributed. The 1D curves give you scope to manage this. A reference that may be interesting is: "Interpolation errors on gray gradations caused by three-dimensional lookup table method", Katsuhiro Kanamori, Journal of Electronic Imaging, April 2001, Vol 10(2), pp 431 > Ultimately, I'm trying to apply the CLUT on the GPU, and I'm thinking if it > is worth > implementing tethrahedral in a shader, or better to just stick to trilliniar, > which is built in > already. If you're using hardware and the interpolation is relatively cheap, then you are probably better off trading finer resolution against a different interpolation algorithm. ie. If ideally you want tri-linear, but all you've got is tetrahedral, you may be better off using tetrahedral at twice the grid resolution instead. My impression from "Using Lookup Tables to Accelerate Color Transformations", Jeremy Selan, GPU Gems 2, pp 381 was that by default texture lookups are tri-linear. Graeme Gill. ------------------------------------------------------------------------------ Precog is a next-generation analytics platform capable of advanced analytics on semi-structured data. The platform includes APIs for building apps and a phenomenal toolset for data science. Developers can use our toolset for easy data analysis & visualization. Get a free account! http://www2.precog.com/precogplatform/slashdotnewsletter _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user