iccfind

Find ICC profiles

Description

example

profiles = iccfind(folder) finds and returns profile information for all of the International Color Consortium (ICC) profiles stored in the folder.

example

profiles = iccfind(folder,pattern) finds and returns profile information for ICC profiles in the folder whose profile names contain the value pattern. The function performs case-insensitive pattern matching to find the ICC profile with the desired profile name.

example

[profiles,descriptions] = iccfind(___) also returns the profile descriptions associated with every profile listed in profiles.

Examples

collapse all

Use iccroot to find the default folder to which the International Color Consortium (ICC) profiles are stored.

folder = iccroot;
disp(folder)
C:\WINDOWS\System32\Spool\Drivers\Color

Find all the ICC profiles stored in default folder. Read the profile information of all ICC profiles as a cell array of structures.

profiles = iccfind(folder);

Display the size of profiles to know the number of ICC profiles available in the default folder.

size(profiles)
ans = 1×2

    23     1

Read profile information for the first ICC profile in profiles.

currentProfile = profiles{1}
currentProfile = struct with fields:
             Header: [1×1 struct]
           TagTable: {10×3 cell}
          Copyright: 'Copyright 2000 Adobe Systems Incorporated'
        Description: [1×1 struct]
    MediaWhitePoint: [0.9505 1 1.0891]
    MediaBlackPoint: [0 0 0]
             MatTRC: [1×1 struct]
        PrivateTags: {}
           Filename: 'C:\WINDOWS\System32\Spool\Drivers\Color\AdobeRGB1998.icc'

Inspect the Description field of currentProfile. The profile description is stored in the String field of Description.

currentProfile.Description
ans = struct with fields:
      String: 'Adobe RGB (1998)'
    Optional: [1×78 uint8]

Display the profile name of selected ICC profile.

ProfileName = currentProfile.Description.String
ProfileName = 
'Adobe RGB (1998)'

Read Profile Name of ICC Profiles

Find all the ICC profiles stored in default folder. Read the profile information and the descriptions of all ICC profiles.

[~,descriptions] = iccfind(folder);

Display the descriptions of all the ICC profiles in profiles.

descriptions
descriptions = 23×1 cell array
    {'Adobe RGB (1998)'                     }
    {'Apple RGB'                            }
    {'Coated FOGRA27 (ISO 12647-2:2004)'    }
    {'Coated FOGRA39 (ISO 12647-2:2004)'    }
    {'Coated GRACoL 2006 (ISO 12647-2:2004)'}
    {'ColorMatch RGB'                       }
    {'Japan Color 2001 Coated'              }
    {'Japan Color 2001 Uncoated'            }
    {'Japan Color 2002 Newspaper'           }
    {'Japan Color 2003 Web Coated'          }
    {'Japan Web Coated (Ad)'                }
    {'ProPhoto RGB'                         }
    {'Agfa : Swop Standard      '           }
    {'U.S. Sheetfed Coated v2'              }
    {'U.S. Sheetfed Uncoated v2'            }
    {'U.S. Web Coated (SWOP) v2'            }
    {'U.S. Web Uncoated v2'                 }
    {'Uncoated FOGRA29 (ISO 12647-2:2004)'  }
    {'Web Coated FOGRA28 (ISO 12647-2:2004)'}
    {'Web Coated SWOP 2006 Grade 3 Paper'   }
    {'Web Coated SWOP 2006 Grade 5 Paper'   }
    {'change'                               }
    {'sRGB IEC61966-2.1'                    }

Find Specific ICC Profiles

Find ICC profiles with a specific pattern in the profile description. Specify the pattern to search in the profile description as 'rgb'.

[profiles,descriptions] = iccfind(folder,'rgb');

Display the descriptions of all the ICC profiles in profiles. The function returns the profile information and the descriptions for ICC profiles containing the pattern 'rgb' in profile description.

descriptions
descriptions = 5×1 cell array
    {'Adobe RGB (1998)' }
    {'Apple RGB'        }
    {'ColorMatch RGB'   }
    {'ProPhoto RGB'     }
    {'sRGB IEC61966-2.1'}

Input Arguments

collapse all

Path to ICC profiles, specified as a character vector or string scalar denotes the folder in which the ICC profiles are stored. The ICC profiles can have the file extension .icc or .icm.

Data Types: char | string

Search key, specified as a character vector or string scalar. You can use this search key to find ICC profiles whose profile names contain the search key. The ICC profile names are stored in the profile descriptions.

Data Types: char | string

Output Arguments

collapse all

Set of profile information, returned as a cell array of structures. Each structure in the cell array contains profile information for an ICC profile in the folder.

Data Types: cell

Profile descriptions, returned as a cell array of character vectors. Each profile description is the localized version of the ICC profile name.

Data Types: cell

Tips

  • To improve performance, iccfind caches copies of the ICC profiles in memory. Adding or modifying profiles might not change the results of iccfind. To clear the cache, use the clear functions command.

References

[1] Abhay, S. "ICC Color Management: Architecture and Implementation." (R. Lukac and K. N. Plataniotis, eds.). CRC Press, 2006.

Introduced before R2006a