How do I use the basecurve in Darktable to make sure that the final output is linear? That is, if the irradiance E is received at the front lens, I want the pixel values in the final values to be k*E, where k is constant. Does the default curve compensate for any non-linearities, or is the input already assumed to be linear, so the curve should be used to create a certain look?

The purpose of the images are for textures, and I want to have a linear workflow all the way until the final render, where the appropriate curves should be applied.

In other words, a non-tonemapped image is required, such that the image may be used in other programs that expect linear images.

  • 1
    How do you know that the sensor of a commercial camera is linear? – xenoid Jul 23 '19 at 18:45
  • 4
    I'm voting to close this question as off-topic because this is about using camera as a laboratory device, not about photography. – xenoid Jul 23 '19 at 18:46
  • 1
    @xenoid just take it as a given that sensors are linear; you can look at the data sheet for any of them to confirm. And I don't consider this question off-topic, it's similar to any color space question. – Mark Ransom Jul 24 '19 at 16:10
  • This question is absolutely on-topic; just because you don't know about linear imaging doesn't mean this is off topic. – hatsunearu Jul 25 at 0:39

It should be quite easy to measure. Take a series of pictures with different exposure time t, using a constant light source. Then the input to the system will be linear, because the number of photons that will hit the sensor is proportional to E and t. This will give measure points of the imaging system, which can be used to create a calibration profile.

Taking pictures against a white wall in a dark room gave the following result:

Exposure time vs intensity

As you can see, the output from the camera is pretty linear, with the basecurve turned off.

| improve this answer | |

Not the answer you're looking for? Browse other questions tagged or ask your own question.