/icc_dump

Extract all information from ICC color profiles in JSON format.

Primary LanguagePython

icc_dump

Extract all information from ICC color profiles in JSON format.

The iccdump tool in Argyll CMS can dump ICC Profiles, but when dumping display profiles generated by macOS, errors like the following are produced:

Unable to read: 1, icmCurve_read: Wrong tag type for icmCurve

ExifTool, on the other hand, does just fine. However, it doesn't have a one-shot dump of all profile information in semi-human-readable format, instead hiding binary data behind messages like:

Green Tone Reproduction Curve   : (Binary data 2060 bytes, use -b option to extract)

This quick-and-dirty utility wraps ExifTool to do the following:

  • Extract all tags, hex dumping binary tags
  • Ignore ExifTool output that describes the file itself rather than describing its contents
  • Dump tags in sorted order to JSON, a format that is human readable enough to allow inspection and exploration but structured enough to facilitate machine interpretation.

Dependencies

On macOS, install ExifTool with with Homebrew:

brew install exiftool

Usage

The icc_dump utility dumps all ICC profiles in a directory.

Usage: icc_dump.py PROFILE_DIR OUTPUT_DIR

For example:

./icc_dump.py profiles/ dump/

Sample profiles are included.