Flat Field Correction Control
Flat Field Correction (FFC) is used to suppress an image sensor Fixed Pattern Noise (FPN) which is a common image artifact for many CMOS sensors. FFC includes correction for both Dark Signal Non-Uniformity (DSNU) and Pixel Response Non-Uniformity (PRNU). The suppression for DSNU is achieved by black level correction and the suppression for PRNU is achieved by gain correction. A reference equation is given below:
Pn = ΔGn ⨯ ( Un + ΔOn )
Where:
- n could be pixel, row or column index.
- P is the corrected pixel value.
- U is the uncorrected pixel value.
- ΔG is the delta gain (gain correction), which is row/column/pixel dependent.
- ΔO is the delta offset (black level correction), which is row/column/pixel dependent.
Note that our FFC is currently column dependent only since the column FPN is the dominant noise for all sensors we support.
Flat Field Correction Control
FFC can be enabled or disabled using Flat Field Correction Enable. It is enabled by default.
Use Flat Field Correction Mode to select a mode. There are three FFC modes: Factory, User, and Calibration.
Factory mode
This is the default mode. In this mode, the camera uses the factory delta gain/offset parameters calibrated by FLIR.
The FFC coefficients change with different camera gain levels.
User mode
In this mode, the camera uses fixed FFC coefficients across all camera gain levels. The default values for this mode apply no FFC and are the equivalent of disabling FFC. To modify the values, you must switch to Calibration mode.
Calibration mode
In this mode, the Flat Field User Table Control access (R/W) is available. At the same time, FFC will be automatically disabled and become unavailable. Therefore, values entered for delta gain/offset do not take effect until the mode is switched to User and FFC is enabled again.
Flat Field User Table Control
When in Calibration mode, you can access these controls.
Table x Coordinate specifies the horizontal coordinate of the FFC gain/offset. The FFC implementation supports only the x coordinate, for suppressing the column FPN.
Flat Field Gain specifies the delta gain for each table x coordinate.
Flat Field Offset (16-bit) specifies the delta offset for each table x coordinate. The step size should be queried before writing the value as it is normally much greater than 1 (e.g., 32). Entering a value that is not divisible by the step size results in an error.
User Table Reset sets all FFC parameters back to the last saved values loaded from the camera. If nothing has been previously saved, this resets to the default values which is the equivalent of disabling FFC.
User Table Save saves the FFC parameters into non-volatile memory which is preserved even when the camera is power cycled. This overwrites the existing saved user table.
Summary Table
Name | Interface | Access | Visibility | Description |
---|---|---|---|---|
BSI Flat Field Correction Enable | IBoolean | Guru | Enables flat field correction for Back Size Illuminated sensors that have fixed pattern noise across 2x2 groups of pixels. | |
IEnumeration | Guru | Sets the auto BSI flat field correction mode. Set to Off to manually set the correction gains. Set to Continuous to automaticaly adjust the gains continually based on the current image content. Set to Once for a one-time admatic adjustment of the gains. | ||
IFloat | Guru | Controls how quickly BsiFlatFieldCorrectionAuto adjusts the values of BsiFlatFieldCorrectionGain. Higher damping means the gains are changed more gradually. | ||
IEnumeration | Guru | Selects which pixel position has its correction gain controlled by the BsiFlatFieldCorrectionGain feature. | ||
[] | IFloat | Guru | Controls the flat field correction gain of the pixel location specified by BsiFlatFieldCorrectionGainSelector. This is a linear multiplier applied to the pixel value. | |
Flat Field Correction Enable | IBoolean | Beginner | Enable or disable flat field correction. | |
Flat Field Correction Mode | IEnumeration | Expert | Selects flat field correction mode. Note that flat field correction parameters are accessible only in Calibration mode. When switching modes from Calibration to User or Factory, it is recommended to stop image streaming to give the camera enough time to load the corresponding table. | |
Flat Field User Table Control | ICategory | Expert | Category that contains User flat field correction table control features. |
Flat Field Correction Control Features
BSI Flat Field Correction Enable
Enables flat field correction for Back Size Illuminated sensors that have fixed pattern noise across 2x2 groups of pixels.
Property | Value |
---|---|
Name | BsiFlatFieldCorrectionEnable |
Interface | IBoolean |
Access | |
Visibility | Guru |
Sets the auto BSI flat field correction mode. Set to Off to manually set the correction gains. Set to Continuous to automaticaly adjust the gains continually based on the current image content. Set to Once for a one-time admatic adjustment of the gains.
Property | Value |
---|---|
Name | BsiFlatFieldCorrectionAuto |
Interface | IEnumeration |
Access | |
Visibility | Guru |
Enumeration Values |
---|
Off |
Once |
Continuous |
Controls how quickly BsiFlatFieldCorrectionAuto adjusts the values of BsiFlatFieldCorrectionGain. Higher damping means the gains are changed more gradually.
Property | Value |
---|---|
Name | BsiFlatFieldCorrectionAutoDamping |
Interface | IFloat |
Access | |
Unit | |
Visibility | Guru |
Selects which pixel position has its correction gain controlled by the BsiFlatFieldCorrectionGain feature.
Property | Value |
---|---|
Name | BsiFlatFieldCorrectionGainSelector |
Interface | IEnumeration |
Access | |
Visibility | Guru |
Enumeration Values |
---|
Pixel0 |
Pixel1 |
Pixel2 |
Pixel3 |
Controls the flat field correction gain of the pixel location specified by BsiFlatFieldCorrectionGainSelector. This is a linear multiplier applied to the pixel value.
Property | Value |
---|---|
Name | BsiFlatFieldCorrectionGain [] |
Interface | IFloat |
Access | |
Unit | |
Visibility | Guru |
Flat Field Correction Enable
Enable or disable flat field correction.
Property | Value |
---|---|
Name | FfcEnable |
Interface | IBoolean |
Access | |
Visibility | Beginner |
Flat Field Correction Mode
Selects flat field correction mode. Note that flat field correction parameters are accessible only in Calibration mode. When switching modes from Calibration to User or Factory, it is recommended to stop image streaming to give the camera enough time to load the corresponding table.
Property | Value |
---|---|
Name | FfcMode |
Interface | IEnumeration |
Access | |
Visibility | Expert |
Enumeration Values |
---|
Factory |
User |
Calibration |
Flat Field User Table Control
Category that contains User flat field correction table control features.
Property | Value |
---|---|
Name | FfcUserTableControl |
Interface | ICategory |
Access | |
Visibility | Expert |