Impact Acquire SDK Java
TDefectivePixelsFilterMode Class Reference

Defines valid modes for defective pixels filter. More...

Static Public Attributes

static final int dpfm3x1Average = acquireJNI.dpfm3x1Average_get()
 The filter is active, detected defective pixels will be replaced with the average value from the left and right neighbor pixel.
 
static final int dpfm3x3Median = acquireJNI.dpfm3x3Median_get()
 The filter is active, detected defective pixels will be replaced with the median value calculated from the nearest neighbors (3x3).
 
static final int dpfmCalibrateColdPixel = acquireJNI.dpfmCalibrateColdPixel_get()
 Detect defective cold pixels within the next frame captured.
 
static final int dpfmCalibrateHotAndColdPixel = acquireJNI.dpfmCalibrateHotAndColdPixel_get()
 Detect defective hot and cold pixels within the next frame captured.
 
static final int dpfmCalibrateHotPixel = acquireJNI.dpfmCalibrateHotPixel_get()
 Detect defective hot pixels within the next frame captured.
 
static final int dpfmCalibrateLeakyPixel = acquireJNI.dpfmCalibrateLeakyPixel_get()
 Detect defective leaky pixels within the next frame captured.
 
static final int dpfmOff = acquireJNI.dpfmOff_get()
 This filter is switched off.
 
static final int dpfmReplaceDefectivePixelAfter3x3Filter = acquireJNI.dpfmReplaceDefectivePixelAfter3x3Filter_get()
 The filter is active, detected defective pixel will be replaced and treated as being fed into a 3x3 de-Bayer algorithm before reaching the filter.
 
static final int dpfmResetCalibration = acquireJNI.dpfmResetCalibration_get()
 reset the calibration, delete all internal lists.
 

Detailed Description

Defines valid modes for defective pixels filter.

Member Data Documentation

◆ dpfm3x1Average

final int dpfm3x1Average = acquireJNI.dpfm3x1Average_get()
static

The filter is active, detected defective pixels will be replaced with the average value from the left and right neighbor pixel.

◆ dpfm3x3Median

final int dpfm3x3Median = acquireJNI.dpfm3x3Median_get()
static

The filter is active, detected defective pixels will be replaced with the median value calculated from the nearest neighbors (3x3).

◆ dpfmCalibrateColdPixel

final int dpfmCalibrateColdPixel = acquireJNI.dpfmCalibrateColdPixel_get()
static

Detect defective cold pixels within the next frame captured.

These are pixels that produce a lower read out code than the average when the sensor is exposed to light.

◆ dpfmCalibrateHotAndColdPixel

final int dpfmCalibrateHotAndColdPixel = acquireJNI.dpfmCalibrateHotAndColdPixel_get()
static

Detect defective hot and cold pixels within the next frame captured.

These are pixels that produce either a higher or a lower read out code than the average when the sensor is exposed to light. This effectively combines mvIMPACT.acquire.TDefectivePixelsFilterMode.dpfmCalibrateColdPixel and mvIMPACT.acquire.TDefectivePixelsFilterMode.dpfmCalibrateHotPixel

Since
2.31.0

◆ dpfmCalibrateHotPixel

final int dpfmCalibrateHotPixel = acquireJNI.dpfmCalibrateHotPixel_get()
static

Detect defective hot pixels within the next frame captured.

These are pixels that produce a higher read out code than the average when the sensor is exposed to light.

Since
2.31.0

◆ dpfmCalibrateLeakyPixel

final int dpfmCalibrateLeakyPixel = acquireJNI.dpfmCalibrateLeakyPixel_get()
static

Detect defective leaky pixels within the next frame captured.

These are pixels that produce a higher read out value than the average when the sensor is not exposed.

◆ dpfmOff

final int dpfmOff = acquireJNI.dpfmOff_get()
static

This filter is switched off.

◆ dpfmReplaceDefectivePixelAfter3x3Filter

final int dpfmReplaceDefectivePixelAfter3x3Filter = acquireJNI.dpfmReplaceDefectivePixelAfter3x3Filter_get()
static

The filter is active, detected defective pixel will be replaced and treated as being fed into a 3x3 de-Bayer algorithm before reaching the filter.

This is a rather special mode that only makes sense for very specific use cases:

  • Defective pixel data has been obtained by the filter from a device that did carry this data within it's non-volatile memory, the device itself does NOT provide a defective pixel replacement functionality and the device is operated in RGB or YUV mode using a 3 by 3 filter kernel. This will introduce artifacts in the pixels surrounding the defective pixel then and to compensate that a special handling is needed.
  • To reduce CPU load another use case might be to detect defective pixels on a device in Bayer mode using the defective pixel filter of this SDK and then switch the device into RGB mode if supported. Again this is only needed if the device itself does not offer a defective pixel compensation.

A far better way to tackle this of course would be (in that order):

  • Compensate the defective pixels on the device BEFORE feeding the data into the Bayer filter
  • Switch the device to a Bayer format, compensate the defective pixels on the host and THEN feed the data into a host-based Bayer filter
  • Select a device with less defective pixels if these are causing harm to the application

This mode will only operate on packed RGB or packed YUV444 data! It will assume that when given a pixel p all the surrounding pixels marked with a d in the following section need to be replaced as well(- stands for other pixels NOT affected by the replacement operation):

---------------
---------------
----ddd--------
----dpd--------
----ddd--------
---------------
Since
2.33.0

◆ dpfmResetCalibration

final int dpfmResetCalibration = acquireJNI.dpfmResetCalibration_get()
static

reset the calibration, delete all internal lists.