To apply for this task please complete this mandatory coding challenge together with your application: T872 or T1140
Applications without matching coding challenge completed will not be considered.
Read our Google Summer of Code Overview page:
https://wiki.apertus.org/index.php/GSoC_Overview
Currently, sensor calibration files (which are unique for every image sensor) (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. (maybe with checksums and metadata about the parameters of the calibration method, time, situation and validation results).
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 a 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 for some particular settings/situations as well. The scope of this task is to research which settings have which effects and how severe compensations need to be for optimal results.
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 only gain x1 at 1/50 seconds exposure time, one may want to perform an additional calibration just for these particular settings.
Other settings (e.g. HDR Piecewise Linear Response Mode: 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 compared to regular mode.
Currently, sensor calibration files are used in raw2dng and hdmi4k which process raw12 image files to DNG
There is a draft proposal at the Calibration files wiki page. It's not set in stone - we are open to suggestions.
Planned raw recording image data flow (USB3 module is in development):
Further references:
- CMV12000 V2 datasheet: https://github.com/apertus-open-source-cinema/beta-hardware/tree/master/Datasheets
- https://en.wikipedia.org/wiki/Fixed-pattern_noise
Skills required:
C and the desire to keep things well organized
Difficulty: Medium
Mentors: Alex (main mentor), Sebastian (backup/co mentor)
To get in touch with any mentor check the Mentor Contact List.
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.