On Sunday, July 27, 2003, at 07:54 AM, Henning Meier-Geinitz wrote: > Hi, > > On Sun, Jul 27, 2003 at 07:43:40AM -0400, Karl Heinz Kremer wrote: >> Once we store the image data, there are (at least) two options: For >> image formats that support embedded ICC profiles (TIFF and PNG) it is >> not necessary to do any color correction: The image gets stored as it >> was read from the scanner. In addition to the raw image data, the ICC >> profile gets also stored in the image file. This way, there is no >> loss in image quality, and an application that is ICC aware can then >> apply the source profile (scanner profile) and e.g. another display >> profile or an output profile (printer) to perform the necessary >> color correction. Every time a profile is applied, the image quality >> suffers a bit, so it's a good idea to limit the number of profile >> transformations. > > Ok, but e.g. with Xsane viewer mode the program doesn't know which file > type is used before the user actually saves the file.
For this mode you would also use the two profiles (scanner and monitor) to convert the raw data to color corrected data for the viewer. > > And I think the color correction should be done in hardware if the > backend/scanner supports that. So the user has to decide if he wants > to apply the color correction immediately (instead of saving the ICC > data with the image data) before actually doing the scan. That's > because the frontend must set the gamma tables before the scan. > In order to profile scanner, you would pick one gamma setting, create the profile and then restore the same setting everytime you are going to use this profile. A scanner profile is only valid for one set of scanner options. Scanning based on a profile is probably not something the average user would do, it's a very advanced concept. Therefore it does not have to be fool proof. Using the gamma table to perform color corrections is not always a good idea: Some scanners use only 8-bit gamma tables, even though they scan with 12, 14 or 16 bit per channel. ICC profiles can deal with 16 bit data, and therefore will create less error. Karl Heinz