Home | Monitor Tab | Preferences Tab | Profile Checker | Profile Identification | Profile Parameters | Monitor Values Dialog | Set Gamma Dialog | Install Reference File Dialog | UFRAW Tutorial

LPROF Main Help Window

LPROF is an open source application that creates ICC profile for cameras, scanners and monitors.

Building a scanner or camera profile

Camera and scanner profiles are built by using a thing known as "IT8 target". IT8 targets are just a photo with a set of color patches. There are known colorimetric measurements for each of these patches. There is also a standard way to specify these measurements, the IT8/CGATS file format.  Each  IT8 target comes with a IT8/CGATS file that contains the colormetric measurements for that target.

IT8/CGATS is a way to encode data that is both, human and machine readable. You can open any IT8 reference file with a text editor to see it. You can even modify the contents. Since it is a standard, most color management systems will accept it including LPROF.   A IT8 reference file contains measurements for a set of color patches. The measurement of each patch can be the device colorant values (the RGB or CMYK in 0..255 range) the tristimulous values (XYZ or Lab) and some statistic data.

A IT8 sheet looks like:


IT8.7/2 ORIGINATOR "Wolf Faust"

DESCRIPTOR "L* a* b* Batch average data (light D50, viewing angle 2)"

MANUFACTURER "Wolf Faust - http://www.coloraid.de"

CREATED "January 07, 2002" PROD_DATE "2001:12"

SERIAL "DIN A4 R012020"

MATERIAL "Kodak Professional Digital 3 - Non-Glossy"







A1 3.25 2.71 1.94 18.86 11.18 2.87 11.55 14.41

A2 4.07 2.73 1.60 18.91 23.59 6.54 24.49 15.48

A3 5.79 3.42 1.75 21.67 33.38 9.60 34.73 16.05

A4 4.28 2.66 1.46 18.62 27.73 7.59 28.75 15.32

A5 11.97 10.30 7.42 38.38 15.04 4.16 15.61 15.47

.... etc ...


The target manufacturer provides a IT8 file containing these measurements for the target. So, the target along with the targets IT8 reference file is gives us a set of KNOWN (calibrated) colors. We must then, tell to the profiler which RGB values our scanner or camera returns for each of these patches.

LPROF can grab the RGB values of each color patch of an image on an IT8.7 target. In order to generate a profile, we need the RGB and Lab values for each patch. Let's outline the scanner/camera profiling procedure.  First we will detail how this is done with a scanner and then we will detail what is different when profiling a camera.

Step 1: Adjust controls of scanner.

First you should be aware that getting a good capture of the IT8.7 image is 80% to 90% of getting a good profile.

Bit depth:  You will need 24 bits per pixel at least but using 48 bit images is best. 

Gamma: On most scanners you can select the gamma to be used for scanning the image.  In general you should use a gamma between 2.2 and 3.0. A Gamma 2.2 has the additional benefit of being close to the sRGB gamma, and this means the uncorrected Image will "look nice" on an "average" monitor. It is also near to perceptual gamma. Gamma 2.4 has the additional benefit of being closest to perceptual space, and this is a very good reason to use this value. Less that 2.2 (and of course the infamous 1.0) can generate huge loss of detail in shadows, only to give a slight bettering of highlights. Don't use this unless your are using 16 bits per sample, and even in such case, don't do it unless you know what are you doing! Gammas around 2.4 are best for flat bed scanners and film scanners with limited dynamic range.  With high dynamic range film scanners values closer to 3.0 may be best.  Hutch Color, for example, recommends a gamma of 2.8 for high dynamic range scanners.  But for flat bed scanners more than 2.4 (up to 3.0) looses some highlight detail with no gains in shadow detail.

Turn off all color management, color enhancing and tweaking on scanner driver. Set brightness contrast and hue (if available) to default values.  Make sure that all controls are locked down and that the scanner software is not doing any automatic adjustments. These setting are supposed be your working scanning mode, so set all of them to reasonable defaults.

IMPORTANT: The profile will only be valid with the settings used to capture the IT8.7 target!

Step 2: Scan the IT8 target.

Store it in PNG, TIFF, BMP on depending of supported formats of your platform. DON'T use JPEG! Its lousy nature makes it unsuitable for this purpose. You could use JPEG on final images, but not in the profiling process.

Step 3: Extract the RGB values for each patch.

Without help, this could be a huge task. There are over 200 patches in a typical IT8.7 target (some have as many as 288) and taking each sample by hand would be tedious at best. With the help of the LPROF this is an easy task. Before we can proceed the reference file for the target must be installed.  Please see Install Reference File Dialog for details.  Start LPROF and on the Camera/Scanner Profiler tab press the "Load Image" button. Select the image of target you scanned in step 2. 

I will use the scandmo.png image located in the "data/pics" directory as a sample. This is a Kodak film target, scanned with a scanner that adds a huge magenta cast. Don't worry, the profile will turn this one into a nice looking image and the magenta cast will help demonstrate how effective profiles generated with LPROF are. The reference file for this IT8.7 target (e3199608.TXT) is also located in the "data/pics" directory.  Since this is a Kodak target in the Install Reference File Dialog select the "IT8.7 19+3 (Kodak) column picker" template when installing the reference file.   To "measure" the RGB values of the target image you using the mouse to place the pick template over the patches. You can do this by clicking on each corner of the of the target image.   As each corner is selected with the mouse you will see a mark placed on the corner.

Image for IT8.7 target corner

When all four corners are marked the picker template will appear superimposed on the target image.  Assure all green rectangles are inside the patches. Failure to do so will result in a wrong profile! You can adjust the locations of the corner marks to fine tune the location of the picker template.  You can also adjust the relative size of "hot areas" by setting the % in "safe frame" on "Preferences" tab. A smaller safe value results in a larger "hot" zone.  Normally there is no need to touch anything. Once you were happy with the location of the patch grabber zones you now have the correct reference sheet of the target, which were given by Kodak, and the RGB values obtained by our scanner. Now we can compare these to create a profile.

 Step 4: Create the Profile:

From this point on it is quite easy.  First we have to specify the profile filename. Press the "..." button placed on right of "output profile file", to select the location where the profile will be saved.  On Linux/Unix systems this will default to $HOME/.color/icc.  On Windows systems this will default to the Windows profile directory (on most systems c:\WINDOWS\SYSTEM32\spool\drivers\color).  But you can override this. The file name for the new profile could be "scandmo.icm". You can now fill some info to help locate the profile latter. Press the "Profile Identification" button, and fill in the fields.   You are now ready to generate the profile. Press the "Create Profile" button to launch the profiler process. After a few seconds, you will have a small profile for your scanner. You can inspect the profile in some detail by pressing the Profile Checker button.  If you do you will see the the demo profile has the a dE (amount of error) that is about 1.24, which is reasonable.  Now, we can reduce the error level, but it will take more time to generate the profile. To do this press the "Parameters Parameters" button, and select on "Resolution" group "33 points". Then press the check box labeled "local convergence analysis". Press the "OK" button to save these settings and then the "Create Profile" button. Now the profile generation process will take a while, but the obtained profile is much improved... average dE is about 0.7 and the peak value is as small as 3!!!  Again you can use the  "Profile Checker" to inspect your profile.  In the Profile Checker have a look at the Shaper TRC curve in the curves tab.  Notice that the green curve is significantly different from the red and blue curves.  Since green is the complement of magenta this is exactly what you would expect for a device that was producing images with a magenta cast.

Step 5: Proofing the Profile.

Let's check how this profile affects the original Image. In the "Preferences" tab set the  "input profile" to the newly created scanner profile, and "monitor profile" should be set to either a custom profile that was created using the monitor profiler (see next section) or a generic profile such as sRGB. In the "Preferences" tab check the "color manage display" check box and then go to the "Camera/Scanner Profile" tab to see the results. The girl's Image is dark, this is normal. However, the rest of patches are hugely modified, the gray scale should appear smooth and without any cast, as well as all magenta tint should disappear.

Special Considerations for Wide Gamut Devices

Some devices such as cameras can have a very wide gamut and therefore it is harder to get good profiles for these devices.  This is particularly true for digital cameras with larger sensor sites (DSLRs) that produce raw files since the raw software can pull out much more information from the sensor data then is typical for in camera processing. 

The basic problem is that the gamut of the camera is significantly wider than the gamut of the color patches in the IT8.7 chart and the profiling software can over compensate in the areas near the edges of the gamut were that are no target patches to help guide the profiling software.  This is known as a local reversal and results in some images exhibiting odd color shifts in some parts of the photograph.  This will tend to happen with high contrast photos and will typically show up in darker highly saturated colors. 

This characteristic will normally only happen with profiles created using the local convergence extrapolation parameter (see Profile Parameters).  If you experience this with your profiles on high contrast high saturation images generate a new profile with local convergence extrapolation turned off (the default setting).

Copyright © 1998-2005 LPROF. All Rights Reserved.

Copyright © 2005 LPROFTrademarks
LPROF 1.11