To apply for this task please complete this mandatory coding challenge together with your application: T872
Applications without matching coding challenge completed will not be considered.
Currently, sensor calibration files (generated with these methods: https://wiki.apertus.org/index.php/Factory_Calibration) are stored as image files in the current directory (e.g. darkframe-x1.pgm), which is fine for small experiments, but quickly falls apart as soon as you use different image capture settings. Therefore, it is desirable to have these calibration files organized in a better way.
Calibration files depend on sensor parameters (such as exposure time, gain, offsets, black sun protection level and so on) and also on temperature. It is possible to get set of calibration files that would cover a wide range of settings (one size fits all), but for best results, it is needed to calibrate some particular settings as well.
For example, one can come up with a set of dark frames, dark current frames and so on that would be valid for all gain and exposure time combinations. However, while the results with generic calibrations can be reasonably good, there is still room for improvement. If a particular project uses gain x1 at 1/50 seconds, one may want to perform an additional calibration just for these settings.
Other settings (e.g. PLR) may affect the sensor response curve in significant ways, so a generic calibration is no longer possible. Even the dark frames are different in PLR and regular modes.
Currently, sensor calibration files are currently used in [[ https://github.com/apertus-open-source-cinema/misc-tools-utilities/tree/master/raw2dng | raw2dng ]] and [[ https://github.com/apertus-open-source-cinema/misc-tools-utilities/tree/master/raw-via-hdmi/hdmi4k | hdmi4k ]].
There is a draft proposal at the [[ http://wiki.apertus.org/index.php/Calibration_files | Calibration files ]] wiki page. It's not set in stone - we are open to suggestions.
C and the desire to keep things well organized
**Mentors:** Alex, Sebastian
**Notes:** If you do not have access to the required hardware platforms/dev kits, we will provide them (or remote access) to you for the duration of the project.