Traditional tone curves take input from 0…1 and take it to 0…1.
The curves in filmic, sigmoid and agx_ do the same, but:
- they transform the input into log space
- edit: importantly, the input it not limited to 0…1 (thanks, @rvietor )
- normalise the display-referred result into 0…1
You can actually do something similar with the base curve module, where you can use the scale to compress the x axis (devoting more space to shadows, less to highlights, similar to what log would do). You just have to drop the exposure to make sure the input fits into 0…1. Note: this is with the base curve set to linear (essentially disabled):
Then, with the base curve turned on:
This is very hard to handle, though – notice, how steep that curve is, even though I used the maximum value for scale.
sigmoid and agx don’t show the curve, but filmic does:
Note that the dynamic range exceeds 16 EV. But instead of dealing with values ranging from
0.0000152587890625 (2^-16, so -16 EV) … 1, the logarithm will handle values ranging from -9.81 to 6.84 (relative to middle grey). Even if you were to edit it by hand, it would be much easier than with the base curve.


