![]() |
IDS peak IPL
v1.7.0
|
Algorithm for (adaptive) hotpixel detection and correction. More...
#include <peak_ipl/algorithm/peak_ipl_hotpixel_correction.hpp>
Public Types | |
| enum | SensitivityLevel { SensitivityLevel::Invalid, SensitivityLevel::SensitivityLevel1, SensitivityLevel::SensitivityLevel2, SensitivityLevel::SensitivityLevel3, SensitivityLevel::SensitivityLevel4, SensitivityLevel::SensitivityLevel5 } |
| SensitivityLevel parameter for the HotpixelCorrection algorithm. More... | |
Public Member Functions | |
| HotpixelCorrection () | |
| ~HotpixelCorrection () | |
| HotpixelCorrection (const HotpixelCorrection &other)=delete | |
| HotpixelCorrection & | operator= (const HotpixelCorrection &other)=delete |
| HotpixelCorrection (HotpixelCorrection &&other) noexcept | |
| HotpixelCorrection & | operator= (HotpixelCorrection &&other) noexcept |
| void | SetSensitivity (SensitivityLevel sensitivityLevel=SensitivityLevel::SensitivityLevel3) |
| Sets the sensitivity of the hotpixel detection. More... | |
| SensitivityLevel | Sensitivity () const |
| Returns the current sensitivity. More... | |
| void | SetGainFactorPercent (uint32_t gainFactorPercent=100) |
| Sets the gain factor in percent. More... | |
| uint32_t | GainFactorPercent () const |
| Returns the current gain factor in percent. More... | |
| std::vector< Point2D > | Detect (const Image &inputImage) const |
| Detects hotpixels in the given image. More... | |
| Image | Correct (const Image &inputImage, const std::vector< Point2D > &hotpixels) const |
| Corrects the given hotpixels in the given image. More... | |
| Image & | CorrectInPlace (Image &inputImage, const std::vector< Point2D > &hotpixels) const |
| Corrects the given hotpixels inplace in the given image. More... | |
| Image | CorrectAdaptive (const Image &inputImage) |
| Corrects the given image adaptively. More... | |
| Image & | CorrectAdaptiveInPlace (Image &inputImage) |
| Corrects the given image inplace adaptively. More... | |
Algorithm for (adaptive) hotpixel detection and correction.
This algorithm corrects hotpixels either manually by correcting a predefined list of pixels or adaptively by automatically updating the list of pixels to correct. In manual mode, pass a list of hotpixels to Correct(). The hotpixels can obtained using Detect(), or from a different source, e.g. retrieved directly from the camera from an initial hotpixel calibration. In adaptive mode, just keep passing new images to CorrectAdaptive(). Hotpixels are then detected and corrected automatically.
|
strong |
SensitivityLevel parameter for the HotpixelCorrection algorithm.
Higher sensitivity levels mean more hotpixels will be detected and corrected, but can also lead to more false-positives.
| Enumerator | |
|---|---|
| Invalid | |
| SensitivityLevel1 | |
| SensitivityLevel2 | |
| SensitivityLevel3 | |
| SensitivityLevel4 | |
| SensitivityLevel5 | |
|
inline |
|
inline |
|
delete |
|
inlinenoexcept |
|
inline |
Corrects the given hotpixels in the given image.
Pass a list of hotpixels, either returned by Detect(), or from a different source (e.g. retrieved directly from the camera from an initial hotpixel calibration).
| [in] | inputImage | The input image. |
| [in] | hotpixels | The list of hotpixels to be corrected. |
| ImageFormatNotSupportedException | inputImage has packed pixel format |
| OutOfRangeException | inputImage is too small to process correctly |
| Exception | An internal error has occurred. |
Corrects the given image adaptively.
For each new passed to this method, first the list of hotpixels is adapted, then all pixels in the adapted hotpixel list are corrected.
| [in] | inputImage | The input image. |
| ImageFormatNotSupportedException | inputImage has packed pixel format |
| OutOfRangeException | inputImage is too small to process correctly |
| Exception | An internal error has occurred. |
Corrects the given image inplace adaptively.
For each new passed to this method, first the list of hotpixels is adapted, then all pixels in the adapted hotpixel list are corrected. The image will not be copied.
| [in] | inputImage | The input image. |
| ImageFormatNotSupportedException | inputImage has packed pixel format |
| OutOfRangeException | inputImage is too small to process correctly |
| Exception | An internal error has occurred. |
|
inline |
Corrects the given hotpixels inplace in the given image.
Pass a list of hotpixels, either returned by Detect(), or from a different source (e.g. retrieved directly from the camera from an initial hotpixel calibration). The image will not be copied and the hotpixel will be corrected within the given image.
| [in] | inputImage | The input image. |
| [in] | hotpixels | The list of hotpixels to be corrected. |
| ImageFormatNotSupportedException | inputImage has packed pixel format |
| OutOfRangeException | inputImage is too small to process correctly |
| Exception | An internal error has occurred. |
|
inline |
Detects hotpixels in the given image.
| [in] | inputImage | The input image. |
| ImageFormatNotSupportedException | inputImage has packed pixel format |
| OutOfRangeException | inputImage is too small to process correctly |
| Exception | An internal error has occurred. |
|
inline |
|
delete |
|
inlinenoexcept |
|
inline |
Returns the current sensitivity.
| Exception | An internal error has occurred. |
|
inline |
Sets the gain factor in percent.
| [in] | gainFactorPercent | The gain factor in percent to set. |
| Exception | An internal error has occurred. |
|
inline |
Sets the sensitivity of the hotpixel detection.
| [in] | sensitivityLevel | The sensitivity level to set. |
| Exception | An internal error has occurred. |