09 - LUT, ACES and CTL support, DCI Compliance

Expand / Collapse

09 - LUT, ACES and CTL support, DCI Compliance


SCRATCH supports various 1D and 3D  LUT formats and LUT options as well as CTL script. Whenever you load a LUT or CTL SCRATCH maintains a link to that file rather than storing the content of the LUT / CTL in the project database. Note that:

  • SCRATCH identifies a LUT/CTL by its filename. If you load two LUT/CTL with the same name but from different locations - SCRATCH will re-use the first loaded version on both occasions.
  • If, when loading a project, SCRATCH can not find a LUT/CTL in its original location it will search for that file in successively the media-folder, project-folder and the user-folder.
  • If the LUT/CTL is not found, the Event Log will report the missing file.



While SCRATCH can read several LUT formats / options, the recommended layout for a 1D LUT is as follows: 

# SCRATCH ( nnn ) generated 1D LUT.
# This is an approximation to the color-transform and/or LUT.
# Convert 10-bit log to 10-bit linear.

LUT: 3 1024


The first lines starting with a '#' code are header lines containing any kind of comments and are not actively processed by SCRATCH. The line starting with LUT: specifies the number of channels and LUT size. The following lines are the values for each sample in the first channel, followed by the values for each sample in the next channel and so on. For a typical 1D LUT, three sets of numbers are used representing the Red, Green and Blue channels respectively.


SCRATCH supports a range of industry standard LUT formats:

  • .3dl - SCRATCH generic format (see below)
  • .cube - Adobe format. According to the standard description this format can contain either a 1D or a 3D LUT. However, some software also implemented this to contain both a 1D (shaper) and a 3D LUT in the same file. SCRATCH supports:
    • a cube as a single 1D LUT (no normalization)
    • a cube as a single 3D LUT (no normalization)
    • a cube containing both a 1D and a 3D LUT, where the 1D LUT is implemented as a shaper LUT, including a normalization based on the range values set.
    • by default SCRATCH will write a cube as a single 3D LUT. However you can include a standard Log to Lin 1D shaper LUT by enabling the corresponding Advanced Preferences setting.
  • .csp - Cinespace including 1D normalization
  • .a3d, .m3d - Pandora proprietary format with channel definition in header.
  • .s3d - Discrete proprietary format, including 3DMESH in the header

The SCRATCH generic 3D LUT file follows a similar format to the 1D LUT in that there is a header which specifies information about the file followed by the LUT values.

# SCRATCH v5.1 (617) generated 3D LUT.
# This is an approximation to the color-transform and/or 3D LUT
# Dimension 32x32x32 (10 bits)
# First line specified the sample spacing
# lutname My Company LUT

0 33 66 99 132 165 198 231 264 297 330 363 396 429 462 495 528 561 594 627 660 693 726 759 792 825 858 891 924 957 990 1023
0 0 0
0 0 37
0 0 74
0 0 110
0 0 146
0 0 182
0 0 217
0 0 253
0 35 0
0 35 37
0 35 74
0 35 110
0 35 146
0 35 182
0 35 217
0 35 253
0 72 0
0 72 37
0 72 74
0 72 110
0 72 146
0 72 182
0 72 217
0 72 253

In the example above, the comment indicates that the LUT is a 32x32x32 cube and each of the 32 values is then listed on the following line; this does not have to be a linear sequence. Each line after that represents the values for the LUT. A 3D LUT has three values for each line. Each line of the file represents a ‘slice’ of the 3D cube that defines the boundaries of the LUT. The three values represent the individual color channel values at each point, or node, within this cube.

Note that by default floating point values in 3D LUT are clipped, unless this option is explicitly disabled in the Advanced setting.


SCRATCH fully supports the Academy Color Encoding System (ACES) standard as defined by the Academy of Motion Picture Arts and Sciences (A.M.P.A.S.) as well as supports the Color Transition Language (CTL). The current supported ACES version is 1.0 and the CTL script interpreter is at version 1.5. Both at the latest version available.

The RRT and various standard ODT (color space conversions) are included as separate ctl files with a SCRATCH installation. By default SCRATCH uses the scripts in the C:\ProgramFiles\Assimilator\Settings\ACES folder on Windows or Library/Application Support/Assimilator/default folder on OS X. The ACES folder has for each available version a sub folder. In the root ACES folder there is a mapping-file where all ACES transforms to and from the standard color spaces (sRGB, REC709, etc.) in SCRATCH are specified. 

Normally, you set the version of ACES that SCRATCH should use with a particular project in the Project Settings menu. If however you want to customize the ACES transforms used, you can add / replace your own ctl scripts and adjust the mappings file accordingly. Rather than editing in the installed ACES folder, please make a copy of that folder to the C:\ProgramData\Assimilator\Settings folder on Windows or Library/Application Support/Assimilator/Settings on OS X and do the adjustments / edits on the copy.

As of v8.4 SCRATCH also supports ACES Log. In the Project Settings you can set SCRATCH to convert all ACES shots in the project to ACES Log when loading / processing an image and do the reverse conversion before outputting the image or conversion it to any of the other known color spaces. This project settings has a per shot override in the Setup menu in the Matrix.


When selecting JPeg2000 as output format you can set the encoding to either Lossless, Lossy or DCI. When selecting DCI, SCRATCH will check whether the format, framerate and bitrate settings are DCI compliant and issue a warning in the log if not. DCI compliant resolutions are

  • 4096x2160 24fps (1.90:1 , full)
  • 4096x1716 24fps (2.39:1 , scope)
  • 3996x2160 24fps (1.85:1 , flat)
  • 2048x1080 24fps or 48fps (1.90:1 , full)
  • 2048x 858 24fps or 48fps (2.39:1 , scope)
  • 1998x1080 24fps or 48fps (1.85:1 , flat)

Stereoscopic 3D image

  • 2048×1080 (2K) at 48fps = 24 fps per eye (4096×2160 4K not supported)

Other restrictions:

  • Color space = XYZ (note that you need to manually set the color space of the jpeg2000 node to XYZ)
  • Max 250Mbit/s image bitrate
  • 12 bits per color component (36 bits per pixel)

In earlier versions if a framerate other than 24fps or 48fps was set, the actual bitrate could go beyond the maximum DCI compliant bitrate. As of version v8.4 SCRATCH will maintain the maximum allowable bitrate with any framerate set.

Note that the actual DCI specification is 2048x1080, and an image must match one of these resolutions. So, 1998x1080 is compliant since it satisfies the 1080 portion. However, most projectors/digital servers have profiles for either flat (1998x1080) and scope (2048x858). There are other resolutions some theaters may have, but only those two are generally a certainty. In reality, you should keep your content resolution to 1998 (or less) x 1080 or 2048 x 858 (or less). Remember, theaters have fixed size screens and some have moveable masking to accommodate scope or flat. That means, even though you could have a DCI compliant resolution, it may not fit on the screen. SCRATCH will log a message in those cases: Not all DCI projectors/devices support the resolution. Also note that the same principle is behind 4096x2160.

Rate this Article:

Last Modified:Monday, March 12, 2018