Wondering there’s any interest in this and if I should keep developing it. The basic idea is this (inspired by Nuke’s curves):
Plug in BG plate and frozen frame that is your reference for the RGB gain 0,0,0 point. The matchbox uses a region of interest box and analyzes the change in RGB gain over the course of the shot. Then it puts out three tracking markers. The pixel movement on Y of these markers is driven by the analyses and corresponds perfectly the the red, green, and blue gain channels of our CC node. From there, it’s a very simple expression to link it to those channels in a color correct node.
To get around the fact that Matchboxes cannot write into their animation channels, the idea is that you can do simple point tracks on these and then link them to whatever you would like. Out of the gate it would produce a perfect flicker match when using the expression linked CC node. But I think having this info could be used to drive other stuff as well. It’s working now, just going to clean up the UI over the weekend, but let me know if there’s interest or if this is just a dumb thing that could be accomplished more easily!
Now that everyone has an easier time writing code, here may be another option that could be easier on the user:
The matchbox encodes the animation curve in color. Simply take your measured data, and turn them into color, since each pixel is 3 bytes, you can just keep writing. Maybe the first set is the number of frames, followed by whatever data tracks you want to write.
Think of it as visual morse code.
Then you use the new snapshot feature in flame to save this out as a PNG file (needs to be lossless, so no JPG).
Then have Claude write you a little python script that reads that image, knows how to decode your visual morse code and translate it into an Axis with animation curve that can be imported into your Action or Batch, with animation data already applied. And then you can reference that track in your CC node.
A bit more work on the code side, but once it works, it’s fewer clicks. Just save snapshot, run script, import Axis. No tracking needed.
You could even have the script save it as a CC node with animation applied. Just save it as a setup you can load.