Monday, May 5, 2008

Making a Linear ICC Profile

ICC Profiles usually describe devices, and real devices are never linear. In other words, they generally have a gamma other than 1.0, and usually some sort of custom curve you might measure with a spectrophotometer.

But sometimes you want a linear ICC profile. Perhaps you want to set up a linear color space to use in After Effects 7. Or maybe you rendered a 16-bit file into a linear color space using a 3D program and need to tag it that way. Here I'll show you how to use Photoshop to create a linear color profile.

1) Go to the Color Settings dialog (Edit > Color Settings…)

2) If necessary, click on the "More Options" button.

3) Check the profile you have set for your RGB working space. It defaults to sRGB (in Adobe parlance "sRGB IEC61966-2.1"). Whatever profile you set here is the profile that we will be making a linear version of.

4) With your profile set, go to "Custom RGB…" in the same menu. A dialog will pop up.

5) The Custom RGB dialog will be filled in with settings from the profile you previously selected. In many cases the Gamma field will be an approximation, but it doesn't matter because you want to set it to 1.0, making this profile linear.

6) Make sure you edit the Name field. Call the new profile something like "Linear sRGB".

7) You can leave the rest of the fields as they are. Click OK.

8) Your custom profile is now selected in the menu, but it still lives only in Photoshop. We want to save it out by going to "Save RGB…" in the same menu. This will give you a Save As… dialog. You should drop the profile someplace it will be seen by other applications, such as:

Mac: /Library/Application Support/Adobe/Color/Profiles/
Win: C:\Program Files\Common Files\Adobe\Color\Profiles\

Give the profile a reasonable file name, although the name you used previously in #6 is what will appear in menus. You probably want to name the file the same.

9) With the profile saved, you probably would prefer to Cancel out of this dialog box, assuming you don't want to set a linear profile to your Photoshop working space.

And with that you've created a linear profile to be used in any profile menu. ICC profiles in general consist of a combination of color primaries and response curves. The color primaries describe the device-independent color sensation you get when the display shows pure red, green, blue, or white. The response curves (which could be a simple gamma curve) describes the transition from red/green/blue to black.

In the process described above, we adopt the color primaries from a profile and set the response curves to linear. If we convert an image from the original profile to the linearized profile, the result is a simple Gamma-style transformation that doesn't involve channel cross-talk and can easily be reversed.


Anonymous said...

There's no such thing as "Linear sRGB," which is a contradiction in terms. sRGB specifies a gamma of 2.2. It would be more accurate to call your profile "Linear RGB."

Brendan said...

It does make sense because the sRGB profile contains more than just a response curve; it also has the sRGB color primaries. We want to create a profile with the same primaries but linear response curve. Maybe you'd prefer "Linearized sRGB".

Anonymous said...

Thanks for that, I was missing the RGB saving step. Not the most intuitive UI for that one.

Taylor Bara said...

This is a good place to discuss your academic papers and essays!