Management of image sensor calibration files
Open, NormalPublic

Description

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:

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.

alex created this task.Feb 7 2017, 11:42 PM
alex updated the task description. (Show Details)
alex raised the priority of this task from to Needs Triage.
alex moved this task to Misc on the Google Summer of Code 2022 board.
sebastian updated the task description. (Show Details)Feb 9 2017, 4:04 PM
Bertl updated the task description. (Show Details)Feb 9 2017, 5:24 PM
sebastian updated the task description. (Show Details)Mar 28 2017, 7:04 PM
sebastian moved this task from Misc to Misc on the Google Summer of Code 2022 board.
sebastian moved this task from Misc to Misc on the Google Summer of Code 2022 board.
sebastian updated the task description. (Show Details)Jan 22 2018, 9:03 AM
sebastian updated the task description. (Show Details)Mar 1 2018, 9:06 PM
sebastian updated the task description. (Show Details)Mar 2 2018, 9:25 PM
sebastian updated the task description. (Show Details)Mar 3 2018, 9:22 PM
sebastian updated the task description. (Show Details)Mar 4 2018, 7:28 PM
sebastian updated the task description. (Show Details)Mar 8 2018, 8:26 PM
sebastian renamed this task from Management of sensor calibration files to Management of image sensor calibration files.May 8 2018, 12:17 PM
BAndiT1983 updated the task description. (Show Details)Feb 5 2019, 8:23 AM
sebastian triaged this task as Normal priority.
sebastian updated the task description. (Show Details)Feb 6 2019, 1:19 PM
Bertl updated the task description. (Show Details)Feb 28 2019, 2:12 PM
sebastian updated the task description. (Show Details)Apr 6 2019, 12:35 PM