Justus Jonas wrote: > I spend at least 3 weeks for searching articles for building a 3D clut > with little success. All the articles I have found are methods about > estimating the whole gamut like e.g. neural networks with radio based > functions, enhanced neugebauer equations, geometric interpolations > like splines, tetrahedrons, statistical regressions models.
But what's wrong then? Exactly with such methods you're basically on the right track... (Since an "RGB printer" is not driven by its native color space at all, and since you don't know how the driver internally generates the CMYK separations from RGB, you can basically rule out physical models like Neugebauer, and I suggest that you rather focus on non-parametric regression methods, which don't make too many a priori assumptions about the device behavior (as long as it is smooth enough, and as long as the PCS/device gradients are not getting too steep)) > For me is estimating the gamut the next step. But before I just need > to know how to create a feasible icc clut from the measured points for > minimum requirements. As far as I understand the 'real professional' > icc printer profiles with the big cluts includes just more points than > the measured points that are interpolated/estimated from the measured > points. The 3D LUTs (for RGB, or 4D for CMYK) of the A2Bx tables in a profile are generally arranged as a regularly spaced grid with N^3 grid points (for 3D, or N^4 for 4D), where N >= 2. A reasonably accurate 3D table has a magnitude of say 9^3=729 (low quality) to 33^3=35937 (high quality) grid points, and possibly even more. If your measured data points happen to be exactly the N^3 grid points of the 3D LUT, then you could fill them directly into the LUT. Otherwise you have no other opportunity than estimating the device behavior at the 3D lut grid points from the measured scattered data points (by interpolation, or by fitting a regression model to the data points and evaluating this model at each LUT grid point). (btw, even if the measured data points would happen to be the grid points of the 3D LUT, I would not fill them directly into the LUT, but would still fit a model to the readings first, in order to achieve a reasonable smoothing, to cope with noise). Generally, you need of course enough measured data points in order to sample the device behavior accurately enough (and 288 may not be enough, depending on your accuracy requirements and depending on the device behavior). > So want to try the following: > normally a printer RGB clut has the 1D-3D-1D structure. > I just let the values two 1D-tables directly pass through (1:1) > without any distortion If the device color space is "well behaved" enough, it is an option to fill the 1D tables with an identity transformation. But "appropriate" 1D LUTs may enable better accuracy. > and just write the measured 288 points to the 3D table. So is this a > feasible profile? > Maybe some could give some hints. :-) See above. How do you want to fill say 729 or even 35937 regularly spaced LUT grid points from 288 scattered data points w/o fitting/interpolating the scattered data points? Regards, Gerhard ------------------------------------------------------------------------- This SF.net email is sponsored by: Microsoft Defy all challenges. Microsoft(R) Visual Studio 2008. http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/ _______________________________________________ Lcms-user mailing list Lcms-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/lcms-user