Trying to use a LUT

I’ve been searching for an hour and can’t find any info on how to do this…

I loaded Technicolor’s CineStyle LUT on my Canon 70D. I edit the video files on Lightworks NLE which has the ability to automatically “re-color” all the footage automatically from the bleak log levels that were recorded back to their original vibrant depths with extra room for color manipulation/detail.

Can I do that with RawTherapee for my photos? I would assume that I can, but haven’t found anything explaining how. I keep seeing references to HaldCLUT which seems to be a related topic, but, if it is what I should be using for this process, I haven’t found anything explaining how to load the CineStyle LUT file(s). I’ve got three different file formats from them on this; .mga .txt and .pf2.

I see that in RawTherapee, under the Color tab, in the Color Management section, I can load a custom Input Profile, which sounds like a LUT, but it only seems to recognize .icc and .icm files.

HaldCLUT is a specific type of LUT. You should definitely read the HaldCLUT page on RawPedia: Film Simulation - RawPedia

The cine LUTs you have are not compatible. You can get the HaldCLUT PNG and apply your cine LUT to it in light works, then use the resulting PNG in RT.

There is a combo box in the preferences where you can set the folder with all your CLUTs in it.

2 Likes

I wonder if we could translate the CineStyle LUT to a HaldCLUT easily?

If not, doing what @paperdigits suggest should work, but I’m not 100% sure if it makes sense to apply them against an RGB reference HaldCLUT if they were intended for the Canon log recording. Worth a try? :slight_smile:

Here’s an identity HaldCLUT for all of the 8-bit colors (sRGB). Download the .png, open it in Lightworks, apply your CineStyle LUT to it, then save it back out as a new .png file. You can then use this new .png file in RawTherapee.

2 Likes

Ths above is a 16-level HaldCLUT. I would suggest using the 12-level one as it takes less space, probably is faster to apply (I haven’t measured), and has no visible difference in output:
http://rawpedia.rawtherapee.com/Film_Simulation#How_It_Works

2 Likes

Pat, I just want to disquss some thoughts of mine on this … please correct me if I am wrong …

  • The PNG format is a bit dangerous because not all programs handle it equally … many do not handle metadata and icc profile so a wrong gamma could be applied (gamma=2.2 instead of sRGB) and wrong color space … although for this last sRGB is a safe bet …
    I 'd prefer the identity file in tiff with all metadata in tact …

  • As we don’t know how exactly the Lighworks will handle it … I think a safe bet is that it (and also Cinestyle) expects a file in video format … so HDTV rec709 should be the best encoding …

3 Likes

In a HALDclut, colorspace and gamma isn’t relevant, and should be ignored by any software that applies the clut. It is simply a look-up table, specifying for each input RGB triplet an output RGB triplet.

2 Likes

Yes, and yes. My concern is that we’re also using the Canon Log files, and I’m not even sure what colorspace it may be working in (I don’t have a Canon to bother with it). So all of your points are 100% valid and should absolutely be taken into account.

The HaldCLUT identity file is just one I generated using imagemagick (Q16), convert hald:16 out.png. I’m not even sure if the tiff version will maintain the exif accordingly?

Here’s the output imagemagick wrote for a level 12 file (convert hald:12 out.png):

ExifTool Version Number         : 9.29
File Name                       : test.png
Directory                       : .
File Size                       : 70 kB
File Modification Date/Time     : 2017:12:14 13:24:16+00:00
File Access Date/Time           : 2017:12:14 13:24:16+00:00
File Creation Date/Time         : 2017:12:14 13:24:16+00:00
File Permissions                : rw-rw-rw-
File Type                       : PNG
MIME Type                       : image/png
Image Width                     : 1728
Image Height                    : 1728
Bit Depth                       : 16
Color Type                      : RGB
Compression                     : Deflate/Inflate
Filter                          : Adaptive
Interlace                       : Noninterlaced
Gamma                           : 2.2
White Point X                   : 0.3127
White Point Y                   : 0.329
Red X                           : 0.64
Red Y                           : 0.33
Green X                         : 0.3
Green Y                         : 0.6
Blue X                          : 0.15
Blue Y                          : 0.06
Background Color                : 65535 65535 65535
Datecreate                      : 2017-12-14T13:24:15-06:00
Datemodify                      : 2017-12-14T13:24:15-06:00
Image Size                      : 1728x1728
2 Likes

Thanks :slight_smile:

As we see this PNG is not in a standard sRGB encoding but one with sRGB primaries and gamma=2.2 instead of the complex sRGB (linear with 12.92 slope at the start then gamma=2.4) …

Maybe Lightworks can read it and act accordingly (say convert correctly to it’s internal working space) … maybe not …

In anyway … the user can try the 2-3 conversions mentioned before and find which gives the better result :wink:

I didn’t realize this could be so involved/convoluted. I was just trying to figure out how to restore the color of my photos that were taken with one of the most popular LUTs, developed by a major company (Technicolor) used by Canon users (extremely popular professional cameras) using RawTherapee (an incredibly wonderful and powerful program). I thought it’d be simple like it is on the video end of things - just select the LUT you shot in. My Canon 70D is a DSLR, so firstly its a photography camera and secondarily, its a video camera, so I figured that would make it even easier.

Lightworks NLE (video editor) is a very quality program, having been used by Hollywood for decades and now being ported from their propietary hardware to Windows/Apple/Linux, and it can import photos & video, but doesn’t output photos, only videos. Plus, I don’t trust that capturing frames of video in yet another app after Lightworks may have shifted/scaled/altered pixels from the photo, and manually cropping from 1080p (or even 4k video) that’s been encoded with H264, AVI, MXF, etc - too many variables. Lightworks outputs video, not photos.

I tried to see if I could alter a HaldCLUT (master) image (8 level) with GIMP via G’MIC which can apply LUTS, but GIMP plasters a preview warning (“Specified CLUT filename not found”) over the image making it unusable the moment I select any version of the CineStyle LUT. No idea why.

And I’m amazed at how many different versions and approaches to LUTS there are! All you’re doing is, for each pixel, swapping one specific RGB for another. Technicolor only released 2 or 3 different formats? http://www.technicolor.com/en/solutions-services/cinestyle

I found someone who translated CineStyle into a number of other formats. They admitted they didn’t know how accurate they were. I tried some of those as well. Cinestyle LUT - Online Arts Movies

I’m at a loss.

@Dennis_Alexander
From the LUTs I quickly found lying around, have no time for more digging. The S-curve is the one you directed +) The good people in this forum point out the how, just follow the steps. BTW you can also use G’mic to apply the cube to the png… I don’t remember but I would swear that there was a way also with ImageMagick… cheers

Just point RT to a folder with these pngs and try them out.

TC_clut.zip (18.2 MB)

  • 105K Dec 14 22:11 TC_Scurve.png
  • 134K Dec 14 22:11 TC_adobe_2_strip.png
  • 7.7M Dec 14 22:11 TC_adobe_3_strip.png
  • 10M Dec 14 22:11 TC_Dream.png

 
PS
It is extremelly easy to make the techicolor (switch),in Davinci Resolve, cross platform and free

http://www.ditspot.net/3-strip-technicolor-look-in-davinci-resolve/

 
It is far from perfect, but back then I recreated the look in Resolve with BM’s footage from Ursa

1 Like

A lot of good advice so far. As a stopgap measure, if Lightworks works for you, why not use it on your images? I am pretty sure it can input and output in images or at least image sequences.

Quick web search yields the following that might help you. I haven’t checked the links but be sure to extract the main key frames and not interpolated or artificial ones.

Like this:

convert in.tiff TC_Scurve.png -hald-clut out.tiff

1 Like

@snibgo Hey Alan, yeah I think that’s the one… I thought it was possible with .cube files - a one step WF - though; guess I must have been confused with another program, maybe g’mic. Cheers and thanks

What does the Hald in HaldCLUT stand for?

Yes, G’MIC has some processing for reading .cube (command “input_cube”), but I haven’t explored it. ImageMagick can’t read .cube.

I don’t know the etymology of “HALD”. Possibly “Higher And Lower Dimensions” as it stores a 3D table in a 2D image?

I think the problem is that LUT’s have only recently started becoming more common in still photography, even though they’ve been relatively common in a video workflow for a while. I can understand the frustration.

Another part of the problem is that color (and colorspaces) is not as simple as many folks would believe. It’s a complex subject that starts to get more complex the further you go from more common color spaces like sRGB and AdobeRGB (hence the questions from @ilias_giarimis).

If you want a simple solution, we just need to get your CineStyle LUTs into a format that RawTherapee can use directly (HaldCLUT). Would it be possible for you to upload the files somewhere for us to investigate them? If so, someone might be able to generate a HaldCLUT version for you to use directly with your images.

If you happen to have a file that you don’t mind publicly sharing with us to use as a reference, we can collaborate to get you what you need! :slight_smile:

[edit] - just found this:

http://www.technicolor.com/en/solutions-services/cinestyle

Perhaps I should expand my statement above:

A lookup-table is stored in an image file for convenience. The metadata of this “image” doesn’t matter when the HALDclut is applied.

Creating it is a different matter. An identity HALDclut (where output=input) can be used as a proxy for a real image. For example, if we want to make light blues more pink in a large number of source images, we can use an image editor to make that change once to the HALD image, then apply the same HALD to all the source images. To work successfully, the same RGB numbers in the identity HALD and the source images must represent the same colours. “Light blue” in the HALD must have the same numbers as “light blue” in the source files. If the source images have an ICC profile, then that profile should be applied (EDIT: I mean “assigned”) to the HALD before editing it.

Any software that applies HALDcluts should also be able to make them (in my view). It’s easy; I show pseudo-code in Editing with hald cluts.

3 Likes

The raw data is not affected by any camera effect or LUT.

1 Like

I would like to know as well. I couldn’t find an explanation either. If I were to hazard a guess, maybe it is named after a person or means held together.

Sooo… would application of an inverse of the applied LUT produce an
original rendition?

No, in general that is not possible, a LUT is not a bijection. The most
obvious case is a LUT that maps every inout color to the same output color,
say, black. Reverting that would mean to some up with the original color for
all the black pixels which is obviously impossible.