LUTRecover v1.0
This location is for Registered Users Only.
Perhaps you need to login or register.
9.0, 8.0 or later
LUTRecover will recover a 3D LUT by comparing two images.
Have you ever found yourself without a LUT, but with two images that represented a project before and after the LUT was applied? LUTRecover will recover a CMSTestPattern-style 3D LUT by comparing the color in 'before' and 'after' images.
Caveats
The before and after images should have matching resolution.
The recovered 3D LUT will be more accurate given more color range in the 'before' image. In the examples below, we use a CMSTestPattern image for the before and after to make sure that we have full coverage for the input range. Real world examples won't cover as much range, but should still produce a meaningful LUT.
The resolution set in the CMSTestPattern image will determin the resolution of the recovered 3D LUT.
This node can be passed directly to a GenerateLUT node if you want to then write your LUT to disk.
This script iterates over every pixel in the 'before' and 'after' images for each pixel in the CMSTestPattern-style 3D LUT image, so it stresses the limits of what Blink/OpenCL/your GPU can handle in a reasonable amount of time. If you are getting errors related to OpenCL, you can either downres your before and after images or uncheck 'Use GPU if available' on the 'Kernel Parameters' tab of the LUTRecover BlinkScript node.
Source
The Blink source code is available on Nukepedia and on github here:
https://github.com/hpd/general/blob/master/blink/LUTRecover.blink
Example Nuke Script
An example Nuke script can be downloaded from github here:
https://raw.githubusercontent.com/hpd/general/master/blink/scripts/LUTRecover.nk
Example Images
Here we have the 'before' and 'after' images. We use a CMSTestPattern image for the 'before' to make sure that the full range of input values is covered for the example.
The first CMSTestPattern image below that is used to determine the resolution of the recovered LUT. This example uses resolution 33. The second image is the recovered LUT. This can be fed into a GenerateLUT node to write the LUT to disk or a LUTApply BlinkScript node to compare the recovered LUT to the graded 'after' image, which is the third image below.
Comments
is it also possible to compare also a a pair of sequences and generate a LUT out of it?
Something Like MatchLight form Light Illusion?
thx
RSS feed for comments to this post