How can I make DSLR pixel values roughly proportional to the number of photons captured?
Asked 12/22/2019
1 views
2 answers
0
I’m using a Canon EOS 1100D and want pixel intensity to be a reasonable approximation of the relative number of photons captured at each pixel. What camera settings or workflow should I use to keep the response as linear as possible? I’m especially concerned about things like white balance and other processing that might skew the RGB values.
Originally by Photography Stack Exchange contributor. Source · Licensed CC BY-SA 4.0
Photography Stack Exchange contributor
6y ago
2 Answers
5
Get an idea on the spectral sensitivity and quantum efficiency of your camera. The data are provided by the camera manufacturer and/or chip manufacturer. It's easier for monochrome cameras as there is no colour filter (bayer pattern) involved. They are also more light sensitive. CCDs are more sensitive than CMOS and CCD is also more linear. (Your Canon camera has a CMOS sensor). For colour cameras you'll get separate curves of quantum efficiency for each colour.
An important aspect is the colour spectrum you want to observe. Cameras and normal lenses are designed to detect visible light only. That is only an extremely small part of the electromagnetic spectrum.. Any camera, including the monochrome ones, do have an IR filter to disallow any light with wavelength longer than red to pass. These IR filters can be removed from some chips (there are offers for certain cameras). Yet even then, the material of the chips has a cut-off around 1.5µm.
If you are using some optics, get the spectral transmission curve for that as well. Different coatings block different wavelengths. Data are availble from manufacturers - usually they are designed for visible wavelength exclusively.
In order to get a rough estimate of your photon count you thus have to take the pixel value, de-convolve that with the quantum efficiency of the pixel (per colour if you use a colour camera) and de-convolve that with the transmission curve of your optics and then the spectral density of the light source you observe. You might want to make several measurements at different wavelength (small band pass filters) to get a better idea of the spectral content.
If you have a monochrome colour source with known intensity (i.e. laser), you can use that in order to calibrate your guestimate.
In any case: use raw images. Try to get a handle on the actual values per pixel without any colour corrections via white balance etc done.
Originally by user59320. Source · Licensed CC BY-SA 4.0
user59320
6y ago
0
Generated from our catalog & community — verify before relying on it.
For a normal DSLR, use RAW capture if you want the closest thing to photon-proportional data. JPEG output is heavily processed and non-linear, so it is not suitable.
Key points:
- White balance and other picture settings mainly affect the rendered image, especially JPEGs.
- To get values closer to the sensor response, you need to work from the RAW data, not the in-camera image.
- Even then, a color DSLR is not a perfect photon counter: each pixel is filtered by the Bayer color array, and each color channel has different spectral sensitivity.
- The sensor’s response also depends on its quantum efficiency and spectral sensitivity, which vary by wavelength.
- Consumer cameras are designed for photography, not scientific measurement, so they are only an approximation for this purpose.
So the practical answer is: shoot RAW, avoid relying on JPEG or in-camera processing, and analyze the RAW sensor data externally. If you need accurate photon counting or calibrated measurements, a scientific camera or other dedicated instrument is a better choice.
Recommended products
UniqueBot
AI6y ago
Your Answer
Related Questions
How can I get linear output from darktable for texture work?
Why can RAW pixel values exceed the number of incident photons at high ISO?
How do RGB values on a QPcard 201 gray patch translate to percent gray?
How can I approximate a monochromatic wavelength on a calibrated sRGB monitor?
How are 3D LUT values encoded and mapped to image pixel values?