OpenDRT for Darktable

OpenDRT with haldclut, the haldclut is done with the ART CTL with the follow parameter

Summary

if (look_preset==0) { // Default
tn_Lg = 11.1;
tn_con = 1.4;
tn_sh = 0.5;
tn_toe = 0.003;
tn_off = 0.005;
tn_hcon_enable = 0;
tn_hcon = 0.0;
tn_hcon_pv = 1.0;
tn_hcon_st = 4.0;
tn_lcon_enable = 1;
tn_lcon = 0.85;
tn_lcon_w = 0.5;
tn_lcon_pc = 1.0;
cwp = 0;
cwp_rng = 0.5;
rs_sa = 0.35;
rs_rw = 0.25;
rs_bw = 0.55;
pt_r = 0.5;
pt_g = 0.89;
pt_b = 0.89;
pt_rng_low = 0.22;
pt_rng_high = 0.8;
ptl_enable = 1;
ptm_enable = 1;
ptm_low = 0.4;
ptm_low_st = 0.5;
ptm_high = -0.8;
ptm_high_st = 0.3;
brl_enable = 1;
brl_r = -0.5;
brl_g = -0.4;
brl_b = -0.2;
brl_c = 0.0;
brl_m = 0.0;
brl_y = 0.0;
brl_rng = 0.66;
hs_rgb_enable = 1;
hs_r = 0.35;
hs_g = 0.25;
hs_b = 0.5;
hs_rgb_rng = 0.6;
hs_cmy_enable = 1;
hs_c = 0.2;
hs_m = 0.2;
hs_y = 0.2;
hc_enable = 1;
hc_r = 0.6;
}

I can’t find any difference from ART output

Before the haldclut is necessary to use the unbreak input profile module with fixed parameter to not modify, the working profile must be “linear rec2020”

The usage is very easy:

  1. It helps activate the exposure module with exposure=+1.610 EV
  2. working profile=linear REC2020 RGB
  3. Unbreak input profile (after the input profile) with the follow parameters
  4. lut 3D with application color space=linear rec2020

The haldcluts are here, one with Arriba Tonecall Tonescale and one with high-contrast tone scale

Thanks @jedsmith, it’s a great tone mapper!

1 Like

I’ve ported to Darktable various luts from camera manufacturers too.

ARRI logC3 to 709
https://www.arri.com/service/search/en/49664?query=LUT

Sony log to 709
https://www.sony.it/electronics/support/software/00263050

Panasonic log to 709
https://av.jpn.support.panasonic.com/support/global/cs/dsc/download/lut/s1h_raw_lut/index.html

It’s intereseting to see how how camera manufacturers do gamut and tone mapping to sdr.

2 Likes

Interesting! Does this mean the 1D LUT problem from this thread and this issue has a workaround? Would be cool! Would be nice to have Cube LUTs as these are much smaller.

Cube luts are ok for log->log or log->2.2 gamma conversion, they introduces black crushing and posterization in a rec709->linear light conversion.

Thanks for sharing with DT :grin:… You can certainly “geek out” on tone mappers in art with all the added CTL tools. I have tried several of them. Even the simple ART odt which reminded me of @kofa original simple AGX can produce really nice results… OpenDRT, the one tonemapper, Michaelis Menton, aces, and a few other many with gamut control… Throw in the agx film emulations and art does offer a lot of options.

1 Like

OK, thanks! Should linear REC2020 RGB be used for all 10 profiles?

Is SonyCine709.png the same as Sony’s S-Gamut3.Cine/S-Log3 to 709 LUT? What are the corresponding Sony names for SonyCine709.png, SonyLC709-typeA.png and SonyLC709.png?

For Arri_logc3.png, is the output Arri Log C3? It does not look like 709 output. There is no way to convert Log C3 to 709 in darktable, right?

1 Like

4_SGamut3CineSLog3_To_Cine+709.cube
2_SGamut3CineSLog3_To_LC-709TypeA.cube
1_SGamut3CineSLog3_To_LC-709.cube

For the film simulation luts the working space should be linear rec709

The haldclut output is linear rec2020, pratically the haldclut does the following things:

logarithmic base 2 shaper to linear
rec2020 primaries to arri primaries
linear to logc3
apply the cube lut
pure gamma 2.4 to linear
709 primaries to 2020 primaries

1 Like

Doesn’t the use of Rec 709 mean a lot of clipping occurring early?

Yes, film simulation luts from Juan Melara should be applied on cineon log footage with rec709 primaries, it’s a technical limitation (the haldcluts do internally all the required conversions)

I meant OpenDRT.
I have some distant plans to maybe port the algo as a module, but first I want to finish the stuff I already have in the works.

2 Likes

OpenDRT in the haldclut woks in rec2020 without any conversion to rec709 :muscle:

1 Like

Aren’t many of these LUT’s designed for transforming video footage in log format to another space like Rec709? They are great for that purpose, but I’m struggling to understand how they would be beneficial for camera RAW image processing.

Creative (non-technical) LUTs are a different matter. I use a few of these now and then.