IDefectDetection#

namespace Itala

Functions

IDefectDetection *CreateDefectDetection(size_t width, size_t height, PixelDepth depth)#

Creation for function for IDefectiveDetection instances. The image width, height and pixel depth that will be used for the detection must be specified and kept identical for all images. Keep in mind that when using color formats (e.g. BayerRG8) the detection must be performed on every color separately. If the instance created by this function is owned by a smart pointer, the IDefectDetection::Dispose function must be used as deleter or, in general, called on destruction if RAII techniques are used.

Parameters:
  • width – width of the images the detection will be performed on.

  • height – height of the images the detection will be performed on.

  • depth – Depth of the images the detection will be performed on.

Returns:

Pointer to the created IDefectDetection instance.

struct IDefectDetection : public Itala::IDisposable#
#include <IDefectDetection.h>

Interface for defective pixel detection. The description of the process principles is provided in Opto Engineering’s camera manuals. The ownership of the pixel detection instance belongs to the client code, so it needs to be disoposed via IDefectDetection::Dispose when it’s no longer required.

Public Functions

virtual void AccumulateDark(uint8_t *imageBuffer) = 0#

Dark images are used for both leaky and hotc/cold pixel detection. These images are accumulated via this function. The statistical properties needed for the detection are calculated instantaneously and kept when an image buffer is accumulated. The image buffer memory must be managed by the client code, since IDefectDetection doesn’t store nor release image data in any way. The image buffer data is passed as generic byte pointer to keep the procedure generic and decoupled from the PFNC formats.

virtual void AccumulateGray(uint8_t *imageBuffer) = 0#

Gray images are used for hot/cold pixels detection. These images are accumulated via this function.

See also

AccumulateDark

virtual void ResetDark() = 0#

Flush the results computed for the accumulated dark images. This way a new accumulation and detection can be performed.

virtual void ResetGray() = 0#

Flush the results computed for the accumulated gray images. This way a new accumulation and detection can be performed.

virtual DefectivePixelList FindLeaky(uint64_t maxFound, float threshold) = 0#

Run the leaky pixel detection given the accumulated dark images.

Parameters:
  • maxFound – Maximum amount of leaky pixels to look for.

  • threshold – Distance from the mean, measured in units of standard deviation, beyond which a pixel is considered defective.

Returns:

a list of DefectivePixel obejects, one for each leaky pixel found.

virtual DefectivePixelList FindHotNCold(uint64_t maxFound, float threshold) = 0#

Run the hot/cold pixel detection given the accumulated gray images.

See also

FindLeaky

Protected Functions

inline virtual ~IDefectDetection()#