Here is a brief overview of the syntax of a CTF file.
In the list below, ? means "0 or 1 occurrence", * means "0 or more occurrences" , and + means "1 or more occurrences". If not otherwise marked, a single occurence of an element is required.
- ProcessList
- Attributes: id, name
- Contains:
- Info ?
- Contains:
- Description *
- InputDescriptor ?
- OutputDescriptor ?
- OperatorNode +
- This is a virtual element — replace it by one of the substitutions below (LUT1D, LUT3D, etc.).
- Attributes: id, name, inBitDepth, outBitDepth, bypass
- Contains:
- Description *
- DynamicParameter ? (up to 3 for ExposureContrast)
- Attributes: param
- Substitute each OperatorNode by any one of the following:
- LUT1D
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Attributes: interpolation, halfDomain, rawHalfs
- Contains:
- Array
- Attributes: dim
- LUT3D
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Attributes: interpolation
- Contains:
- Array
- Attributes: dim
- Matrix
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Contains:
- Array
- Attributes: dim
- Range
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Contains:
- minInValue ?
- maxInValue ?
- minOutValue ?
- maxOutValue ?
- Gamma
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Attributes: style
- Contains:
- GammaParams
- Attributes: channel, gamma, offset
- ExposureContrast
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Contains:
- ECParams
- Attributes: exposure, contrast, pivot
- Log
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Attributes: style
- Contains:
- LogParams 1 or 3
- Attributes: channel, gamma, refWhite, refBlack, highlight, shadow
- ASC_CDL
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- Contains:
- Reference
- Inherited attributes: id, name, inBitDepth, outBitDepth, bypass
- attributes: alias, path, basepath