set cut_paste_input [stack 0]
push $cut_paste_input
Group {
name Tonemap_Siragusano
label "Siragusano Complex\nPower Pivoted Toe + Surround"
addUserKnob {20 Tonemap}
addUserKnob {78 g l grey t "input -> output grey" n 2}
g {0.18 0.1}
addUserKnob {78 w l white t "input -> output white" n 2}
w {16 1}
addUserKnob {7 p l contrast R 0.8 2}
p 1.2
addUserKnob {7 ps l surround t "surround compensation: un-pivoted power function" R 0.8 1.2}
ps 1
addUserKnob {7 t0 l toe R 0 0.1}
t0 0.004
addUserKnob {78 s l scale n 2}
s {{(g.0*w.0*pow(g.1,1/p)-g.0*w.0*pow(0.5*sqrt(w.1)*sqrt(w.1+4*t0)+w.1/2,1/p))/(g.0*pow(0.5*sqrt(w.1)*sqrt(w.1+4*t0)+w.1/2,1/p)-w.0*pow(g.1,1/p))} {0.5*pow(w.0/(w.0+s.0),-2*p)*(sqrt(w.1)*sqrt(w.1+4*t0)*pow(w.0/(w.0+s.0),p)+w.1*pow(w.0/(w.0+s.0),p))}}
addUserKnob {7 p1 R 0 4}
p1 {{ps*log(g.1)/log((s.1*s.1*pow(g.0/(g.0+s.0),2*p))/(s.1*pow(g.0/(g.0+s.0),p)+t0))}}
addUserKnob {4 direction M {forward inverse}}
addUserKnob {26 ""}
addUserKnob {26 plot_label l " " T "desmos plot"}
}
Input {
inputs 0
name Input
xpos -40
ypos -70
}
set Neb8a9b0 [stack 0]
Expression {
expr0 0.5*(pow(r,1/p1)+sqrt(pow(r,1/p1)*(pow(r,1/p1)+4*t0)))
expr1 0.5*(pow(g,1/p1)+sqrt(pow(g,1/p1)*(pow(g,1/p1)+4*t0)))
expr2 0.5*(pow(b,1/p1)+sqrt(pow(b,1/p1)*(pow(b,1/p1)+4*t0)))
name InvToe
xpos 70
ypos 20
}
Expression {
expr0 (s.0*pow(r/s.1,1/p))/(1-pow(r/s.1,1/p))
expr1 (s.0*pow(g/s.1,1/p))/(1-pow(g/s.1,1/p))
expr2 (s.0*pow(b/s.1,1/p))/(1-pow(b/s.1,1/p))
name InvCompress
xpos 70
ypos 50
}
push $Neb8a9b0
Expression {
expr0 s.1*pow(r/(r+s.0),p)
expr1 s.1*pow(g/(g+s.0),p)
expr2 s.1*pow(b/(b+s.0),p)
name Compress
xpos -150
ypos 20
}
Expression {
expr0 pow((r*r)/(r+t0),p1)
expr1 pow((g*g)/(g+t0),p1)
expr2 pow((b*b)/(b+t0),p1)
name ToeSurround
xpos -150
ypos 52
}
Switch {
inputs 2
which {{parent.direction}}
name SwitchDirection
xpos -40
ypos 141
}
Output {
name Output
xpos -40
ypos 200
}
end_group