IDS peak IPL  v1.3.2
peak_ipl_dynamic_loader.h
Go to the documentation of this file.
1 
10 #pragma once
11 
12 #include "peak_ipl_backend.h"
13 #include <string>
14 #include <cstdint>
15 
16 #ifdef __linux__
17  #include <dlfcn.h>
18 #else
19  #include <vector>
20  #include <windows.h>
21  #include <tchar.h>
22 #endif
23 
24 #include <stdexcept>
25 
26 #undef PEAK_IPL_PUBLIC
27 #define PEAK_IPL_PUBLIC
28 #undef PEAK_IPL_CALL_CONV
29 #define PEAK_IPL_CALL_CONV
30 
31 
32 namespace peak
33 {
34 namespace ipl
35 {
36 namespace dynamic
37 {
38 
39 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Library_GetVersionMajor)(uint32_t * libraryVersionMajor);
40 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Library_GetVersionMinor)(uint32_t * libraryVersionMinor);
41 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Library_GetVersionSubminor)(uint32_t * libraryVersionSubminor);
42 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Library_GetLastError)(PEAK_IPL_RETURN_CODE * lastErrorCode, char * lastErrorDescription, size_t * lastErrorDescriptionSize);
46 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT * outputPixelFormats, size_t * outputPixelFormatsSize);
47 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageConverter_Convert)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
48 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageConverter_ConvertToBuffer)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t * outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
56 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_POINT_2D * hotpixels, size_t * hotpixelsSize);
57 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Correct)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, const PEAK_IPL_POINT_2D * hotpixels, size_t hotpixelsSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
61 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float * colorCorrectorFactors);
62 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float * colorCorrectorFactors, size_t * colorCorrectorFactorsSize);
68 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_SetMasterGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainValue);
69 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetMasterGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainValue);
70 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetMasterGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainMax);
71 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetMasterGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainMin);
72 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_SetRedGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainValue);
73 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetRedGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainValue);
74 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetRedGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainMax);
75 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetRedGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainMin);
76 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_SetGreenGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainValue);
77 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetGreenGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainValue);
78 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetGreenGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainMax);
79 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetGreenGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainMin);
80 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_SetBlueGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainValue);
81 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetBlueGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainValue);
82 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetBlueGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainMax);
83 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Gain_GetBlueGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainMin);
97 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_Construct)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE * imageHandle);
98 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_ConstructFromBuffer)(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint8_t * buffer, uint64_t bufferSize, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE * imageHandle);
99 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_GetWidth)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t * width);
100 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_GetHeight)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t * height);
101 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_GetPixelPointer)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t xPos, size_t yPos, uint8_t * * pixelPointer);
102 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_GetByteCount)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t * byteCount);
104 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_GetData)(PEAK_IPL_IMAGE_HANDLE imageHandle, uint8_t * * data);
107 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Image_ConvertToBuffer)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t * outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
121 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Histogram_GetNumChannels)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t * numChannels);
122 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Histogram_GetPixelSumForChannel)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * pixelSum);
123 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Histogram_GetPixelCountForChannel)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * pixelCount);
124 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_Histogram_GetBinsForChannel)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * bins, size_t * binsSize);
126 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_PixelLine_Construct)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_ORIENTATION orientation, size_t offset, PEAK_IPL_PIXEL_LINE_HANDLE * pixelLineHandle);
130 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_PixelLine_GetNumChannels)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t * numChannels);
131 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_PixelLine_GetValuesForChannel)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t channelIndex, uint32_t * values, size_t * valuesSize);
136 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel)(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint32_t * channelMaximumValue);
140 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels)(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint64_t numPixels, uint64_t * size);
141 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageWriter_WriteAsRAW)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize);
142 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageWriter_WriteAsBMP)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize);
143 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageWriter_WriteAsPNG)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char * filePath, size_t filePathSize);
144 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageWriter_WriteAsJPG)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char * filePath, size_t filePathSize);
145 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageWriter_Write)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize);
146 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageReader_Read)(const char * filePath, size_t filePathSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
147 typedef PEAK_IPL_C_API (*dyn_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat)(const char * filePath, size_t filePathSize, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
148 
149 
151 {
152 private:
153  DynamicLoader();
154 
155  static DynamicLoader& instance()
156  {
157  static DynamicLoader dynamicLoader{};
158  return dynamicLoader;
159  }
160  bool loadLib(const char* file);
161  void unload();
162  bool setPointers(bool load);
163 
164 public:
165  ~DynamicLoader();
166 
167  static bool isLoaded();
168 
169  static PEAK_IPL_C_API PEAK_IPL_Library_GetVersionMajor(uint32_t * libraryVersionMajor);
170  static PEAK_IPL_C_API PEAK_IPL_Library_GetVersionMinor(uint32_t * libraryVersionMinor);
171  static PEAK_IPL_C_API PEAK_IPL_Library_GetVersionSubminor(uint32_t * libraryVersionSubminor);
172  static PEAK_IPL_C_API PEAK_IPL_Library_GetLastError(PEAK_IPL_RETURN_CODE * lastErrorCode, char * lastErrorDescription, size_t * lastErrorDescriptionSize);
176  static PEAK_IPL_C_API PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT * outputPixelFormats, size_t * outputPixelFormatsSize);
177  static PEAK_IPL_C_API PEAK_IPL_ImageConverter_Convert(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
178  static PEAK_IPL_C_API PEAK_IPL_ImageConverter_ConvertToBuffer(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t * outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
183  static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, uint32_t gainFactorPercent);
184  static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, uint32_t * gainFactorPercent);
186  static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_POINT_2D * hotpixels, size_t * hotpixelsSize);
187  static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_Correct(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, const PEAK_IPL_POINT_2D * hotpixels, size_t hotpixelsSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
191  static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_SetColorCorrectionFactors(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float * colorCorrectorFactors);
192  static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_GetColorCorrectionFactors(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float * colorCorrectorFactors, size_t * colorCorrectorFactorsSize);
198  static PEAK_IPL_C_API PEAK_IPL_Gain_SetMasterGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainValue);
199  static PEAK_IPL_C_API PEAK_IPL_Gain_GetMasterGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainValue);
200  static PEAK_IPL_C_API PEAK_IPL_Gain_GetMasterGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainMax);
201  static PEAK_IPL_C_API PEAK_IPL_Gain_GetMasterGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float * masterGainMin);
202  static PEAK_IPL_C_API PEAK_IPL_Gain_SetRedGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainValue);
203  static PEAK_IPL_C_API PEAK_IPL_Gain_GetRedGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainValue);
204  static PEAK_IPL_C_API PEAK_IPL_Gain_GetRedGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainMax);
205  static PEAK_IPL_C_API PEAK_IPL_Gain_GetRedGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float * redGainMin);
206  static PEAK_IPL_C_API PEAK_IPL_Gain_SetGreenGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainValue);
207  static PEAK_IPL_C_API PEAK_IPL_Gain_GetGreenGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainValue);
208  static PEAK_IPL_C_API PEAK_IPL_Gain_GetGreenGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainMax);
209  static PEAK_IPL_C_API PEAK_IPL_Gain_GetGreenGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float * greenGainMin);
210  static PEAK_IPL_C_API PEAK_IPL_Gain_SetBlueGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainValue);
211  static PEAK_IPL_C_API PEAK_IPL_Gain_GetBlueGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainValue);
212  static PEAK_IPL_C_API PEAK_IPL_Gain_GetBlueGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainMax);
213  static PEAK_IPL_C_API PEAK_IPL_Gain_GetBlueGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float * blueGainMin);
215  static PEAK_IPL_C_API PEAK_IPL_Gain_Process(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
227  static PEAK_IPL_C_API PEAK_IPL_Image_Construct(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE * imageHandle);
228  static PEAK_IPL_C_API PEAK_IPL_Image_ConstructFromBuffer(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint8_t * buffer, uint64_t bufferSize, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE * imageHandle);
229  static PEAK_IPL_C_API PEAK_IPL_Image_GetWidth(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t * width);
230  static PEAK_IPL_C_API PEAK_IPL_Image_GetHeight(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t * height);
231  static PEAK_IPL_C_API PEAK_IPL_Image_GetPixelPointer(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t xPos, size_t yPos, uint8_t * * pixelPointer);
232  static PEAK_IPL_C_API PEAK_IPL_Image_GetByteCount(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t * byteCount);
234  static PEAK_IPL_C_API PEAK_IPL_Image_GetData(PEAK_IPL_IMAGE_HANDLE imageHandle, uint8_t * * data);
235  static PEAK_IPL_C_API PEAK_IPL_Image_Clone(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
236  static PEAK_IPL_C_API PEAK_IPL_Image_ConvertTo(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
237  static PEAK_IPL_C_API PEAK_IPL_Image_ConvertToBuffer(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t * outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
251  static PEAK_IPL_C_API PEAK_IPL_Histogram_GetNumChannels(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t * numChannels);
252  static PEAK_IPL_C_API PEAK_IPL_Histogram_GetPixelSumForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * pixelSum);
253  static PEAK_IPL_C_API PEAK_IPL_Histogram_GetPixelCountForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * pixelCount);
254  static PEAK_IPL_C_API PEAK_IPL_Histogram_GetBinsForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * bins, size_t * binsSize);
256  static PEAK_IPL_C_API PEAK_IPL_PixelLine_Construct(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_ORIENTATION orientation, size_t offset, PEAK_IPL_PIXEL_LINE_HANDLE * pixelLineHandle);
259  static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetOffset(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t * offset);
260  static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetNumChannels(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t * numChannels);
261  static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetValuesForChannel(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t channelIndex, uint32_t * values, size_t * valuesSize);
263  static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumChannels(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t * numChannels);
264  static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t * numSignificantBits);
266  static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetMaximumValuePerChannel(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint32_t * channelMaximumValue);
267  static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t * numSignificantBits);
268  static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t * numStorageBits);
270  static PEAK_IPL_C_API PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint64_t numPixels, uint64_t * size);
271  static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsRAW(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize);
272  static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsBMP(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize);
273  static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsPNG(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char * filePath, size_t filePathSize);
274  static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsJPG(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char * filePath, size_t filePathSize);
275  static PEAK_IPL_C_API PEAK_IPL_ImageWriter_Write(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize);
276  static PEAK_IPL_C_API PEAK_IPL_ImageReader_Read(const char * filePath, size_t filePathSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
277  static PEAK_IPL_C_API PEAK_IPL_ImageReaderRead_ReadAsPixelFormat(const char * filePath, size_t filePathSize, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_IMAGE_HANDLE * outputImageHandle);
278 
279 private:
280  void* m_handle = nullptr;
281  dyn_PEAK_IPL_Library_GetVersionMajor m_PEAK_IPL_Library_GetVersionMajor{};
282  dyn_PEAK_IPL_Library_GetVersionMinor m_PEAK_IPL_Library_GetVersionMinor{};
283  dyn_PEAK_IPL_Library_GetVersionSubminor m_PEAK_IPL_Library_GetVersionSubminor{};
284  dyn_PEAK_IPL_Library_GetLastError m_PEAK_IPL_Library_GetLastError{};
285  dyn_PEAK_IPL_ImageConverter_Construct m_PEAK_IPL_ImageConverter_Construct{};
286  dyn_PEAK_IPL_ImageConverter_GetConversionMode m_PEAK_IPL_ImageConverter_GetConversionMode{};
287  dyn_PEAK_IPL_ImageConverter_SetConversionMode m_PEAK_IPL_ImageConverter_SetConversionMode{};
288  dyn_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats m_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats{};
289  dyn_PEAK_IPL_ImageConverter_Convert m_PEAK_IPL_ImageConverter_Convert{};
290  dyn_PEAK_IPL_ImageConverter_ConvertToBuffer m_PEAK_IPL_ImageConverter_ConvertToBuffer{};
291  dyn_PEAK_IPL_ImageConverter_Destruct m_PEAK_IPL_ImageConverter_Destruct{};
292  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Construct m_PEAK_IPL_AdaptiveHotpixelCorrector_Construct{};
293  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity m_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity{};
294  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity m_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity{};
295  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent m_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent{};
296  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent m_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent{};
297  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Detect m_PEAK_IPL_AdaptiveHotpixelCorrector_Detect{};
298  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels m_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels{};
299  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Correct m_PEAK_IPL_AdaptiveHotpixelCorrector_Correct{};
300  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive m_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive{};
301  dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct m_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct{};
302  dyn_PEAK_IPL_ColorCorrector_Construct m_PEAK_IPL_ColorCorrector_Construct{};
303  dyn_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors m_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors{};
304  dyn_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors m_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors{};
305  dyn_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported m_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported{};
306  dyn_PEAK_IPL_ColorCorrector_Process m_PEAK_IPL_ColorCorrector_Process{};
307  dyn_PEAK_IPL_ColorCorrector_ProcessInPlace m_PEAK_IPL_ColorCorrector_ProcessInPlace{};
308  dyn_PEAK_IPL_ColorCorrector_Destruct m_PEAK_IPL_ColorCorrector_Destruct{};
309  dyn_PEAK_IPL_Gain_Construct m_PEAK_IPL_Gain_Construct{};
310  dyn_PEAK_IPL_Gain_SetMasterGainValue m_PEAK_IPL_Gain_SetMasterGainValue{};
311  dyn_PEAK_IPL_Gain_GetMasterGainValue m_PEAK_IPL_Gain_GetMasterGainValue{};
312  dyn_PEAK_IPL_Gain_GetMasterGainMax m_PEAK_IPL_Gain_GetMasterGainMax{};
313  dyn_PEAK_IPL_Gain_GetMasterGainMin m_PEAK_IPL_Gain_GetMasterGainMin{};
314  dyn_PEAK_IPL_Gain_SetRedGainValue m_PEAK_IPL_Gain_SetRedGainValue{};
315  dyn_PEAK_IPL_Gain_GetRedGainValue m_PEAK_IPL_Gain_GetRedGainValue{};
316  dyn_PEAK_IPL_Gain_GetRedGainMax m_PEAK_IPL_Gain_GetRedGainMax{};
317  dyn_PEAK_IPL_Gain_GetRedGainMin m_PEAK_IPL_Gain_GetRedGainMin{};
318  dyn_PEAK_IPL_Gain_SetGreenGainValue m_PEAK_IPL_Gain_SetGreenGainValue{};
319  dyn_PEAK_IPL_Gain_GetGreenGainValue m_PEAK_IPL_Gain_GetGreenGainValue{};
320  dyn_PEAK_IPL_Gain_GetGreenGainMax m_PEAK_IPL_Gain_GetGreenGainMax{};
321  dyn_PEAK_IPL_Gain_GetGreenGainMin m_PEAK_IPL_Gain_GetGreenGainMin{};
322  dyn_PEAK_IPL_Gain_SetBlueGainValue m_PEAK_IPL_Gain_SetBlueGainValue{};
323  dyn_PEAK_IPL_Gain_GetBlueGainValue m_PEAK_IPL_Gain_GetBlueGainValue{};
324  dyn_PEAK_IPL_Gain_GetBlueGainMax m_PEAK_IPL_Gain_GetBlueGainMax{};
325  dyn_PEAK_IPL_Gain_GetBlueGainMin m_PEAK_IPL_Gain_GetBlueGainMin{};
326  dyn_PEAK_IPL_Gain_GetIsPixelFormatSupported m_PEAK_IPL_Gain_GetIsPixelFormatSupported{};
327  dyn_PEAK_IPL_Gain_Process m_PEAK_IPL_Gain_Process{};
328  dyn_PEAK_IPL_Gain_ProcessInPlace m_PEAK_IPL_Gain_ProcessInPlace{};
329  dyn_PEAK_IPL_Gain_Destruct m_PEAK_IPL_Gain_Destruct{};
330  dyn_PEAK_IPL_GammaCorrector_Construct m_PEAK_IPL_GammaCorrector_Construct{};
331  dyn_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue m_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue{};
332  dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue m_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue{};
333  dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax{};
334  dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin{};
335  dyn_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported m_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported{};
336  dyn_PEAK_IPL_GammaCorrector_Process m_PEAK_IPL_GammaCorrector_Process{};
337  dyn_PEAK_IPL_GammaCorrector_ProcessInPlace m_PEAK_IPL_GammaCorrector_ProcessInPlace{};
338  dyn_PEAK_IPL_GammaCorrector_Destruct m_PEAK_IPL_GammaCorrector_Destruct{};
339  dyn_PEAK_IPL_Image_Construct m_PEAK_IPL_Image_Construct{};
340  dyn_PEAK_IPL_Image_ConstructFromBuffer m_PEAK_IPL_Image_ConstructFromBuffer{};
341  dyn_PEAK_IPL_Image_GetWidth m_PEAK_IPL_Image_GetWidth{};
342  dyn_PEAK_IPL_Image_GetHeight m_PEAK_IPL_Image_GetHeight{};
343  dyn_PEAK_IPL_Image_GetPixelPointer m_PEAK_IPL_Image_GetPixelPointer{};
344  dyn_PEAK_IPL_Image_GetByteCount m_PEAK_IPL_Image_GetByteCount{};
345  dyn_PEAK_IPL_Image_GetPixelFormat m_PEAK_IPL_Image_GetPixelFormat{};
346  dyn_PEAK_IPL_Image_GetData m_PEAK_IPL_Image_GetData{};
347  dyn_PEAK_IPL_Image_Clone m_PEAK_IPL_Image_Clone{};
348  dyn_PEAK_IPL_Image_ConvertTo m_PEAK_IPL_Image_ConvertTo{};
349  dyn_PEAK_IPL_Image_ConvertToBuffer m_PEAK_IPL_Image_ConvertToBuffer{};
350  dyn_PEAK_IPL_Image_Destruct m_PEAK_IPL_Image_Destruct{};
351  dyn_PEAK_IPL_ImageTransformer_Construct m_PEAK_IPL_ImageTransformer_Construct{};
352  dyn_PEAK_IPL_ImageTransformer_MirrorUpDown m_PEAK_IPL_ImageTransformer_MirrorUpDown{};
353  dyn_PEAK_IPL_ImageTransformer_MirrorLeftRight m_PEAK_IPL_ImageTransformer_MirrorLeftRight{};
354  dyn_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight{};
355  dyn_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace m_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace{};
356  dyn_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace m_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace{};
357  dyn_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace{};
358  dyn_PEAK_IPL_ImageTransformer_Rotate m_PEAK_IPL_ImageTransformer_Rotate{};
359  dyn_PEAK_IPL_ImageTransformer_RotateInPlace m_PEAK_IPL_ImageTransformer_RotateInPlace{};
360  dyn_PEAK_IPL_ImageTransformer_Destruct m_PEAK_IPL_ImageTransformer_Destruct{};
361  dyn_PEAK_IPL_Histogram_Construct m_PEAK_IPL_Histogram_Construct{};
362  dyn_PEAK_IPL_Histogram_GetPixelFormat m_PEAK_IPL_Histogram_GetPixelFormat{};
363  dyn_PEAK_IPL_Histogram_GetNumChannels m_PEAK_IPL_Histogram_GetNumChannels{};
364  dyn_PEAK_IPL_Histogram_GetPixelSumForChannel m_PEAK_IPL_Histogram_GetPixelSumForChannel{};
365  dyn_PEAK_IPL_Histogram_GetPixelCountForChannel m_PEAK_IPL_Histogram_GetPixelCountForChannel{};
366  dyn_PEAK_IPL_Histogram_GetBinsForChannel m_PEAK_IPL_Histogram_GetBinsForChannel{};
367  dyn_PEAK_IPL_Histogram_Destruct m_PEAK_IPL_Histogram_Destruct{};
368  dyn_PEAK_IPL_PixelLine_Construct m_PEAK_IPL_PixelLine_Construct{};
369  dyn_PEAK_IPL_PixelLine_GetPixelFormat m_PEAK_IPL_PixelLine_GetPixelFormat{};
370  dyn_PEAK_IPL_PixelLine_GetOrientation m_PEAK_IPL_PixelLine_GetOrientation{};
371  dyn_PEAK_IPL_PixelLine_GetOffset m_PEAK_IPL_PixelLine_GetOffset{};
372  dyn_PEAK_IPL_PixelLine_GetNumChannels m_PEAK_IPL_PixelLine_GetNumChannels{};
373  dyn_PEAK_IPL_PixelLine_GetValuesForChannel m_PEAK_IPL_PixelLine_GetValuesForChannel{};
374  dyn_PEAK_IPL_PixelLine_Destruct m_PEAK_IPL_PixelLine_Destruct{};
375  dyn_PEAK_IPL_PixelFormat_GetNumChannels m_PEAK_IPL_PixelFormat_GetNumChannels{};
376  dyn_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel{};
377  dyn_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel{};
378  dyn_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel m_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel{};
379  dyn_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel{};
380  dyn_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel{};
381  dyn_PEAK_IPL_PixelFormat_GetEndianness m_PEAK_IPL_PixelFormat_GetEndianness{};
382  dyn_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels m_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels{};
383  dyn_PEAK_IPL_ImageWriter_WriteAsRAW m_PEAK_IPL_ImageWriter_WriteAsRAW{};
384  dyn_PEAK_IPL_ImageWriter_WriteAsBMP m_PEAK_IPL_ImageWriter_WriteAsBMP{};
385  dyn_PEAK_IPL_ImageWriter_WriteAsPNG m_PEAK_IPL_ImageWriter_WriteAsPNG{};
386  dyn_PEAK_IPL_ImageWriter_WriteAsJPG m_PEAK_IPL_ImageWriter_WriteAsJPG{};
387  dyn_PEAK_IPL_ImageWriter_Write m_PEAK_IPL_ImageWriter_Write{};
388  dyn_PEAK_IPL_ImageReader_Read m_PEAK_IPL_ImageReader_Read{};
389  dyn_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat m_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat{};
390 
391 };
392 
393 inline void* import_function(void *module, const char* proc_name)
394 {
395 #ifdef __linux__
396  return dlsym(module, proc_name);
397 #else
398  return GetProcAddress(static_cast<HMODULE>(module), proc_name);
399 #endif
400 }
401 
402 inline DynamicLoader::DynamicLoader()
403 {
404 #if defined _WIN32 || defined _WIN64
405  size_t sz = 0;
406  if (_wgetenv_s(&sz, NULL, 0, L"IDS_PEAK_SDK_PATH") == 0
407  && sz > 0)
408  {
409  std::vector<wchar_t> env_ids_peak_ipl(sz);
410  if (_wgetenv_s(&sz, env_ids_peak_ipl.data(), sz, L"IDS_PEAK_SDK_PATH") == 0)
411  {
412  if (_wgetenv_s(&sz, NULL, 0, L"PATH") == 0
413  && sz > 0)
414  {
415  std::vector<wchar_t> env_path(sz);
416  if (_wgetenv_s(&sz, env_path.data(), sz, L"PATH") == 0)
417  {
418  std::wstring ids_peak_ipl_path(env_ids_peak_ipl.data());
419 #ifdef _WIN64
420  ids_peak_ipl_path.append(L"\\ipl\\lib\\x86_64");
421 #else
422  ids_peak_ipl_path.append(L"\\ipl\\lib\\x86_32");
423 #endif
424  std::wstring path_var(env_path.data());
425  path_var.append(L";").append(ids_peak_ipl_path);
426  _wputenv_s(L"PATH", path_var.c_str());
427  }
428  }
429  }
430  }
431 
432  loadLib("ids_peak_ipl.dll");
433 #else
434  loadLib("libids_peak_ipl.so");
435 #endif
436 }
437 
439 {
440  if(m_handle != nullptr)
441  {
442  unload();
443  }
444 }
445 
447 {
448  auto&& inst = instance();
449  return inst.m_handle != nullptr;
450 }
451 
452 inline void DynamicLoader::unload()
453 {
454  setPointers(false);
455 
456  if (m_handle != nullptr)
457  {
458 #ifdef __linux__
459  dlclose(m_handle);
460 #else
461  FreeLibrary(static_cast<HMODULE>(m_handle));
462 #endif
463  }
464  m_handle = nullptr;
465 }
466 
467 
468 inline bool DynamicLoader::loadLib(const char* file)
469 {
470  bool ret = false;
471 
472  if (file)
473  {
474 #ifdef __linux__
475  m_handle = dlopen(file, RTLD_NOW);
476 #else
477  m_handle = LoadLibraryA(file);
478 #endif
479  if (m_handle != nullptr)
480  {
481  try {
482  setPointers(true);
483  ret = true;
484  } catch (const std::exception&) {
485  unload();
486  throw;
487  }
488  }
489  else
490  {
491  throw std::runtime_error(std::string("Lib load failed: ") + file);
492  }
493  }
494  else
495  {
496  throw std::runtime_error("Filename empty");
497  }
498 
499  return ret;
500 }
501 
502 inline bool DynamicLoader::setPointers(bool load)
503 {
504 
505  m_PEAK_IPL_Library_GetVersionMajor = (dyn_PEAK_IPL_Library_GetVersionMajor) (load ? import_function(m_handle, "PEAK_IPL_Library_GetVersionMajor") : nullptr);
506  if(m_PEAK_IPL_Library_GetVersionMajor == nullptr && load)
507  {
508  throw std::runtime_error("Failed to load PEAK_IPL_Library_GetVersionMajor");
509  }
510 
511  m_PEAK_IPL_Library_GetVersionMinor = (dyn_PEAK_IPL_Library_GetVersionMinor) (load ? import_function(m_handle, "PEAK_IPL_Library_GetVersionMinor") : nullptr);
512  if(m_PEAK_IPL_Library_GetVersionMinor == nullptr && load)
513  {
514  throw std::runtime_error("Failed to load PEAK_IPL_Library_GetVersionMinor");
515  }
516 
517  m_PEAK_IPL_Library_GetVersionSubminor = (dyn_PEAK_IPL_Library_GetVersionSubminor) (load ? import_function(m_handle, "PEAK_IPL_Library_GetVersionSubminor") : nullptr);
518  if(m_PEAK_IPL_Library_GetVersionSubminor == nullptr && load)
519  {
520  throw std::runtime_error("Failed to load PEAK_IPL_Library_GetVersionSubminor");
521  }
522 
523  m_PEAK_IPL_Library_GetLastError = (dyn_PEAK_IPL_Library_GetLastError) (load ? import_function(m_handle, "PEAK_IPL_Library_GetLastError") : nullptr);
524  if(m_PEAK_IPL_Library_GetLastError == nullptr && load)
525  {
526  throw std::runtime_error("Failed to load PEAK_IPL_Library_GetLastError");
527  }
528 
529  m_PEAK_IPL_ImageConverter_Construct = (dyn_PEAK_IPL_ImageConverter_Construct) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_Construct") : nullptr);
530  if(m_PEAK_IPL_ImageConverter_Construct == nullptr && load)
531  {
532  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_Construct");
533  }
534 
535  m_PEAK_IPL_ImageConverter_GetConversionMode = (dyn_PEAK_IPL_ImageConverter_GetConversionMode) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_GetConversionMode") : nullptr);
536  if(m_PEAK_IPL_ImageConverter_GetConversionMode == nullptr && load)
537  {
538  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_GetConversionMode");
539  }
540 
541  m_PEAK_IPL_ImageConverter_SetConversionMode = (dyn_PEAK_IPL_ImageConverter_SetConversionMode) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_SetConversionMode") : nullptr);
542  if(m_PEAK_IPL_ImageConverter_SetConversionMode == nullptr && load)
543  {
544  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_SetConversionMode");
545  }
546 
547  m_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats = (dyn_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats") : nullptr);
548  if(m_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats == nullptr && load)
549  {
550  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats");
551  }
552 
553  m_PEAK_IPL_ImageConverter_Convert = (dyn_PEAK_IPL_ImageConverter_Convert) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_Convert") : nullptr);
554  if(m_PEAK_IPL_ImageConverter_Convert == nullptr && load)
555  {
556  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_Convert");
557  }
558 
559  m_PEAK_IPL_ImageConverter_ConvertToBuffer = (dyn_PEAK_IPL_ImageConverter_ConvertToBuffer) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_ConvertToBuffer") : nullptr);
560  if(m_PEAK_IPL_ImageConverter_ConvertToBuffer == nullptr && load)
561  {
562  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_ConvertToBuffer");
563  }
564 
565  m_PEAK_IPL_ImageConverter_Destruct = (dyn_PEAK_IPL_ImageConverter_Destruct) (load ? import_function(m_handle, "PEAK_IPL_ImageConverter_Destruct") : nullptr);
566  if(m_PEAK_IPL_ImageConverter_Destruct == nullptr && load)
567  {
568  throw std::runtime_error("Failed to load PEAK_IPL_ImageConverter_Destruct");
569  }
570 
571  m_PEAK_IPL_AdaptiveHotpixelCorrector_Construct = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Construct) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_Construct") : nullptr);
572  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_Construct == nullptr && load)
573  {
574  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_Construct");
575  }
576 
577  m_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity") : nullptr);
578  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity == nullptr && load)
579  {
580  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity");
581  }
582 
583  m_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity") : nullptr);
584  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity == nullptr && load)
585  {
586  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity");
587  }
588 
589  m_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent") : nullptr);
590  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent == nullptr && load)
591  {
592  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent");
593  }
594 
595  m_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent") : nullptr);
596  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent == nullptr && load)
597  {
598  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent");
599  }
600 
601  m_PEAK_IPL_AdaptiveHotpixelCorrector_Detect = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Detect) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_Detect") : nullptr);
602  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_Detect == nullptr && load)
603  {
604  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_Detect");
605  }
606 
607  m_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels") : nullptr);
608  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels == nullptr && load)
609  {
610  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels");
611  }
612 
613  m_PEAK_IPL_AdaptiveHotpixelCorrector_Correct = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Correct) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_Correct") : nullptr);
614  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_Correct == nullptr && load)
615  {
616  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_Correct");
617  }
618 
619  m_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive") : nullptr);
620  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive == nullptr && load)
621  {
622  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive");
623  }
624 
625  m_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct = (dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct) (load ? import_function(m_handle, "PEAK_IPL_AdaptiveHotpixelCorrector_Destruct") : nullptr);
626  if(m_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct == nullptr && load)
627  {
628  throw std::runtime_error("Failed to load PEAK_IPL_AdaptiveHotpixelCorrector_Destruct");
629  }
630 
631  m_PEAK_IPL_ColorCorrector_Construct = (dyn_PEAK_IPL_ColorCorrector_Construct) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_Construct") : nullptr);
632  if(m_PEAK_IPL_ColorCorrector_Construct == nullptr && load)
633  {
634  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_Construct");
635  }
636 
637  m_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors = (dyn_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_SetColorCorrectionFactors") : nullptr);
638  if(m_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors == nullptr && load)
639  {
640  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_SetColorCorrectionFactors");
641  }
642 
643  m_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors = (dyn_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_GetColorCorrectionFactors") : nullptr);
644  if(m_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors == nullptr && load)
645  {
646  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_GetColorCorrectionFactors");
647  }
648 
649  m_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported = (dyn_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported") : nullptr);
650  if(m_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported == nullptr && load)
651  {
652  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported");
653  }
654 
655  m_PEAK_IPL_ColorCorrector_Process = (dyn_PEAK_IPL_ColorCorrector_Process) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_Process") : nullptr);
656  if(m_PEAK_IPL_ColorCorrector_Process == nullptr && load)
657  {
658  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_Process");
659  }
660 
661  m_PEAK_IPL_ColorCorrector_ProcessInPlace = (dyn_PEAK_IPL_ColorCorrector_ProcessInPlace) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_ProcessInPlace") : nullptr);
662  if(m_PEAK_IPL_ColorCorrector_ProcessInPlace == nullptr && load)
663  {
664  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_ProcessInPlace");
665  }
666 
667  m_PEAK_IPL_ColorCorrector_Destruct = (dyn_PEAK_IPL_ColorCorrector_Destruct) (load ? import_function(m_handle, "PEAK_IPL_ColorCorrector_Destruct") : nullptr);
668  if(m_PEAK_IPL_ColorCorrector_Destruct == nullptr && load)
669  {
670  throw std::runtime_error("Failed to load PEAK_IPL_ColorCorrector_Destruct");
671  }
672 
673  m_PEAK_IPL_Gain_Construct = (dyn_PEAK_IPL_Gain_Construct) (load ? import_function(m_handle, "PEAK_IPL_Gain_Construct") : nullptr);
674  if(m_PEAK_IPL_Gain_Construct == nullptr && load)
675  {
676  throw std::runtime_error("Failed to load PEAK_IPL_Gain_Construct");
677  }
678 
679  m_PEAK_IPL_Gain_SetMasterGainValue = (dyn_PEAK_IPL_Gain_SetMasterGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_SetMasterGainValue") : nullptr);
680  if(m_PEAK_IPL_Gain_SetMasterGainValue == nullptr && load)
681  {
682  throw std::runtime_error("Failed to load PEAK_IPL_Gain_SetMasterGainValue");
683  }
684 
685  m_PEAK_IPL_Gain_GetMasterGainValue = (dyn_PEAK_IPL_Gain_GetMasterGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetMasterGainValue") : nullptr);
686  if(m_PEAK_IPL_Gain_GetMasterGainValue == nullptr && load)
687  {
688  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetMasterGainValue");
689  }
690 
691  m_PEAK_IPL_Gain_GetMasterGainMax = (dyn_PEAK_IPL_Gain_GetMasterGainMax) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetMasterGainMax") : nullptr);
692  if(m_PEAK_IPL_Gain_GetMasterGainMax == nullptr && load)
693  {
694  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetMasterGainMax");
695  }
696 
697  m_PEAK_IPL_Gain_GetMasterGainMin = (dyn_PEAK_IPL_Gain_GetMasterGainMin) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetMasterGainMin") : nullptr);
698  if(m_PEAK_IPL_Gain_GetMasterGainMin == nullptr && load)
699  {
700  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetMasterGainMin");
701  }
702 
703  m_PEAK_IPL_Gain_SetRedGainValue = (dyn_PEAK_IPL_Gain_SetRedGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_SetRedGainValue") : nullptr);
704  if(m_PEAK_IPL_Gain_SetRedGainValue == nullptr && load)
705  {
706  throw std::runtime_error("Failed to load PEAK_IPL_Gain_SetRedGainValue");
707  }
708 
709  m_PEAK_IPL_Gain_GetRedGainValue = (dyn_PEAK_IPL_Gain_GetRedGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetRedGainValue") : nullptr);
710  if(m_PEAK_IPL_Gain_GetRedGainValue == nullptr && load)
711  {
712  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetRedGainValue");
713  }
714 
715  m_PEAK_IPL_Gain_GetRedGainMax = (dyn_PEAK_IPL_Gain_GetRedGainMax) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetRedGainMax") : nullptr);
716  if(m_PEAK_IPL_Gain_GetRedGainMax == nullptr && load)
717  {
718  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetRedGainMax");
719  }
720 
721  m_PEAK_IPL_Gain_GetRedGainMin = (dyn_PEAK_IPL_Gain_GetRedGainMin) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetRedGainMin") : nullptr);
722  if(m_PEAK_IPL_Gain_GetRedGainMin == nullptr && load)
723  {
724  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetRedGainMin");
725  }
726 
727  m_PEAK_IPL_Gain_SetGreenGainValue = (dyn_PEAK_IPL_Gain_SetGreenGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_SetGreenGainValue") : nullptr);
728  if(m_PEAK_IPL_Gain_SetGreenGainValue == nullptr && load)
729  {
730  throw std::runtime_error("Failed to load PEAK_IPL_Gain_SetGreenGainValue");
731  }
732 
733  m_PEAK_IPL_Gain_GetGreenGainValue = (dyn_PEAK_IPL_Gain_GetGreenGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetGreenGainValue") : nullptr);
734  if(m_PEAK_IPL_Gain_GetGreenGainValue == nullptr && load)
735  {
736  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetGreenGainValue");
737  }
738 
739  m_PEAK_IPL_Gain_GetGreenGainMax = (dyn_PEAK_IPL_Gain_GetGreenGainMax) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetGreenGainMax") : nullptr);
740  if(m_PEAK_IPL_Gain_GetGreenGainMax == nullptr && load)
741  {
742  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetGreenGainMax");
743  }
744 
745  m_PEAK_IPL_Gain_GetGreenGainMin = (dyn_PEAK_IPL_Gain_GetGreenGainMin) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetGreenGainMin") : nullptr);
746  if(m_PEAK_IPL_Gain_GetGreenGainMin == nullptr && load)
747  {
748  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetGreenGainMin");
749  }
750 
751  m_PEAK_IPL_Gain_SetBlueGainValue = (dyn_PEAK_IPL_Gain_SetBlueGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_SetBlueGainValue") : nullptr);
752  if(m_PEAK_IPL_Gain_SetBlueGainValue == nullptr && load)
753  {
754  throw std::runtime_error("Failed to load PEAK_IPL_Gain_SetBlueGainValue");
755  }
756 
757  m_PEAK_IPL_Gain_GetBlueGainValue = (dyn_PEAK_IPL_Gain_GetBlueGainValue) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetBlueGainValue") : nullptr);
758  if(m_PEAK_IPL_Gain_GetBlueGainValue == nullptr && load)
759  {
760  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetBlueGainValue");
761  }
762 
763  m_PEAK_IPL_Gain_GetBlueGainMax = (dyn_PEAK_IPL_Gain_GetBlueGainMax) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetBlueGainMax") : nullptr);
764  if(m_PEAK_IPL_Gain_GetBlueGainMax == nullptr && load)
765  {
766  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetBlueGainMax");
767  }
768 
769  m_PEAK_IPL_Gain_GetBlueGainMin = (dyn_PEAK_IPL_Gain_GetBlueGainMin) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetBlueGainMin") : nullptr);
770  if(m_PEAK_IPL_Gain_GetBlueGainMin == nullptr && load)
771  {
772  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetBlueGainMin");
773  }
774 
775  m_PEAK_IPL_Gain_GetIsPixelFormatSupported = (dyn_PEAK_IPL_Gain_GetIsPixelFormatSupported) (load ? import_function(m_handle, "PEAK_IPL_Gain_GetIsPixelFormatSupported") : nullptr);
776  if(m_PEAK_IPL_Gain_GetIsPixelFormatSupported == nullptr && load)
777  {
778  throw std::runtime_error("Failed to load PEAK_IPL_Gain_GetIsPixelFormatSupported");
779  }
780 
781  m_PEAK_IPL_Gain_Process = (dyn_PEAK_IPL_Gain_Process) (load ? import_function(m_handle, "PEAK_IPL_Gain_Process") : nullptr);
782  if(m_PEAK_IPL_Gain_Process == nullptr && load)
783  {
784  throw std::runtime_error("Failed to load PEAK_IPL_Gain_Process");
785  }
786 
787  m_PEAK_IPL_Gain_ProcessInPlace = (dyn_PEAK_IPL_Gain_ProcessInPlace) (load ? import_function(m_handle, "PEAK_IPL_Gain_ProcessInPlace") : nullptr);
788  if(m_PEAK_IPL_Gain_ProcessInPlace == nullptr && load)
789  {
790  throw std::runtime_error("Failed to load PEAK_IPL_Gain_ProcessInPlace");
791  }
792 
793  m_PEAK_IPL_Gain_Destruct = (dyn_PEAK_IPL_Gain_Destruct) (load ? import_function(m_handle, "PEAK_IPL_Gain_Destruct") : nullptr);
794  if(m_PEAK_IPL_Gain_Destruct == nullptr && load)
795  {
796  throw std::runtime_error("Failed to load PEAK_IPL_Gain_Destruct");
797  }
798 
799  m_PEAK_IPL_GammaCorrector_Construct = (dyn_PEAK_IPL_GammaCorrector_Construct) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_Construct") : nullptr);
800  if(m_PEAK_IPL_GammaCorrector_Construct == nullptr && load)
801  {
802  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_Construct");
803  }
804 
805  m_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue = (dyn_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_SetGammaCorrectionValue") : nullptr);
806  if(m_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue == nullptr && load)
807  {
808  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_SetGammaCorrectionValue");
809  }
810 
811  m_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue = (dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_GetGammaCorrectionValue") : nullptr);
812  if(m_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue == nullptr && load)
813  {
814  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_GetGammaCorrectionValue");
815  }
816 
817  m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax = (dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_GetGammaCorrectionMax") : nullptr);
818  if(m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax == nullptr && load)
819  {
820  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_GetGammaCorrectionMax");
821  }
822 
823  m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin = (dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_GetGammaCorrectionMin") : nullptr);
824  if(m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin == nullptr && load)
825  {
826  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_GetGammaCorrectionMin");
827  }
828 
829  m_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported = (dyn_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported") : nullptr);
830  if(m_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported == nullptr && load)
831  {
832  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported");
833  }
834 
835  m_PEAK_IPL_GammaCorrector_Process = (dyn_PEAK_IPL_GammaCorrector_Process) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_Process") : nullptr);
836  if(m_PEAK_IPL_GammaCorrector_Process == nullptr && load)
837  {
838  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_Process");
839  }
840 
841  m_PEAK_IPL_GammaCorrector_ProcessInPlace = (dyn_PEAK_IPL_GammaCorrector_ProcessInPlace) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_ProcessInPlace") : nullptr);
842  if(m_PEAK_IPL_GammaCorrector_ProcessInPlace == nullptr && load)
843  {
844  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_ProcessInPlace");
845  }
846 
847  m_PEAK_IPL_GammaCorrector_Destruct = (dyn_PEAK_IPL_GammaCorrector_Destruct) (load ? import_function(m_handle, "PEAK_IPL_GammaCorrector_Destruct") : nullptr);
848  if(m_PEAK_IPL_GammaCorrector_Destruct == nullptr && load)
849  {
850  throw std::runtime_error("Failed to load PEAK_IPL_GammaCorrector_Destruct");
851  }
852 
853  m_PEAK_IPL_Image_Construct = (dyn_PEAK_IPL_Image_Construct) (load ? import_function(m_handle, "PEAK_IPL_Image_Construct") : nullptr);
854  if(m_PEAK_IPL_Image_Construct == nullptr && load)
855  {
856  throw std::runtime_error("Failed to load PEAK_IPL_Image_Construct");
857  }
858 
859  m_PEAK_IPL_Image_ConstructFromBuffer = (dyn_PEAK_IPL_Image_ConstructFromBuffer) (load ? import_function(m_handle, "PEAK_IPL_Image_ConstructFromBuffer") : nullptr);
860  if(m_PEAK_IPL_Image_ConstructFromBuffer == nullptr && load)
861  {
862  throw std::runtime_error("Failed to load PEAK_IPL_Image_ConstructFromBuffer");
863  }
864 
865  m_PEAK_IPL_Image_GetWidth = (dyn_PEAK_IPL_Image_GetWidth) (load ? import_function(m_handle, "PEAK_IPL_Image_GetWidth") : nullptr);
866  if(m_PEAK_IPL_Image_GetWidth == nullptr && load)
867  {
868  throw std::runtime_error("Failed to load PEAK_IPL_Image_GetWidth");
869  }
870 
871  m_PEAK_IPL_Image_GetHeight = (dyn_PEAK_IPL_Image_GetHeight) (load ? import_function(m_handle, "PEAK_IPL_Image_GetHeight") : nullptr);
872  if(m_PEAK_IPL_Image_GetHeight == nullptr && load)
873  {
874  throw std::runtime_error("Failed to load PEAK_IPL_Image_GetHeight");
875  }
876 
877  m_PEAK_IPL_Image_GetPixelPointer = (dyn_PEAK_IPL_Image_GetPixelPointer) (load ? import_function(m_handle, "PEAK_IPL_Image_GetPixelPointer") : nullptr);
878  if(m_PEAK_IPL_Image_GetPixelPointer == nullptr && load)
879  {
880  throw std::runtime_error("Failed to load PEAK_IPL_Image_GetPixelPointer");
881  }
882 
883  m_PEAK_IPL_Image_GetByteCount = (dyn_PEAK_IPL_Image_GetByteCount) (load ? import_function(m_handle, "PEAK_IPL_Image_GetByteCount") : nullptr);
884  if(m_PEAK_IPL_Image_GetByteCount == nullptr && load)
885  {
886  throw std::runtime_error("Failed to load PEAK_IPL_Image_GetByteCount");
887  }
888 
889  m_PEAK_IPL_Image_GetPixelFormat = (dyn_PEAK_IPL_Image_GetPixelFormat) (load ? import_function(m_handle, "PEAK_IPL_Image_GetPixelFormat") : nullptr);
890  if(m_PEAK_IPL_Image_GetPixelFormat == nullptr && load)
891  {
892  throw std::runtime_error("Failed to load PEAK_IPL_Image_GetPixelFormat");
893  }
894 
895  m_PEAK_IPL_Image_GetData = (dyn_PEAK_IPL_Image_GetData) (load ? import_function(m_handle, "PEAK_IPL_Image_GetData") : nullptr);
896  if(m_PEAK_IPL_Image_GetData == nullptr && load)
897  {
898  throw std::runtime_error("Failed to load PEAK_IPL_Image_GetData");
899  }
900 
901  m_PEAK_IPL_Image_Clone = (dyn_PEAK_IPL_Image_Clone) (load ? import_function(m_handle, "PEAK_IPL_Image_Clone") : nullptr);
902  if(m_PEAK_IPL_Image_Clone == nullptr && load)
903  {
904  throw std::runtime_error("Failed to load PEAK_IPL_Image_Clone");
905  }
906 
907  m_PEAK_IPL_Image_ConvertTo = (dyn_PEAK_IPL_Image_ConvertTo) (load ? import_function(m_handle, "PEAK_IPL_Image_ConvertTo") : nullptr);
908  if(m_PEAK_IPL_Image_ConvertTo == nullptr && load)
909  {
910  throw std::runtime_error("Failed to load PEAK_IPL_Image_ConvertTo");
911  }
912 
913  m_PEAK_IPL_Image_ConvertToBuffer = (dyn_PEAK_IPL_Image_ConvertToBuffer) (load ? import_function(m_handle, "PEAK_IPL_Image_ConvertToBuffer") : nullptr);
914  if(m_PEAK_IPL_Image_ConvertToBuffer == nullptr && load)
915  {
916  throw std::runtime_error("Failed to load PEAK_IPL_Image_ConvertToBuffer");
917  }
918 
919  m_PEAK_IPL_Image_Destruct = (dyn_PEAK_IPL_Image_Destruct) (load ? import_function(m_handle, "PEAK_IPL_Image_Destruct") : nullptr);
920  if(m_PEAK_IPL_Image_Destruct == nullptr && load)
921  {
922  throw std::runtime_error("Failed to load PEAK_IPL_Image_Destruct");
923  }
924 
925  m_PEAK_IPL_ImageTransformer_Construct = (dyn_PEAK_IPL_ImageTransformer_Construct) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_Construct") : nullptr);
926  if(m_PEAK_IPL_ImageTransformer_Construct == nullptr && load)
927  {
928  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_Construct");
929  }
930 
931  m_PEAK_IPL_ImageTransformer_MirrorUpDown = (dyn_PEAK_IPL_ImageTransformer_MirrorUpDown) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_MirrorUpDown") : nullptr);
932  if(m_PEAK_IPL_ImageTransformer_MirrorUpDown == nullptr && load)
933  {
934  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_MirrorUpDown");
935  }
936 
937  m_PEAK_IPL_ImageTransformer_MirrorLeftRight = (dyn_PEAK_IPL_ImageTransformer_MirrorLeftRight) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_MirrorLeftRight") : nullptr);
938  if(m_PEAK_IPL_ImageTransformer_MirrorLeftRight == nullptr && load)
939  {
940  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_MirrorLeftRight");
941  }
942 
943  m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight = (dyn_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight") : nullptr);
944  if(m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight == nullptr && load)
945  {
946  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight");
947  }
948 
949  m_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace = (dyn_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_MirrorUpDownInPlace") : nullptr);
950  if(m_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace == nullptr && load)
951  {
952  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_MirrorUpDownInPlace");
953  }
954 
955  m_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace = (dyn_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace") : nullptr);
956  if(m_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace == nullptr && load)
957  {
958  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace");
959  }
960 
961  m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace = (dyn_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace") : nullptr);
962  if(m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace == nullptr && load)
963  {
964  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace");
965  }
966 
967  m_PEAK_IPL_ImageTransformer_Rotate = (dyn_PEAK_IPL_ImageTransformer_Rotate) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_Rotate") : nullptr);
968  if(m_PEAK_IPL_ImageTransformer_Rotate == nullptr && load)
969  {
970  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_Rotate");
971  }
972 
973  m_PEAK_IPL_ImageTransformer_RotateInPlace = (dyn_PEAK_IPL_ImageTransformer_RotateInPlace) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_RotateInPlace") : nullptr);
974  if(m_PEAK_IPL_ImageTransformer_RotateInPlace == nullptr && load)
975  {
976  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_RotateInPlace");
977  }
978 
979  m_PEAK_IPL_ImageTransformer_Destruct = (dyn_PEAK_IPL_ImageTransformer_Destruct) (load ? import_function(m_handle, "PEAK_IPL_ImageTransformer_Destruct") : nullptr);
980  if(m_PEAK_IPL_ImageTransformer_Destruct == nullptr && load)
981  {
982  throw std::runtime_error("Failed to load PEAK_IPL_ImageTransformer_Destruct");
983  }
984 
985  m_PEAK_IPL_Histogram_Construct = (dyn_PEAK_IPL_Histogram_Construct) (load ? import_function(m_handle, "PEAK_IPL_Histogram_Construct") : nullptr);
986  if(m_PEAK_IPL_Histogram_Construct == nullptr && load)
987  {
988  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_Construct");
989  }
990 
991  m_PEAK_IPL_Histogram_GetPixelFormat = (dyn_PEAK_IPL_Histogram_GetPixelFormat) (load ? import_function(m_handle, "PEAK_IPL_Histogram_GetPixelFormat") : nullptr);
992  if(m_PEAK_IPL_Histogram_GetPixelFormat == nullptr && load)
993  {
994  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_GetPixelFormat");
995  }
996 
997  m_PEAK_IPL_Histogram_GetNumChannels = (dyn_PEAK_IPL_Histogram_GetNumChannels) (load ? import_function(m_handle, "PEAK_IPL_Histogram_GetNumChannels") : nullptr);
998  if(m_PEAK_IPL_Histogram_GetNumChannels == nullptr && load)
999  {
1000  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_GetNumChannels");
1001  }
1002 
1003  m_PEAK_IPL_Histogram_GetPixelSumForChannel = (dyn_PEAK_IPL_Histogram_GetPixelSumForChannel) (load ? import_function(m_handle, "PEAK_IPL_Histogram_GetPixelSumForChannel") : nullptr);
1004  if(m_PEAK_IPL_Histogram_GetPixelSumForChannel == nullptr && load)
1005  {
1006  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_GetPixelSumForChannel");
1007  }
1008 
1009  m_PEAK_IPL_Histogram_GetPixelCountForChannel = (dyn_PEAK_IPL_Histogram_GetPixelCountForChannel) (load ? import_function(m_handle, "PEAK_IPL_Histogram_GetPixelCountForChannel") : nullptr);
1010  if(m_PEAK_IPL_Histogram_GetPixelCountForChannel == nullptr && load)
1011  {
1012  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_GetPixelCountForChannel");
1013  }
1014 
1015  m_PEAK_IPL_Histogram_GetBinsForChannel = (dyn_PEAK_IPL_Histogram_GetBinsForChannel) (load ? import_function(m_handle, "PEAK_IPL_Histogram_GetBinsForChannel") : nullptr);
1016  if(m_PEAK_IPL_Histogram_GetBinsForChannel == nullptr && load)
1017  {
1018  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_GetBinsForChannel");
1019  }
1020 
1021  m_PEAK_IPL_Histogram_Destruct = (dyn_PEAK_IPL_Histogram_Destruct) (load ? import_function(m_handle, "PEAK_IPL_Histogram_Destruct") : nullptr);
1022  if(m_PEAK_IPL_Histogram_Destruct == nullptr && load)
1023  {
1024  throw std::runtime_error("Failed to load PEAK_IPL_Histogram_Destruct");
1025  }
1026 
1027  m_PEAK_IPL_PixelLine_Construct = (dyn_PEAK_IPL_PixelLine_Construct) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_Construct") : nullptr);
1028  if(m_PEAK_IPL_PixelLine_Construct == nullptr && load)
1029  {
1030  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_Construct");
1031  }
1032 
1033  m_PEAK_IPL_PixelLine_GetPixelFormat = (dyn_PEAK_IPL_PixelLine_GetPixelFormat) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_GetPixelFormat") : nullptr);
1034  if(m_PEAK_IPL_PixelLine_GetPixelFormat == nullptr && load)
1035  {
1036  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_GetPixelFormat");
1037  }
1038 
1039  m_PEAK_IPL_PixelLine_GetOrientation = (dyn_PEAK_IPL_PixelLine_GetOrientation) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_GetOrientation") : nullptr);
1040  if(m_PEAK_IPL_PixelLine_GetOrientation == nullptr && load)
1041  {
1042  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_GetOrientation");
1043  }
1044 
1045  m_PEAK_IPL_PixelLine_GetOffset = (dyn_PEAK_IPL_PixelLine_GetOffset) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_GetOffset") : nullptr);
1046  if(m_PEAK_IPL_PixelLine_GetOffset == nullptr && load)
1047  {
1048  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_GetOffset");
1049  }
1050 
1051  m_PEAK_IPL_PixelLine_GetNumChannels = (dyn_PEAK_IPL_PixelLine_GetNumChannels) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_GetNumChannels") : nullptr);
1052  if(m_PEAK_IPL_PixelLine_GetNumChannels == nullptr && load)
1053  {
1054  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_GetNumChannels");
1055  }
1056 
1057  m_PEAK_IPL_PixelLine_GetValuesForChannel = (dyn_PEAK_IPL_PixelLine_GetValuesForChannel) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_GetValuesForChannel") : nullptr);
1058  if(m_PEAK_IPL_PixelLine_GetValuesForChannel == nullptr && load)
1059  {
1060  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_GetValuesForChannel");
1061  }
1062 
1063  m_PEAK_IPL_PixelLine_Destruct = (dyn_PEAK_IPL_PixelLine_Destruct) (load ? import_function(m_handle, "PEAK_IPL_PixelLine_Destruct") : nullptr);
1064  if(m_PEAK_IPL_PixelLine_Destruct == nullptr && load)
1065  {
1066  throw std::runtime_error("Failed to load PEAK_IPL_PixelLine_Destruct");
1067  }
1068 
1069  m_PEAK_IPL_PixelFormat_GetNumChannels = (dyn_PEAK_IPL_PixelFormat_GetNumChannels) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetNumChannels") : nullptr);
1070  if(m_PEAK_IPL_PixelFormat_GetNumChannels == nullptr && load)
1071  {
1072  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetNumChannels");
1073  }
1074 
1075  m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel = (dyn_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel") : nullptr);
1076  if(m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel == nullptr && load)
1077  {
1078  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel");
1079  }
1080 
1081  m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel = (dyn_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel") : nullptr);
1082  if(m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel == nullptr && load)
1083  {
1084  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel");
1085  }
1086 
1087  m_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel = (dyn_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetMaximumValuePerChannel") : nullptr);
1088  if(m_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel == nullptr && load)
1089  {
1090  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetMaximumValuePerChannel");
1091  }
1092 
1093  m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel = (dyn_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel") : nullptr);
1094  if(m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel == nullptr && load)
1095  {
1096  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel");
1097  }
1098 
1099  m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel = (dyn_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel") : nullptr);
1100  if(m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel == nullptr && load)
1101  {
1102  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel");
1103  }
1104 
1105  m_PEAK_IPL_PixelFormat_GetEndianness = (dyn_PEAK_IPL_PixelFormat_GetEndianness) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_GetEndianness") : nullptr);
1106  if(m_PEAK_IPL_PixelFormat_GetEndianness == nullptr && load)
1107  {
1108  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_GetEndianness");
1109  }
1110 
1111  m_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels = (dyn_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels) (load ? import_function(m_handle, "PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels") : nullptr);
1112  if(m_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels == nullptr && load)
1113  {
1114  throw std::runtime_error("Failed to load PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels");
1115  }
1116 
1117  m_PEAK_IPL_ImageWriter_WriteAsRAW = (dyn_PEAK_IPL_ImageWriter_WriteAsRAW) (load ? import_function(m_handle, "PEAK_IPL_ImageWriter_WriteAsRAW") : nullptr);
1118  if(m_PEAK_IPL_ImageWriter_WriteAsRAW == nullptr && load)
1119  {
1120  throw std::runtime_error("Failed to load PEAK_IPL_ImageWriter_WriteAsRAW");
1121  }
1122 
1123  m_PEAK_IPL_ImageWriter_WriteAsBMP = (dyn_PEAK_IPL_ImageWriter_WriteAsBMP) (load ? import_function(m_handle, "PEAK_IPL_ImageWriter_WriteAsBMP") : nullptr);
1124  if(m_PEAK_IPL_ImageWriter_WriteAsBMP == nullptr && load)
1125  {
1126  throw std::runtime_error("Failed to load PEAK_IPL_ImageWriter_WriteAsBMP");
1127  }
1128 
1129  m_PEAK_IPL_ImageWriter_WriteAsPNG = (dyn_PEAK_IPL_ImageWriter_WriteAsPNG) (load ? import_function(m_handle, "PEAK_IPL_ImageWriter_WriteAsPNG") : nullptr);
1130  if(m_PEAK_IPL_ImageWriter_WriteAsPNG == nullptr && load)
1131  {
1132  throw std::runtime_error("Failed to load PEAK_IPL_ImageWriter_WriteAsPNG");
1133  }
1134 
1135  m_PEAK_IPL_ImageWriter_WriteAsJPG = (dyn_PEAK_IPL_ImageWriter_WriteAsJPG) (load ? import_function(m_handle, "PEAK_IPL_ImageWriter_WriteAsJPG") : nullptr);
1136  if(m_PEAK_IPL_ImageWriter_WriteAsJPG == nullptr && load)
1137  {
1138  throw std::runtime_error("Failed to load PEAK_IPL_ImageWriter_WriteAsJPG");
1139  }
1140 
1141  m_PEAK_IPL_ImageWriter_Write = (dyn_PEAK_IPL_ImageWriter_Write) (load ? import_function(m_handle, "PEAK_IPL_ImageWriter_Write") : nullptr);
1142  if(m_PEAK_IPL_ImageWriter_Write == nullptr && load)
1143  {
1144  throw std::runtime_error("Failed to load PEAK_IPL_ImageWriter_Write");
1145  }
1146 
1147  m_PEAK_IPL_ImageReader_Read = (dyn_PEAK_IPL_ImageReader_Read) (load ? import_function(m_handle, "PEAK_IPL_ImageReader_Read") : nullptr);
1148  if(m_PEAK_IPL_ImageReader_Read == nullptr && load)
1149  {
1150  throw std::runtime_error("Failed to load PEAK_IPL_ImageReader_Read");
1151  }
1152 
1153  m_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat = (dyn_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat) (load ? import_function(m_handle, "PEAK_IPL_ImageReaderRead_ReadAsPixelFormat") : nullptr);
1154  if(m_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat == nullptr && load)
1155  {
1156  throw std::runtime_error("Failed to load PEAK_IPL_ImageReaderRead_ReadAsPixelFormat");
1157  }
1158 
1159 
1160  return true;
1161 }
1162 
1164 {
1165  auto& inst = instance();
1166  if(inst.m_PEAK_IPL_Library_GetVersionMajor)
1167  {
1168  return inst.m_PEAK_IPL_Library_GetVersionMajor(libraryVersionMajor);
1169  }
1170  else
1171  {
1172  throw std::runtime_error("Library not loaded!");
1173  }
1174 }
1175 
1177 {
1178  auto& inst = instance();
1179  if(inst.m_PEAK_IPL_Library_GetVersionMinor)
1180  {
1181  return inst.m_PEAK_IPL_Library_GetVersionMinor(libraryVersionMinor);
1182  }
1183  else
1184  {
1185  throw std::runtime_error("Library not loaded!");
1186  }
1187 }
1188 
1190 {
1191  auto& inst = instance();
1192  if(inst.m_PEAK_IPL_Library_GetVersionSubminor)
1193  {
1194  return inst.m_PEAK_IPL_Library_GetVersionSubminor(libraryVersionSubminor);
1195  }
1196  else
1197  {
1198  throw std::runtime_error("Library not loaded!");
1199  }
1200 }
1201 
1202 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Library_GetLastError(PEAK_IPL_RETURN_CODE * lastErrorCode, char * lastErrorDescription, size_t * lastErrorDescriptionSize)
1203 {
1204  auto& inst = instance();
1205  if(inst.m_PEAK_IPL_Library_GetLastError)
1206  {
1207  return inst.m_PEAK_IPL_Library_GetLastError(lastErrorCode, lastErrorDescription, lastErrorDescriptionSize);
1208  }
1209  else
1210  {
1211  throw std::runtime_error("Library not loaded!");
1212  }
1213 }
1214 
1216 {
1217  auto& inst = instance();
1218  if(inst.m_PEAK_IPL_ImageConverter_Construct)
1219  {
1220  return inst.m_PEAK_IPL_ImageConverter_Construct(imageConverterHandle);
1221  }
1222  else
1223  {
1224  throw std::runtime_error("Library not loaded!");
1225  }
1226 }
1227 
1229 {
1230  auto& inst = instance();
1231  if(inst.m_PEAK_IPL_ImageConverter_GetConversionMode)
1232  {
1233  return inst.m_PEAK_IPL_ImageConverter_GetConversionMode(imageConverterHandle, conversionMode);
1234  }
1235  else
1236  {
1237  throw std::runtime_error("Library not loaded!");
1238  }
1239 }
1240 
1242 {
1243  auto& inst = instance();
1244  if(inst.m_PEAK_IPL_ImageConverter_SetConversionMode)
1245  {
1246  return inst.m_PEAK_IPL_ImageConverter_SetConversionMode(imageConverterHandle, conversionMode);
1247  }
1248  else
1249  {
1250  throw std::runtime_error("Library not loaded!");
1251  }
1252 }
1253 
1254 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT * outputPixelFormats, size_t * outputPixelFormatsSize)
1255 {
1256  auto& inst = instance();
1257  if(inst.m_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats)
1258  {
1259  return inst.m_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats(imageConverterHandle, inputPixelFormat, outputPixelFormats, outputPixelFormatsSize);
1260  }
1261  else
1262  {
1263  throw std::runtime_error("Library not loaded!");
1264  }
1265 }
1266 
1268 {
1269  auto& inst = instance();
1270  if(inst.m_PEAK_IPL_ImageConverter_Convert)
1271  {
1272  return inst.m_PEAK_IPL_ImageConverter_Convert(imageConverterHandle, inputImageHandle, outputPixelFormat, outputImageHandle);
1273  }
1274  else
1275  {
1276  throw std::runtime_error("Library not loaded!");
1277  }
1278 }
1279 
1280 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageConverter_ConvertToBuffer(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t * outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle)
1281 {
1282  auto& inst = instance();
1283  if(inst.m_PEAK_IPL_ImageConverter_ConvertToBuffer)
1284  {
1285  return inst.m_PEAK_IPL_ImageConverter_ConvertToBuffer(imageConverterHandle, inputImageHandle, outputPixelFormat, outputImageBuffer, outputImageBufferSize, outputImageHandle);
1286  }
1287  else
1288  {
1289  throw std::runtime_error("Library not loaded!");
1290  }
1291 }
1292 
1294 {
1295  auto& inst = instance();
1296  if(inst.m_PEAK_IPL_ImageConverter_Destruct)
1297  {
1298  return inst.m_PEAK_IPL_ImageConverter_Destruct(imageConverterHandle);
1299  }
1300  else
1301  {
1302  throw std::runtime_error("Library not loaded!");
1303  }
1304 }
1305 
1307 {
1308  auto& inst = instance();
1309  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Construct)
1310  {
1311  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Construct(adaptiveHotpixelCorrectorHandle);
1312  }
1313  else
1314  {
1315  throw std::runtime_error("Library not loaded!");
1316  }
1317 }
1318 
1320 {
1321  auto& inst = instance();
1322  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity)
1323  {
1324  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity(adaptiveHotpixelCorrectorHandle, sensitivityLevel);
1325  }
1326  else
1327  {
1328  throw std::runtime_error("Library not loaded!");
1329  }
1330 }
1331 
1333 {
1334  auto& inst = instance();
1335  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity)
1336  {
1337  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity(adaptiveHotpixelCorrectorHandle, sensitivityLevel);
1338  }
1339  else
1340  {
1341  throw std::runtime_error("Library not loaded!");
1342  }
1343 }
1344 
1346 {
1347  auto& inst = instance();
1348  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent)
1349  {
1350  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent(adaptiveHotpixelCorrectorHandle, gainFactorPercent);
1351  }
1352  else
1353  {
1354  throw std::runtime_error("Library not loaded!");
1355  }
1356 }
1357 
1359 {
1360  auto& inst = instance();
1361  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent)
1362  {
1363  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent(adaptiveHotpixelCorrectorHandle, gainFactorPercent);
1364  }
1365  else
1366  {
1367  throw std::runtime_error("Library not loaded!");
1368  }
1369 }
1370 
1372 {
1373  auto& inst = instance();
1374  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Detect)
1375  {
1376  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Detect(adaptiveHotpixelCorrectorHandle, inputImageHandle);
1377  }
1378  else
1379  {
1380  throw std::runtime_error("Library not loaded!");
1381  }
1382 }
1383 
1385 {
1386  auto& inst = instance();
1387  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels)
1388  {
1389  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels(adaptiveHotpixelCorrectorHandle, hotpixels, hotpixelsSize);
1390  }
1391  else
1392  {
1393  throw std::runtime_error("Library not loaded!");
1394  }
1395 }
1396 
1397 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_AdaptiveHotpixelCorrector_Correct(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, const PEAK_IPL_POINT_2D * hotpixels, size_t hotpixelsSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle)
1398 {
1399  auto& inst = instance();
1400  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Correct)
1401  {
1402  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Correct(adaptiveHotpixelCorrectorHandle, inputImageHandle, hotpixels, hotpixelsSize, outputImageHandle);
1403  }
1404  else
1405  {
1406  throw std::runtime_error("Library not loaded!");
1407  }
1408 }
1409 
1411 {
1412  auto& inst = instance();
1413  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive)
1414  {
1415  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive(adaptiveHotpixelCorrectorHandle, inputImageHandle, outputImageHandle);
1416  }
1417  else
1418  {
1419  throw std::runtime_error("Library not loaded!");
1420  }
1421 }
1422 
1424 {
1425  auto& inst = instance();
1426  if(inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct)
1427  {
1428  return inst.m_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct(adaptiveHotpixelCorrectorHandle);
1429  }
1430  else
1431  {
1432  throw std::runtime_error("Library not loaded!");
1433  }
1434 }
1435 
1437 {
1438  auto& inst = instance();
1439  if(inst.m_PEAK_IPL_ColorCorrector_Construct)
1440  {
1441  return inst.m_PEAK_IPL_ColorCorrector_Construct(colorCorrectorHandle);
1442  }
1443  else
1444  {
1445  throw std::runtime_error("Library not loaded!");
1446  }
1447 }
1448 
1450 {
1451  auto& inst = instance();
1452  if(inst.m_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors)
1453  {
1454  return inst.m_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors(colorCorrectorHandle, colorCorrectorFactors);
1455  }
1456  else
1457  {
1458  throw std::runtime_error("Library not loaded!");
1459  }
1460 }
1461 
1462 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ColorCorrector_GetColorCorrectionFactors(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float * colorCorrectorFactors, size_t * colorCorrectorFactorsSize)
1463 {
1464  auto& inst = instance();
1465  if(inst.m_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors)
1466  {
1467  return inst.m_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors(colorCorrectorHandle, colorCorrectorFactors, colorCorrectorFactorsSize);
1468  }
1469  else
1470  {
1471  throw std::runtime_error("Library not loaded!");
1472  }
1473 }
1474 
1476 {
1477  auto& inst = instance();
1478  if(inst.m_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported)
1479  {
1480  return inst.m_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported(colorCorrectorHandle, pixelFormat, isPixelFormatSupported);
1481  }
1482  else
1483  {
1484  throw std::runtime_error("Library not loaded!");
1485  }
1486 }
1487 
1489 {
1490  auto& inst = instance();
1491  if(inst.m_PEAK_IPL_ColorCorrector_Process)
1492  {
1493  return inst.m_PEAK_IPL_ColorCorrector_Process(colorCorrectorHandle, imageHandle, outputImageHandle);
1494  }
1495  else
1496  {
1497  throw std::runtime_error("Library not loaded!");
1498  }
1499 }
1500 
1502 {
1503  auto& inst = instance();
1504  if(inst.m_PEAK_IPL_ColorCorrector_ProcessInPlace)
1505  {
1506  return inst.m_PEAK_IPL_ColorCorrector_ProcessInPlace(colorCorrectorHandle, imageHandle);
1507  }
1508  else
1509  {
1510  throw std::runtime_error("Library not loaded!");
1511  }
1512 }
1513 
1515 {
1516  auto& inst = instance();
1517  if(inst.m_PEAK_IPL_ColorCorrector_Destruct)
1518  {
1519  return inst.m_PEAK_IPL_ColorCorrector_Destruct(colorCorrectorHandle);
1520  }
1521  else
1522  {
1523  throw std::runtime_error("Library not loaded!");
1524  }
1525 }
1526 
1528 {
1529  auto& inst = instance();
1530  if(inst.m_PEAK_IPL_Gain_Construct)
1531  {
1532  return inst.m_PEAK_IPL_Gain_Construct(gainHandle);
1533  }
1534  else
1535  {
1536  throw std::runtime_error("Library not loaded!");
1537  }
1538 }
1539 
1541 {
1542  auto& inst = instance();
1543  if(inst.m_PEAK_IPL_Gain_SetMasterGainValue)
1544  {
1545  return inst.m_PEAK_IPL_Gain_SetMasterGainValue(gainHandle, masterGainValue);
1546  }
1547  else
1548  {
1549  throw std::runtime_error("Library not loaded!");
1550  }
1551 }
1552 
1554 {
1555  auto& inst = instance();
1556  if(inst.m_PEAK_IPL_Gain_GetMasterGainValue)
1557  {
1558  return inst.m_PEAK_IPL_Gain_GetMasterGainValue(gainHandle, masterGainValue);
1559  }
1560  else
1561  {
1562  throw std::runtime_error("Library not loaded!");
1563  }
1564 }
1565 
1567 {
1568  auto& inst = instance();
1569  if(inst.m_PEAK_IPL_Gain_GetMasterGainMax)
1570  {
1571  return inst.m_PEAK_IPL_Gain_GetMasterGainMax(gainHandle, masterGainMax);
1572  }
1573  else
1574  {
1575  throw std::runtime_error("Library not loaded!");
1576  }
1577 }
1578 
1580 {
1581  auto& inst = instance();
1582  if(inst.m_PEAK_IPL_Gain_GetMasterGainMin)
1583  {
1584  return inst.m_PEAK_IPL_Gain_GetMasterGainMin(gainHandle, masterGainMin);
1585  }
1586  else
1587  {
1588  throw std::runtime_error("Library not loaded!");
1589  }
1590 }
1591 
1593 {
1594  auto& inst = instance();
1595  if(inst.m_PEAK_IPL_Gain_SetRedGainValue)
1596  {
1597  return inst.m_PEAK_IPL_Gain_SetRedGainValue(gainHandle, redGainValue);
1598  }
1599  else
1600  {
1601  throw std::runtime_error("Library not loaded!");
1602  }
1603 }
1604 
1606 {
1607  auto& inst = instance();
1608  if(inst.m_PEAK_IPL_Gain_GetRedGainValue)
1609  {
1610  return inst.m_PEAK_IPL_Gain_GetRedGainValue(gainHandle, redGainValue);
1611  }
1612  else
1613  {
1614  throw std::runtime_error("Library not loaded!");
1615  }
1616 }
1617 
1619 {
1620  auto& inst = instance();
1621  if(inst.m_PEAK_IPL_Gain_GetRedGainMax)
1622  {
1623  return inst.m_PEAK_IPL_Gain_GetRedGainMax(gainHandle, redGainMax);
1624  }
1625  else
1626  {
1627  throw std::runtime_error("Library not loaded!");
1628  }
1629 }
1630 
1632 {
1633  auto& inst = instance();
1634  if(inst.m_PEAK_IPL_Gain_GetRedGainMin)
1635  {
1636  return inst.m_PEAK_IPL_Gain_GetRedGainMin(gainHandle, redGainMin);
1637  }
1638  else
1639  {
1640  throw std::runtime_error("Library not loaded!");
1641  }
1642 }
1643 
1645 {
1646  auto& inst = instance();
1647  if(inst.m_PEAK_IPL_Gain_SetGreenGainValue)
1648  {
1649  return inst.m_PEAK_IPL_Gain_SetGreenGainValue(gainHandle, greenGainValue);
1650  }
1651  else
1652  {
1653  throw std::runtime_error("Library not loaded!");
1654  }
1655 }
1656 
1658 {
1659  auto& inst = instance();
1660  if(inst.m_PEAK_IPL_Gain_GetGreenGainValue)
1661  {
1662  return inst.m_PEAK_IPL_Gain_GetGreenGainValue(gainHandle, greenGainValue);
1663  }
1664  else
1665  {
1666  throw std::runtime_error("Library not loaded!");
1667  }
1668 }
1669 
1671 {
1672  auto& inst = instance();
1673  if(inst.m_PEAK_IPL_Gain_GetGreenGainMax)
1674  {
1675  return inst.m_PEAK_IPL_Gain_GetGreenGainMax(gainHandle, greenGainMax);
1676  }
1677  else
1678  {
1679  throw std::runtime_error("Library not loaded!");
1680  }
1681 }
1682 
1684 {
1685  auto& inst = instance();
1686  if(inst.m_PEAK_IPL_Gain_GetGreenGainMin)
1687  {
1688  return inst.m_PEAK_IPL_Gain_GetGreenGainMin(gainHandle, greenGainMin);
1689  }
1690  else
1691  {
1692  throw std::runtime_error("Library not loaded!");
1693  }
1694 }
1695 
1697 {
1698  auto& inst = instance();
1699  if(inst.m_PEAK_IPL_Gain_SetBlueGainValue)
1700  {
1701  return inst.m_PEAK_IPL_Gain_SetBlueGainValue(gainHandle, blueGainValue);
1702  }
1703  else
1704  {
1705  throw std::runtime_error("Library not loaded!");
1706  }
1707 }
1708 
1710 {
1711  auto& inst = instance();
1712  if(inst.m_PEAK_IPL_Gain_GetBlueGainValue)
1713  {
1714  return inst.m_PEAK_IPL_Gain_GetBlueGainValue(gainHandle, blueGainValue);
1715  }
1716  else
1717  {
1718  throw std::runtime_error("Library not loaded!");
1719  }
1720 }
1721 
1723 {
1724  auto& inst = instance();
1725  if(inst.m_PEAK_IPL_Gain_GetBlueGainMax)
1726  {
1727  return inst.m_PEAK_IPL_Gain_GetBlueGainMax(gainHandle, blueGainMax);
1728  }
1729  else
1730  {
1731  throw std::runtime_error("Library not loaded!");
1732  }
1733 }
1734 
1736 {
1737  auto& inst = instance();
1738  if(inst.m_PEAK_IPL_Gain_GetBlueGainMin)
1739  {
1740  return inst.m_PEAK_IPL_Gain_GetBlueGainMin(gainHandle, blueGainMin);
1741  }
1742  else
1743  {
1744  throw std::runtime_error("Library not loaded!");
1745  }
1746 }
1747 
1749 {
1750  auto& inst = instance();
1751  if(inst.m_PEAK_IPL_Gain_GetIsPixelFormatSupported)
1752  {
1753  return inst.m_PEAK_IPL_Gain_GetIsPixelFormatSupported(gainHandle, pixelFormat, isPixelFormatSupported);
1754  }
1755  else
1756  {
1757  throw std::runtime_error("Library not loaded!");
1758  }
1759 }
1760 
1762 {
1763  auto& inst = instance();
1764  if(inst.m_PEAK_IPL_Gain_Process)
1765  {
1766  return inst.m_PEAK_IPL_Gain_Process(gainHandle, imageHandle, outputImageHandle);
1767  }
1768  else
1769  {
1770  throw std::runtime_error("Library not loaded!");
1771  }
1772 }
1773 
1775 {
1776  auto& inst = instance();
1777  if(inst.m_PEAK_IPL_Gain_ProcessInPlace)
1778  {
1779  return inst.m_PEAK_IPL_Gain_ProcessInPlace(gainHandle, imageHandle);
1780  }
1781  else
1782  {
1783  throw std::runtime_error("Library not loaded!");
1784  }
1785 }
1786 
1788 {
1789  auto& inst = instance();
1790  if(inst.m_PEAK_IPL_Gain_Destruct)
1791  {
1792  return inst.m_PEAK_IPL_Gain_Destruct(gainHandle);
1793  }
1794  else
1795  {
1796  throw std::runtime_error("Library not loaded!");
1797  }
1798 }
1799 
1801 {
1802  auto& inst = instance();
1803  if(inst.m_PEAK_IPL_GammaCorrector_Construct)
1804  {
1805  return inst.m_PEAK_IPL_GammaCorrector_Construct(gammaCorrectorHandle);
1806  }
1807  else
1808  {
1809  throw std::runtime_error("Library not loaded!");
1810  }
1811 }
1812 
1814 {
1815  auto& inst = instance();
1816  if(inst.m_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue)
1817  {
1818  return inst.m_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue(gammaCorrectorHandle, gammaValue);
1819  }
1820  else
1821  {
1822  throw std::runtime_error("Library not loaded!");
1823  }
1824 }
1825 
1827 {
1828  auto& inst = instance();
1829  if(inst.m_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue)
1830  {
1831  return inst.m_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue(gammaCorrectorHandle, gammaValue);
1832  }
1833  else
1834  {
1835  throw std::runtime_error("Library not loaded!");
1836  }
1837 }
1838 
1840 {
1841  auto& inst = instance();
1842  if(inst.m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax)
1843  {
1844  return inst.m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax(gammaCorrectorHandle, gammaMax);
1845  }
1846  else
1847  {
1848  throw std::runtime_error("Library not loaded!");
1849  }
1850 }
1851 
1853 {
1854  auto& inst = instance();
1855  if(inst.m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin)
1856  {
1857  return inst.m_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin(gammaCorrectorHandle, gammaMin);
1858  }
1859  else
1860  {
1861  throw std::runtime_error("Library not loaded!");
1862  }
1863 }
1864 
1866 {
1867  auto& inst = instance();
1868  if(inst.m_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported)
1869  {
1870  return inst.m_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported(gammaCorrectorHandle, pixelFormat, isPixelFormatSupported);
1871  }
1872  else
1873  {
1874  throw std::runtime_error("Library not loaded!");
1875  }
1876 }
1877 
1879 {
1880  auto& inst = instance();
1881  if(inst.m_PEAK_IPL_GammaCorrector_Process)
1882  {
1883  return inst.m_PEAK_IPL_GammaCorrector_Process(gammaCorrectorHandle, imageHandle, outputImageHandle);
1884  }
1885  else
1886  {
1887  throw std::runtime_error("Library not loaded!");
1888  }
1889 }
1890 
1892 {
1893  auto& inst = instance();
1894  if(inst.m_PEAK_IPL_GammaCorrector_ProcessInPlace)
1895  {
1896  return inst.m_PEAK_IPL_GammaCorrector_ProcessInPlace(gammaCorrectorHandle, imageHandle);
1897  }
1898  else
1899  {
1900  throw std::runtime_error("Library not loaded!");
1901  }
1902 }
1903 
1905 {
1906  auto& inst = instance();
1907  if(inst.m_PEAK_IPL_GammaCorrector_Destruct)
1908  {
1909  return inst.m_PEAK_IPL_GammaCorrector_Destruct(gammaCorrectorHandle);
1910  }
1911  else
1912  {
1913  throw std::runtime_error("Library not loaded!");
1914  }
1915 }
1916 
1917 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Image_Construct(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE * imageHandle)
1918 {
1919  auto& inst = instance();
1920  if(inst.m_PEAK_IPL_Image_Construct)
1921  {
1922  return inst.m_PEAK_IPL_Image_Construct(pixelFormat, width, height, imageHandle);
1923  }
1924  else
1925  {
1926  throw std::runtime_error("Library not loaded!");
1927  }
1928 }
1929 
1930 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Image_ConstructFromBuffer(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint8_t * buffer, uint64_t bufferSize, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE * imageHandle)
1931 {
1932  auto& inst = instance();
1933  if(inst.m_PEAK_IPL_Image_ConstructFromBuffer)
1934  {
1935  return inst.m_PEAK_IPL_Image_ConstructFromBuffer(pixelFormat, buffer, bufferSize, width, height, imageHandle);
1936  }
1937  else
1938  {
1939  throw std::runtime_error("Library not loaded!");
1940  }
1941 }
1942 
1944 {
1945  auto& inst = instance();
1946  if(inst.m_PEAK_IPL_Image_GetWidth)
1947  {
1948  return inst.m_PEAK_IPL_Image_GetWidth(imageHandle, width);
1949  }
1950  else
1951  {
1952  throw std::runtime_error("Library not loaded!");
1953  }
1954 }
1955 
1957 {
1958  auto& inst = instance();
1959  if(inst.m_PEAK_IPL_Image_GetHeight)
1960  {
1961  return inst.m_PEAK_IPL_Image_GetHeight(imageHandle, height);
1962  }
1963  else
1964  {
1965  throw std::runtime_error("Library not loaded!");
1966  }
1967 }
1968 
1969 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Image_GetPixelPointer(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t xPos, size_t yPos, uint8_t * * pixelPointer)
1970 {
1971  auto& inst = instance();
1972  if(inst.m_PEAK_IPL_Image_GetPixelPointer)
1973  {
1974  return inst.m_PEAK_IPL_Image_GetPixelPointer(imageHandle, xPos, yPos, pixelPointer);
1975  }
1976  else
1977  {
1978  throw std::runtime_error("Library not loaded!");
1979  }
1980 }
1981 
1983 {
1984  auto& inst = instance();
1985  if(inst.m_PEAK_IPL_Image_GetByteCount)
1986  {
1987  return inst.m_PEAK_IPL_Image_GetByteCount(imageHandle, byteCount);
1988  }
1989  else
1990  {
1991  throw std::runtime_error("Library not loaded!");
1992  }
1993 }
1994 
1996 {
1997  auto& inst = instance();
1998  if(inst.m_PEAK_IPL_Image_GetPixelFormat)
1999  {
2000  return inst.m_PEAK_IPL_Image_GetPixelFormat(imageHandle, pixelFormat);
2001  }
2002  else
2003  {
2004  throw std::runtime_error("Library not loaded!");
2005  }
2006 }
2007 
2009 {
2010  auto& inst = instance();
2011  if(inst.m_PEAK_IPL_Image_GetData)
2012  {
2013  return inst.m_PEAK_IPL_Image_GetData(imageHandle, data);
2014  }
2015  else
2016  {
2017  throw std::runtime_error("Library not loaded!");
2018  }
2019 }
2020 
2022 {
2023  auto& inst = instance();
2024  if(inst.m_PEAK_IPL_Image_Clone)
2025  {
2026  return inst.m_PEAK_IPL_Image_Clone(imageHandle, outputImageHandle);
2027  }
2028  else
2029  {
2030  throw std::runtime_error("Library not loaded!");
2031  }
2032 }
2033 
2035 {
2036  auto& inst = instance();
2037  if(inst.m_PEAK_IPL_Image_ConvertTo)
2038  {
2039  return inst.m_PEAK_IPL_Image_ConvertTo(imageHandle, outputPixelFormat, conversionMode, outputImageHandle);
2040  }
2041  else
2042  {
2043  throw std::runtime_error("Library not loaded!");
2044  }
2045 }
2046 
2047 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Image_ConvertToBuffer(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t * outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE * outputImageHandle)
2048 {
2049  auto& inst = instance();
2050  if(inst.m_PEAK_IPL_Image_ConvertToBuffer)
2051  {
2052  return inst.m_PEAK_IPL_Image_ConvertToBuffer(imageHandle, outputPixelFormat, outputImageBuffer, outputImageBufferSize, conversionMode, outputImageHandle);
2053  }
2054  else
2055  {
2056  throw std::runtime_error("Library not loaded!");
2057  }
2058 }
2059 
2061 {
2062  auto& inst = instance();
2063  if(inst.m_PEAK_IPL_Image_Destruct)
2064  {
2065  return inst.m_PEAK_IPL_Image_Destruct(imageHandle);
2066  }
2067  else
2068  {
2069  throw std::runtime_error("Library not loaded!");
2070  }
2071 }
2072 
2074 {
2075  auto& inst = instance();
2076  if(inst.m_PEAK_IPL_ImageTransformer_Construct)
2077  {
2078  return inst.m_PEAK_IPL_ImageTransformer_Construct(imageTransformerHandle);
2079  }
2080  else
2081  {
2082  throw std::runtime_error("Library not loaded!");
2083  }
2084 }
2085 
2087 {
2088  auto& inst = instance();
2089  if(inst.m_PEAK_IPL_ImageTransformer_MirrorUpDown)
2090  {
2091  return inst.m_PEAK_IPL_ImageTransformer_MirrorUpDown(imageTransformerHandle, imageHandle, outputImageHandle);
2092  }
2093  else
2094  {
2095  throw std::runtime_error("Library not loaded!");
2096  }
2097 }
2098 
2100 {
2101  auto& inst = instance();
2102  if(inst.m_PEAK_IPL_ImageTransformer_MirrorLeftRight)
2103  {
2104  return inst.m_PEAK_IPL_ImageTransformer_MirrorLeftRight(imageTransformerHandle, imageHandle, outputImageHandle);
2105  }
2106  else
2107  {
2108  throw std::runtime_error("Library not loaded!");
2109  }
2110 }
2111 
2113 {
2114  auto& inst = instance();
2115  if(inst.m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight)
2116  {
2117  return inst.m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight(imageTransformerHandle, imageHandle, outputImageHandle);
2118  }
2119  else
2120  {
2121  throw std::runtime_error("Library not loaded!");
2122  }
2123 }
2124 
2126 {
2127  auto& inst = instance();
2128  if(inst.m_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace)
2129  {
2130  return inst.m_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace(imageTransformerHandle, imageHandle);
2131  }
2132  else
2133  {
2134  throw std::runtime_error("Library not loaded!");
2135  }
2136 }
2137 
2139 {
2140  auto& inst = instance();
2141  if(inst.m_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace)
2142  {
2143  return inst.m_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace(imageTransformerHandle, imageHandle);
2144  }
2145  else
2146  {
2147  throw std::runtime_error("Library not loaded!");
2148  }
2149 }
2150 
2152 {
2153  auto& inst = instance();
2154  if(inst.m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace)
2155  {
2156  return inst.m_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace(imageTransformerHandle, imageHandle);
2157  }
2158  else
2159  {
2160  throw std::runtime_error("Library not loaded!");
2161  }
2162 }
2163 
2165 {
2166  auto& inst = instance();
2167  if(inst.m_PEAK_IPL_ImageTransformer_Rotate)
2168  {
2169  return inst.m_PEAK_IPL_ImageTransformer_Rotate(imageTransformerHandle, imageHandle, outputImageHandle, rotationAngle);
2170  }
2171  else
2172  {
2173  throw std::runtime_error("Library not loaded!");
2174  }
2175 }
2176 
2178 {
2179  auto& inst = instance();
2180  if(inst.m_PEAK_IPL_ImageTransformer_RotateInPlace)
2181  {
2182  return inst.m_PEAK_IPL_ImageTransformer_RotateInPlace(imageTransformerHandle, imageHandle, rotationAngle);
2183  }
2184  else
2185  {
2186  throw std::runtime_error("Library not loaded!");
2187  }
2188 }
2189 
2191 {
2192  auto& inst = instance();
2193  if(inst.m_PEAK_IPL_ImageTransformer_Destruct)
2194  {
2195  return inst.m_PEAK_IPL_ImageTransformer_Destruct(imageTransformerHandle);
2196  }
2197  else
2198  {
2199  throw std::runtime_error("Library not loaded!");
2200  }
2201 }
2202 
2204 {
2205  auto& inst = instance();
2206  if(inst.m_PEAK_IPL_Histogram_Construct)
2207  {
2208  return inst.m_PEAK_IPL_Histogram_Construct(imageHandle, histogramHandle);
2209  }
2210  else
2211  {
2212  throw std::runtime_error("Library not loaded!");
2213  }
2214 }
2215 
2217 {
2218  auto& inst = instance();
2219  if(inst.m_PEAK_IPL_Histogram_GetPixelFormat)
2220  {
2221  return inst.m_PEAK_IPL_Histogram_GetPixelFormat(histogramHandle, pixelFormat);
2222  }
2223  else
2224  {
2225  throw std::runtime_error("Library not loaded!");
2226  }
2227 }
2228 
2230 {
2231  auto& inst = instance();
2232  if(inst.m_PEAK_IPL_Histogram_GetNumChannels)
2233  {
2234  return inst.m_PEAK_IPL_Histogram_GetNumChannels(histogramHandle, numChannels);
2235  }
2236  else
2237  {
2238  throw std::runtime_error("Library not loaded!");
2239  }
2240 }
2241 
2242 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Histogram_GetPixelSumForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * pixelSum)
2243 {
2244  auto& inst = instance();
2245  if(inst.m_PEAK_IPL_Histogram_GetPixelSumForChannel)
2246  {
2247  return inst.m_PEAK_IPL_Histogram_GetPixelSumForChannel(histogramHandle, channelIndex, pixelSum);
2248  }
2249  else
2250  {
2251  throw std::runtime_error("Library not loaded!");
2252  }
2253 }
2254 
2255 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Histogram_GetPixelCountForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * pixelCount)
2256 {
2257  auto& inst = instance();
2258  if(inst.m_PEAK_IPL_Histogram_GetPixelCountForChannel)
2259  {
2260  return inst.m_PEAK_IPL_Histogram_GetPixelCountForChannel(histogramHandle, channelIndex, pixelCount);
2261  }
2262  else
2263  {
2264  throw std::runtime_error("Library not loaded!");
2265  }
2266 }
2267 
2268 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_Histogram_GetBinsForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t * bins, size_t * binsSize)
2269 {
2270  auto& inst = instance();
2271  if(inst.m_PEAK_IPL_Histogram_GetBinsForChannel)
2272  {
2273  return inst.m_PEAK_IPL_Histogram_GetBinsForChannel(histogramHandle, channelIndex, bins, binsSize);
2274  }
2275  else
2276  {
2277  throw std::runtime_error("Library not loaded!");
2278  }
2279 }
2280 
2282 {
2283  auto& inst = instance();
2284  if(inst.m_PEAK_IPL_Histogram_Destruct)
2285  {
2286  return inst.m_PEAK_IPL_Histogram_Destruct(histogramHandle);
2287  }
2288  else
2289  {
2290  throw std::runtime_error("Library not loaded!");
2291  }
2292 }
2293 
2295 {
2296  auto& inst = instance();
2297  if(inst.m_PEAK_IPL_PixelLine_Construct)
2298  {
2299  return inst.m_PEAK_IPL_PixelLine_Construct(imageHandle, orientation, offset, pixelLineHandle);
2300  }
2301  else
2302  {
2303  throw std::runtime_error("Library not loaded!");
2304  }
2305 }
2306 
2308 {
2309  auto& inst = instance();
2310  if(inst.m_PEAK_IPL_PixelLine_GetPixelFormat)
2311  {
2312  return inst.m_PEAK_IPL_PixelLine_GetPixelFormat(pixelLineHandle, pixelFormat);
2313  }
2314  else
2315  {
2316  throw std::runtime_error("Library not loaded!");
2317  }
2318 }
2319 
2321 {
2322  auto& inst = instance();
2323  if(inst.m_PEAK_IPL_PixelLine_GetOrientation)
2324  {
2325  return inst.m_PEAK_IPL_PixelLine_GetOrientation(pixelLineHandle, orientation);
2326  }
2327  else
2328  {
2329  throw std::runtime_error("Library not loaded!");
2330  }
2331 }
2332 
2334 {
2335  auto& inst = instance();
2336  if(inst.m_PEAK_IPL_PixelLine_GetOffset)
2337  {
2338  return inst.m_PEAK_IPL_PixelLine_GetOffset(pixelLineHandle, offset);
2339  }
2340  else
2341  {
2342  throw std::runtime_error("Library not loaded!");
2343  }
2344 }
2345 
2347 {
2348  auto& inst = instance();
2349  if(inst.m_PEAK_IPL_PixelLine_GetNumChannels)
2350  {
2351  return inst.m_PEAK_IPL_PixelLine_GetNumChannels(pixelLineHandle, numChannels);
2352  }
2353  else
2354  {
2355  throw std::runtime_error("Library not loaded!");
2356  }
2357 }
2358 
2359 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_PixelLine_GetValuesForChannel(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t channelIndex, uint32_t * values, size_t * valuesSize)
2360 {
2361  auto& inst = instance();
2362  if(inst.m_PEAK_IPL_PixelLine_GetValuesForChannel)
2363  {
2364  return inst.m_PEAK_IPL_PixelLine_GetValuesForChannel(pixelLineHandle, channelIndex, values, valuesSize);
2365  }
2366  else
2367  {
2368  throw std::runtime_error("Library not loaded!");
2369  }
2370 }
2371 
2373 {
2374  auto& inst = instance();
2375  if(inst.m_PEAK_IPL_PixelLine_Destruct)
2376  {
2377  return inst.m_PEAK_IPL_PixelLine_Destruct(pixelLineHandle);
2378  }
2379  else
2380  {
2381  throw std::runtime_error("Library not loaded!");
2382  }
2383 }
2384 
2386 {
2387  auto& inst = instance();
2388  if(inst.m_PEAK_IPL_PixelFormat_GetNumChannels)
2389  {
2390  return inst.m_PEAK_IPL_PixelFormat_GetNumChannels(pixelFormat, numChannels);
2391  }
2392  else
2393  {
2394  throw std::runtime_error("Library not loaded!");
2395  }
2396 }
2397 
2399 {
2400  auto& inst = instance();
2401  if(inst.m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel)
2402  {
2403  return inst.m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel(pixelFormat, numSignificantBits);
2404  }
2405  else
2406  {
2407  throw std::runtime_error("Library not loaded!");
2408  }
2409 }
2410 
2412 {
2413  auto& inst = instance();
2414  if(inst.m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel)
2415  {
2416  return inst.m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel(pixelFormat, numStorageBits);
2417  }
2418  else
2419  {
2420  throw std::runtime_error("Library not loaded!");
2421  }
2422 }
2423 
2425 {
2426  auto& inst = instance();
2427  if(inst.m_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel)
2428  {
2429  return inst.m_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel(pixelFormat, channelMaximumValue);
2430  }
2431  else
2432  {
2433  throw std::runtime_error("Library not loaded!");
2434  }
2435 }
2436 
2438 {
2439  auto& inst = instance();
2440  if(inst.m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel)
2441  {
2442  return inst.m_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel(pixelFormat, numSignificantBits);
2443  }
2444  else
2445  {
2446  throw std::runtime_error("Library not loaded!");
2447  }
2448 }
2449 
2451 {
2452  auto& inst = instance();
2453  if(inst.m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel)
2454  {
2455  return inst.m_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel(pixelFormat, numStorageBits);
2456  }
2457  else
2458  {
2459  throw std::runtime_error("Library not loaded!");
2460  }
2461 }
2462 
2464 {
2465  auto& inst = instance();
2466  if(inst.m_PEAK_IPL_PixelFormat_GetEndianness)
2467  {
2468  return inst.m_PEAK_IPL_PixelFormat_GetEndianness(pixelFormat, endianness);
2469  }
2470  else
2471  {
2472  throw std::runtime_error("Library not loaded!");
2473  }
2474 }
2475 
2477 {
2478  auto& inst = instance();
2479  if(inst.m_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels)
2480  {
2481  return inst.m_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels(pixelFormat, numPixels, size);
2482  }
2483  else
2484  {
2485  throw std::runtime_error("Library not loaded!");
2486  }
2487 }
2488 
2489 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageWriter_WriteAsRAW(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize)
2490 {
2491  auto& inst = instance();
2492  if(inst.m_PEAK_IPL_ImageWriter_WriteAsRAW)
2493  {
2494  return inst.m_PEAK_IPL_ImageWriter_WriteAsRAW(inputImageHandle, filePath, filePathSize);
2495  }
2496  else
2497  {
2498  throw std::runtime_error("Library not loaded!");
2499  }
2500 }
2501 
2502 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageWriter_WriteAsBMP(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize)
2503 {
2504  auto& inst = instance();
2505  if(inst.m_PEAK_IPL_ImageWriter_WriteAsBMP)
2506  {
2507  return inst.m_PEAK_IPL_ImageWriter_WriteAsBMP(inputImageHandle, filePath, filePathSize);
2508  }
2509  else
2510  {
2511  throw std::runtime_error("Library not loaded!");
2512  }
2513 }
2514 
2515 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageWriter_WriteAsPNG(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char * filePath, size_t filePathSize)
2516 {
2517  auto& inst = instance();
2518  if(inst.m_PEAK_IPL_ImageWriter_WriteAsPNG)
2519  {
2520  return inst.m_PEAK_IPL_ImageWriter_WriteAsPNG(inputImageHandle, quality, filePath, filePathSize);
2521  }
2522  else
2523  {
2524  throw std::runtime_error("Library not loaded!");
2525  }
2526 }
2527 
2528 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageWriter_WriteAsJPG(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char * filePath, size_t filePathSize)
2529 {
2530  auto& inst = instance();
2531  if(inst.m_PEAK_IPL_ImageWriter_WriteAsJPG)
2532  {
2533  return inst.m_PEAK_IPL_ImageWriter_WriteAsJPG(inputImageHandle, quality, filePath, filePathSize);
2534  }
2535  else
2536  {
2537  throw std::runtime_error("Library not loaded!");
2538  }
2539 }
2540 
2541 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageWriter_Write(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char * filePath, size_t filePathSize)
2542 {
2543  auto& inst = instance();
2544  if(inst.m_PEAK_IPL_ImageWriter_Write)
2545  {
2546  return inst.m_PEAK_IPL_ImageWriter_Write(inputImageHandle, filePath, filePathSize);
2547  }
2548  else
2549  {
2550  throw std::runtime_error("Library not loaded!");
2551  }
2552 }
2553 
2554 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageReader_Read(const char * filePath, size_t filePathSize, PEAK_IPL_IMAGE_HANDLE * outputImageHandle)
2555 {
2556  auto& inst = instance();
2557  if(inst.m_PEAK_IPL_ImageReader_Read)
2558  {
2559  return inst.m_PEAK_IPL_ImageReader_Read(filePath, filePathSize, outputImageHandle);
2560  }
2561  else
2562  {
2563  throw std::runtime_error("Library not loaded!");
2564  }
2565 }
2566 
2567 inline PEAK_IPL_C_API DynamicLoader::PEAK_IPL_ImageReaderRead_ReadAsPixelFormat(const char * filePath, size_t filePathSize, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_IMAGE_HANDLE * outputImageHandle)
2568 {
2569  auto& inst = instance();
2570  if(inst.m_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat)
2571  {
2572  return inst.m_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat(filePath, filePathSize, pixelFormat, outputImageHandle);
2573  }
2574  else
2575  {
2576  throw std::runtime_error("Library not loaded!");
2577  }
2578 }
2579 
2580 } /* namespace dynamic */
2581 } /* namespace ipl */
2582 } /* namespace peak */
2583 
struct PEAK_IPL_COLOR_CORRECTOR * PEAK_IPL_COLOR_CORRECTOR_HANDLE
Definition: peak_ipl_backend.h:215
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageWriter_Write)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:145
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_Process(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1488
static PEAK_IPL_C_API PEAK_IPL_Gain_GetRedGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainMax)
Definition: peak_ipl_dynamic_loader.h:1618
int32_t PEAK_IPL_ENDIANNESS
Definition: peak_ipl_backend.h:162
PEAK_IPL_C_API(* dyn_PEAK_IPL_Library_GetVersionSubminor)(uint32_t *libraryVersionSubminor)
Definition: peak_ipl_dynamic_loader.h:41
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_GetGammaCorrectionMax(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaMax)
Definition: peak_ipl_dynamic_loader.h:1839
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_Construct)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_HISTOGRAM_HANDLE *histogramHandle)
Definition: peak_ipl_dynamic_loader.h:119
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Definition: peak_ipl_dynamic_loader.h:63
static bool isLoaded()
Definition: peak_ipl_dynamic_loader.h:446
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_GetGammaCorrectionMin(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaMin)
Definition: peak_ipl_dynamic_loader.h:1852
static PEAK_IPL_C_API PEAK_IPL_Library_GetVersionSubminor(uint32_t *libraryVersionSubminor)
Definition: peak_ipl_dynamic_loader.h:1189
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, uint32_t *gainFactorPercent)
Definition: peak_ipl_dynamic_loader.h:54
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetGreenGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainMin)
Definition: peak_ipl_dynamic_loader.h:79
struct PEAK_IPL_HISTOGRAM * PEAK_IPL_HISTOGRAM_HANDLE
Definition: peak_ipl_backend.h:231
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetRedGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainValue)
Definition: peak_ipl_dynamic_loader.h:73
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_Construct(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE *adaptiveHotpixelCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:1306
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numStorageBits)
Definition: peak_ipl_dynamic_loader.h:2450
static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetOffset(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t *offset)
Definition: peak_ipl_dynamic_loader.h:2333
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:114
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_GetNumChannels)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t *numChannels)
Definition: peak_ipl_dynamic_loader.h:130
static PEAK_IPL_C_API PEAK_IPL_PixelLine_Destruct(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle)
Definition: peak_ipl_dynamic_loader.h:2372
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numSignificantBits)
Definition: peak_ipl_dynamic_loader.h:2437
static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetValuesForChannel(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t channelIndex, uint32_t *values, size_t *valuesSize)
Definition: peak_ipl_dynamic_loader.h:2359
static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetNumChannels(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t *numChannels)
Definition: peak_ipl_dynamic_loader.h:2346
static PEAK_IPL_C_API PEAK_IPL_PixelLine_Construct(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_ORIENTATION orientation, size_t offset, PEAK_IPL_PIXEL_LINE_HANDLE *pixelLineHandle)
Definition: peak_ipl_dynamic_loader.h:2294
~DynamicLoader()
Definition: peak_ipl_dynamic_loader.h:438
PEAK_IPL_C_API(* dyn_PEAK_IPL_Library_GetVersionMinor)(uint32_t *libraryVersionMinor)
Definition: peak_ipl_dynamic_loader.h:40
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_Destruct)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:96
static PEAK_IPL_C_API PEAK_IPL_Image_GetByteCount(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t *byteCount)
Definition: peak_ipl_dynamic_loader.h:1982
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetGreenGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainMax)
Definition: peak_ipl_dynamic_loader.h:78
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_ProcessInPlace(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:1891
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_GetData)(PEAK_IPL_IMAGE_HANDLE imageHandle, uint8_t **data)
Definition: peak_ipl_dynamic_loader.h:104
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_GetPixelSumForChannel)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t *pixelSum)
Definition: peak_ipl_dynamic_loader.h:122
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_Destruct)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle)
Definition: peak_ipl_dynamic_loader.h:132
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_Process)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:94
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetBlueGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainMax)
Definition: peak_ipl_dynamic_loader.h:82
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_Construct(PEAK_IPL_GAMMA_CORRECTOR_HANDLE *gammaCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:1800
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_GetNumChannels)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t *numChannels)
Definition: peak_ipl_dynamic_loader.h:121
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageWriter_WriteAsBMP)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:142
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numStorageBits)
Definition: peak_ipl_dynamic_loader.h:2411
int32_t PEAK_IPL_RETURN_CODE
Definition: peak_ipl_backend.h:41
int32_t PEAK_IPL_ORIENTATION
Definition: peak_ipl_backend.h:170
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_Destruct)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle)
Definition: peak_ipl_dynamic_loader.h:49
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_Correct(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, const PEAK_IPL_POINT_2D *hotpixels, size_t hotpixelsSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1397
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetBlueGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainMin)
Definition: peak_ipl_dynamic_loader.h:83
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_SetGammaCorrectionValue(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaValue)
Definition: peak_ipl_dynamic_loader.h:1813
struct PEAK_IPL_GAMMA_CORRECTOR * PEAK_IPL_GAMMA_CORRECTOR_HANDLE
Definition: peak_ipl_backend.h:223
static PEAK_IPL_C_API PEAK_IPL_Gain_GetBlueGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainValue)
Definition: peak_ipl_dynamic_loader.h:1709
void * import_function(void *module, const char *proc_name)
Definition: peak_ipl_dynamic_loader.h:393
The "peak::ipl" namespace contains the whole image processing library.
Definition: peak_ipl_color_corrector.hpp:30
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageWriter_WriteAsRAW)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:141
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionValue)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaValue)
Definition: peak_ipl_dynamic_loader.h:90
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_Construct(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE *imageTransformerHandle)
Definition: peak_ipl_dynamic_loader.h:2073
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_Destruct)(PEAK_IPL_GAIN_HANDLE gainHandle)
Definition: peak_ipl_dynamic_loader.h:87
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_POINT_2D *hotpixels, size_t *hotpixelsSize)
Definition: peak_ipl_dynamic_loader.h:1384
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, uint32_t gainFactorPercent)
Definition: peak_ipl_dynamic_loader.h:53
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_RotateInPlace(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_TRANSFORMER_ROTATION_ANGLE_t rotationAngle)
Definition: peak_ipl_dynamic_loader.h:2177
static PEAK_IPL_C_API PEAK_IPL_Library_GetVersionMajor(uint32_t *libraryVersionMajor)
Definition: peak_ipl_dynamic_loader.h:1163
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_Construct(PEAK_IPL_IMAGE_CONVERTER_HANDLE *imageConverterHandle)
Definition: peak_ipl_dynamic_loader.h:1215
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_SetColorCorrectionFactors)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float *colorCorrectorFactors)
Definition: peak_ipl_dynamic_loader.h:61
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_GetHeight)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t *height)
Definition: peak_ipl_dynamic_loader.h:100
PEAK_IPL_C_API(* dyn_PEAK_IPL_Library_GetVersionMajor)(uint32_t *libraryVersionMajor)
Definition: peak_ipl_dynamic_loader.h:39
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetMasterGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainMin)
Definition: peak_ipl_dynamic_loader.h:71
static PEAK_IPL_C_API PEAK_IPL_Image_ConstructFromBuffer(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint8_t *buffer, uint64_t bufferSize, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE *imageHandle)
Definition: peak_ipl_dynamic_loader.h:1930
struct PEAK_IPL_PIXEL_LINE * PEAK_IPL_PIXEL_LINE_HANDLE
Definition: peak_ipl_backend.h:235
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_Process)(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:85
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_ConvertToBuffer)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t *outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:107
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetMaximumValuePerChannel)(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint32_t *channelMaximumValue)
Definition: peak_ipl_dynamic_loader.h:136
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_MirrorUpDown(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2086
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_ProcessInPlace)(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:86
static PEAK_IPL_C_API PEAK_IPL_Gain_ProcessInPlace(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:1774
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_Construct)(PEAK_IPL_COLOR_CORRECTOR_HANDLE *colorCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:60
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_GetWidth)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t *width)
Definition: peak_ipl_dynamic_loader.h:99
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_GetGainFactorPercent(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, uint32_t *gainFactorPercent)
Definition: peak_ipl_dynamic_loader.h:1358
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_ConvertToBuffer(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t *outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1280
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_Destruct(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle)
Definition: peak_ipl_dynamic_loader.h:1293
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_ProcessInPlace)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:95
static PEAK_IPL_C_API PEAK_IPL_Image_ConvertTo(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2034
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:115
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_MirrorLeftRightInPlace(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:2138
static PEAK_IPL_C_API PEAK_IPL_Image_GetWidth(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t *width)
Definition: peak_ipl_dynamic_loader.h:1943
static PEAK_IPL_C_API PEAK_IPL_Gain_GetBlueGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainMin)
Definition: peak_ipl_dynamic_loader.h:1735
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_Construct)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE *imageHandle)
Definition: peak_ipl_dynamic_loader.h:97
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_Rotate)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle, PEAK_IPL_IMAGE_TRANSFORMER_ROTATION_ANGLE_t rotationAngle)
Definition: peak_ipl_dynamic_loader.h:116
static PEAK_IPL_C_API PEAK_IPL_Gain_Destruct(PEAK_IPL_GAIN_HANDLE gainHandle)
Definition: peak_ipl_dynamic_loader.h:1787
static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetPixelFormat(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Definition: peak_ipl_dynamic_loader.h:2307
static PEAK_IPL_C_API PEAK_IPL_Gain_SetBlueGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainValue)
Definition: peak_ipl_dynamic_loader.h:1696
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_Destruct(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:1423
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_Destruct)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle)
Definition: peak_ipl_dynamic_loader.h:118
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetNumStorageBitsPerPixel)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numStorageBits)
Definition: peak_ipl_dynamic_loader.h:138
static PEAK_IPL_C_API PEAK_IPL_Histogram_Construct(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_HISTOGRAM_HANDLE *histogramHandle)
Definition: peak_ipl_dynamic_loader.h:2203
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_HOTPIXELCORRECTION_SENSITIVITY sensitivityLevel)
Definition: peak_ipl_dynamic_loader.h:1319
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_GetOrientation)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, PEAK_IPL_ORIENTATION *orientation)
Definition: peak_ipl_dynamic_loader.h:128
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Correct)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, const PEAK_IPL_POINT_2D *hotpixels, size_t hotpixelsSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:57
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_Destruct(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle)
Definition: peak_ipl_dynamic_loader.h:2190
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetRedGainMin)(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainMin)
Definition: peak_ipl_dynamic_loader.h:75
static PEAK_IPL_C_API PEAK_IPL_Histogram_GetPixelFormat(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Definition: peak_ipl_dynamic_loader.h:2216
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_Detect(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1371
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_GetPixelPointer)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t xPos, size_t yPos, uint8_t **pixelPointer)
Definition: peak_ipl_dynamic_loader.h:101
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_ProcessInPlace)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:65
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_MirrorLeftRight)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:111
struct PEAK_IPL_IMAGE_CONVERTER * PEAK_IPL_IMAGE_CONVERTER_HANDLE
Definition: peak_ipl_backend.h:203
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_SetMasterGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainValue)
Definition: peak_ipl_dynamic_loader.h:68
static PEAK_IPL_C_API PEAK_IPL_ImageReaderRead_ReadAsPixelFormat(const char *filePath, size_t filePathSize, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2567
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_SetSensitivity)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_HOTPIXELCORRECTION_SENSITIVITY sensitivityLevel)
Definition: peak_ipl_dynamic_loader.h:51
struct PEAK_IPL_IMAGE * PEAK_IPL_IMAGE_HANDLE
Definition: peak_ipl_backend.h:227
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT *outputPixelFormats, size_t *outputPixelFormatsSize)
Definition: peak_ipl_dynamic_loader.h:1254
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_GetValuesForChannel)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t channelIndex, uint32_t *values, size_t *valuesSize)
Definition: peak_ipl_dynamic_loader.h:131
struct PEAK_IPL_IMAGE_transformer * PEAK_IPL_IMAGE_TRANSFORMER_HANDLE
Definition: peak_ipl_backend.h:207
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:112
static PEAK_IPL_C_API PEAK_IPL_Image_Construct(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE *imageHandle)
Definition: peak_ipl_dynamic_loader.h:1917
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Definition: peak_ipl_dynamic_loader.h:1865
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_HOTPIXELCORRECTION_SENSITIVITY *sensitivityLevel)
Definition: peak_ipl_dynamic_loader.h:1332
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetRedGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainMax)
Definition: peak_ipl_dynamic_loader.h:74
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_GetOffset)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, size_t *offset)
Definition: peak_ipl_dynamic_loader.h:129
static PEAK_IPL_C_API PEAK_IPL_Gain_GetMasterGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainMin)
Definition: peak_ipl_dynamic_loader.h:1579
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetBlueGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainValue)
Definition: peak_ipl_dynamic_loader.h:81
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_GetPixelFormat)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Definition: peak_ipl_dynamic_loader.h:120
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetSensitivity)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_HOTPIXELCORRECTION_SENSITIVITY *sensitivityLevel)
Definition: peak_ipl_dynamic_loader.h:52
Definition: peak_ipl_dynamic_loader.h:150
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_GetSupportedOutputPixelFormats)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_PIXEL_FORMAT inputPixelFormat, PEAK_IPL_PIXEL_FORMAT *outputPixelFormats, size_t *outputPixelFormatsSize)
Definition: peak_ipl_dynamic_loader.h:46
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_GetIsPixelFormatSupported)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Definition: peak_ipl_dynamic_loader.h:93
static PEAK_IPL_C_API PEAK_IPL_Gain_Construct(PEAK_IPL_GAIN_HANDLE *gainHandle)
Definition: peak_ipl_dynamic_loader.h:1527
static PEAK_IPL_C_API PEAK_IPL_Histogram_GetNumChannels(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t *numChannels)
Definition: peak_ipl_dynamic_loader.h:2229
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_Construct)(PEAK_IPL_IMAGE_CONVERTER_HANDLE *imageConverterHandle)
Definition: peak_ipl_dynamic_loader.h:43
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_GetColorCorrectionFactors(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float *colorCorrectorFactors, size_t *colorCorrectorFactorsSize)
Definition: peak_ipl_dynamic_loader.h:1462
static PEAK_IPL_C_API PEAK_IPL_Histogram_GetPixelCountForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t *pixelCount)
Definition: peak_ipl_dynamic_loader.h:2255
static PEAK_IPL_C_API PEAK_IPL_Gain_SetGreenGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainValue)
Definition: peak_ipl_dynamic_loader.h:1644
static PEAK_IPL_C_API PEAK_IPL_Image_GetPixelPointer(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t xPos, size_t yPos, uint8_t **pixelPointer)
Definition: peak_ipl_dynamic_loader.h:1969
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_Construct)(PEAK_IPL_GAIN_HANDLE *gainHandle)
Definition: peak_ipl_dynamic_loader.h:67
static PEAK_IPL_C_API PEAK_IPL_Gain_GetGreenGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainMax)
Definition: peak_ipl_dynamic_loader.h:1670
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetNumStorageBitsPerChannel)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numStorageBits)
Definition: peak_ipl_dynamic_loader.h:135
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_Convert(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1267
static PEAK_IPL_C_API PEAK_IPL_Gain_GetGreenGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainMin)
Definition: peak_ipl_dynamic_loader.h:1683
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetIsPixelFormatSupported)(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Definition: peak_ipl_dynamic_loader.h:84
struct PEAK_IPL_GAIN * PEAK_IPL_GAIN_HANDLE
Definition: peak_ipl_backend.h:219
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_SetConversionMode(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_CONVERSION_MODE conversionMode)
Definition: peak_ipl_dynamic_loader.h:1241
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_SetRedGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainValue)
Definition: peak_ipl_dynamic_loader.h:72
PEAK_IPL_IMAGE_TRANSFORMER_ROTATION_ANGLE_t
Definition: peak_ipl_backend.h:185
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Destruct)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:59
static PEAK_IPL_C_API PEAK_IPL_ImageReader_Read(const char *filePath, size_t filePathSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2554
int32_t PEAK_IPL_HOTPIXELCORRECTION_SENSITIVITY
Definition: peak_ipl_backend.h:182
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_Destruct)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:66
static PEAK_IPL_C_API PEAK_IPL_Image_ConvertToBuffer(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t *outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2047
int8_t PEAK_IPL_BOOL8
Definition: peak_ipl_backend.h:25
static PEAK_IPL_C_API PEAK_IPL_Gain_GetIsPixelFormatSupported(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Definition: peak_ipl_dynamic_loader.h:1748
static PEAK_IPL_C_API PEAK_IPL_Gain_GetMasterGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainValue)
Definition: peak_ipl_dynamic_loader.h:1553
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_GetIsPixelFormatSupported(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Definition: peak_ipl_dynamic_loader.h:1475
static PEAK_IPL_C_API PEAK_IPL_Library_GetLastError(PEAK_IPL_RETURN_CODE *lastErrorCode, char *lastErrorDescription, size_t *lastErrorDescriptionSize)
Definition: peak_ipl_dynamic_loader.h:1202
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1410
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_GetBinsForChannel)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t *bins, size_t *binsSize)
Definition: peak_ipl_dynamic_loader.h:124
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetNumChannels)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numChannels)
Definition: peak_ipl_dynamic_loader.h:133
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetMaximumValuePerChannel(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint32_t *channelMaximumValue)
Definition: peak_ipl_dynamic_loader.h:2424
static PEAK_IPL_C_API PEAK_IPL_AdaptiveHotpixelCorrector_SetGainFactorPercent(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, uint32_t gainFactorPercent)
Definition: peak_ipl_dynamic_loader.h:1345
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_Rotate(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle, PEAK_IPL_IMAGE_TRANSFORMER_ROTATION_ANGLE_t rotationAngle)
Definition: peak_ipl_dynamic_loader.h:2164
static PEAK_IPL_C_API PEAK_IPL_Gain_SetMasterGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainValue)
Definition: peak_ipl_dynamic_loader.h:1540
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_GetGammaCorrectionValue(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaValue)
Definition: peak_ipl_dynamic_loader.h:1826
int32_t PEAK_IPL_CONVERSION_MODE
Definition: peak_ipl_backend.h:50
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_MirrorUpDownLeftRightInPlace(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:2151
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetEndianness)(PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_ENDIANNESS *endianness)
Definition: peak_ipl_dynamic_loader.h:139
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_ConvertTo)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_CONVERSION_MODE conversionMode, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:106
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_RotateInPlace)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_TRANSFORMER_ROTATION_ANGLE_t rotationAngle)
Definition: peak_ipl_dynamic_loader.h:117
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_Construct)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_ORIENTATION orientation, size_t offset, PEAK_IPL_PIXEL_LINE_HANDLE *pixelLineHandle)
Definition: peak_ipl_dynamic_loader.h:126
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageReaderRead_ReadAsPixelFormat)(const char *filePath, size_t filePathSize, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:147
static PEAK_IPL_C_API PEAK_IPL_ImageConverter_GetConversionMode(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_CONVERSION_MODE *conversionMode)
Definition: peak_ipl_dynamic_loader.h:1228
static PEAK_IPL_C_API PEAK_IPL_Histogram_Destruct(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle)
Definition: peak_ipl_dynamic_loader.h:2281
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerPixel)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numSignificantBits)
Definition: peak_ipl_dynamic_loader.h:137
PEAK_IPL_C_API(* dyn_PEAK_IPL_Library_GetLastError)(PEAK_IPL_RETURN_CODE *lastErrorCode, char *lastErrorDescription, size_t *lastErrorDescriptionSize)
Definition: peak_ipl_dynamic_loader.h:42
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetGreenGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainValue)
Definition: peak_ipl_dynamic_loader.h:77
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels)(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint64_t numPixels, uint64_t *size)
Definition: peak_ipl_dynamic_loader.h:140
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_GetPixelFormat)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Definition: peak_ipl_dynamic_loader.h:103
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_Convert)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:47
static PEAK_IPL_C_API PEAK_IPL_Library_GetVersionMinor(uint32_t *libraryVersionMinor)
Definition: peak_ipl_dynamic_loader.h:1176
static PEAK_IPL_C_API PEAK_IPL_Image_GetHeight(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t *height)
Definition: peak_ipl_dynamic_loader.h:1956
static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsPNG(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:2515
static PEAK_IPL_C_API PEAK_IPL_Gain_GetGreenGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainValue)
Definition: peak_ipl_dynamic_loader.h:1657
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_GetConversionMode)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_CONVERSION_MODE *conversionMode)
Definition: peak_ipl_dynamic_loader.h:44
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_ConstructFromBuffer)(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint8_t *buffer, uint64_t bufferSize, size_t width, size_t height, PEAK_IPL_IMAGE_HANDLE *imageHandle)
Definition: peak_ipl_dynamic_loader.h:98
static PEAK_IPL_C_API PEAK_IPL_Gain_GetRedGainMin(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainMin)
Definition: peak_ipl_dynamic_loader.h:1631
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_Destruct)(PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:108
static PEAK_IPL_C_API PEAK_IPL_Gain_GetMasterGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainMax)
Definition: peak_ipl_dynamic_loader.h:1566
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_SetGreenGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *greenGainValue)
Definition: peak_ipl_dynamic_loader.h:76
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Detect)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle)
Definition: peak_ipl_dynamic_loader.h:55
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_CalculateStorageSizeOfPixels(PEAK_IPL_PIXEL_FORMAT pixelFormat, uint64_t numPixels, uint64_t *size)
Definition: peak_ipl_dynamic_loader.h:2476
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_Clone)(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:105
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_Construct(PEAK_IPL_COLOR_CORRECTOR_HANDLE *colorCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:1436
static PEAK_IPL_C_API PEAK_IPL_Gain_GetBlueGainMax(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainMax)
Definition: peak_ipl_dynamic_loader.h:1722
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_GetPixelCountForChannel)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t *pixelCount)
Definition: peak_ipl_dynamic_loader.h:123
static PEAK_IPL_C_API PEAK_IPL_Gain_SetRedGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainValue)
Definition: peak_ipl_dynamic_loader.h:1592
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetEndianness(PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_ENDIANNESS *endianness)
Definition: peak_ipl_dynamic_loader.h:2463
static PEAK_IPL_C_API PEAK_IPL_Image_Destruct(PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:2060
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_GetHotpixels)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_POINT_2D *hotpixels, size_t *hotpixelsSize)
Definition: peak_ipl_dynamic_loader.h:56
static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsJPG(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:2528
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numSignificantBits)
Definition: peak_ipl_dynamic_loader.h:2398
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionMax)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaMax)
Definition: peak_ipl_dynamic_loader.h:91
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_SetGammaCorrectionValue)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaValue)
Definition: peak_ipl_dynamic_loader.h:89
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_Process(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1878
static PEAK_IPL_C_API PEAK_IPL_ImageWriter_Write(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:2541
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetMasterGainMax)(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainMax)
Definition: peak_ipl_dynamic_loader.h:70
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_GetMasterGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *masterGainValue)
Definition: peak_ipl_dynamic_loader.h:69
#define PEAK_IPL_C_API
Definition: peak_ipl_backend.h:238
static PEAK_IPL_C_API PEAK_IPL_Image_GetPixelFormat(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Definition: peak_ipl_dynamic_loader.h:1995
Definition: peak_ipl_backend.h:194
int32_t PEAK_IPL_PIXEL_FORMAT
Definition: peak_ipl_backend.h:153
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_MirrorUpDownInPlace(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:2125
static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsBMP(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:2502
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_MirrorUpDown)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:110
static PEAK_IPL_C_API PEAK_IPL_Image_GetData(PEAK_IPL_IMAGE_HANDLE imageHandle, uint8_t **data)
Definition: peak_ipl_dynamic_loader.h:2008
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_GetGammaCorrectionMin)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle, float *gammaMin)
Definition: peak_ipl_dynamic_loader.h:92
PEAK_IPL_C_API(* dyn_PEAK_IPL_Image_GetByteCount)(PEAK_IPL_IMAGE_HANDLE imageHandle, size_t *byteCount)
Definition: peak_ipl_dynamic_loader.h:102
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_ConvertToBuffer)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_PIXEL_FORMAT outputPixelFormat, uint8_t *outputImageBuffer, size_t outputImageBufferSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:48
PEAK_IPL_C_API(* dyn_PEAK_IPL_GammaCorrector_Construct)(PEAK_IPL_GAMMA_CORRECTOR_HANDLE *gammaCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:88
PEAK_IPL_C_API(* dyn_PEAK_IPL_Histogram_Destruct)(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle)
Definition: peak_ipl_dynamic_loader.h:125
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageConverter_SetConversionMode)(PEAK_IPL_IMAGE_CONVERTER_HANDLE imageConverterHandle, PEAK_IPL_CONVERSION_MODE conversionMode)
Definition: peak_ipl_dynamic_loader.h:45
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_Construct)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE *adaptiveHotpixelCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:50
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageWriter_WriteAsPNG)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:143
PEAK_IPL_C_API(* dyn_PEAK_IPL_AdaptiveHotpixelCorrector_CorrectAdaptive)(PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE adaptiveHotpixelCorrectorHandle, PEAK_IPL_IMAGE_HANDLE inputImageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:58
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_ProcessInPlace(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:1501
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_GetColorCorrectionFactors)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float *colorCorrectorFactors, size_t *colorCorrectorFactorsSize)
Definition: peak_ipl_dynamic_loader.h:62
static PEAK_IPL_C_API PEAK_IPL_Image_Clone(PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2021
static PEAK_IPL_C_API PEAK_IPL_ImageWriter_WriteAsRAW(PEAK_IPL_IMAGE_HANDLE inputImageHandle, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:2489
static PEAK_IPL_C_API PEAK_IPL_GammaCorrector_Destruct(PEAK_IPL_GAMMA_CORRECTOR_HANDLE gammaCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:1904
static PEAK_IPL_C_API PEAK_IPL_Gain_GetRedGainValue(PEAK_IPL_GAIN_HANDLE gainHandle, float *redGainValue)
Definition: peak_ipl_dynamic_loader.h:1605
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_Destruct(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle)
Definition: peak_ipl_dynamic_loader.h:1514
PEAK_IPL_C_API(* dyn_PEAK_IPL_Gain_SetBlueGainValue)(PEAK_IPL_GAIN_HANDLE gainHandle, float *blueGainValue)
Definition: peak_ipl_dynamic_loader.h:80
PEAK_IPL_C_API(* dyn_PEAK_IPL_ColorCorrector_Process)(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:64
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_Construct)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE *imageTransformerHandle)
Definition: peak_ipl_dynamic_loader.h:109
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_MirrorLeftRight(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2099
static PEAK_IPL_C_API PEAK_IPL_ColorCorrector_SetColorCorrectionFactors(PEAK_IPL_COLOR_CORRECTOR_HANDLE colorCorrectorHandle, float *colorCorrectorFactors)
Definition: peak_ipl_dynamic_loader.h:1449
static PEAK_IPL_C_API PEAK_IPL_Histogram_GetBinsForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t *bins, size_t *binsSize)
Definition: peak_ipl_dynamic_loader.h:2268
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageWriter_WriteAsJPG)(PEAK_IPL_IMAGE_HANDLE inputImageHandle, uint32_t quality, const char *filePath, size_t filePathSize)
Definition: peak_ipl_dynamic_loader.h:144
static PEAK_IPL_C_API PEAK_IPL_ImageTransformer_MirrorUpDownLeftRight(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:2112
static PEAK_IPL_C_API PEAK_IPL_Histogram_GetPixelSumForChannel(PEAK_IPL_HISTOGRAM_HANDLE histogramHandle, size_t channelIndex, uint64_t *pixelSum)
Definition: peak_ipl_dynamic_loader.h:2242
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelFormat_GetNumSignificantBitsPerChannel)(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numSignificantBits)
Definition: peak_ipl_dynamic_loader.h:134
static PEAK_IPL_C_API PEAK_IPL_PixelFormat_GetNumChannels(PEAK_IPL_PIXEL_FORMAT pixelFormat, size_t *numChannels)
Definition: peak_ipl_dynamic_loader.h:2385
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageReader_Read)(const char *filePath, size_t filePathSize, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:146
PEAK_IPL_C_API(* dyn_PEAK_IPL_PixelLine_GetPixelFormat)(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, PEAK_IPL_PIXEL_FORMAT *pixelFormat)
Definition: peak_ipl_dynamic_loader.h:127
struct PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR * PEAK_IPL_ADAPTIVE_HOTPIXEL_CORRECTOR_HANDLE
Definition: peak_ipl_backend.h:211
static PEAK_IPL_C_API PEAK_IPL_Gain_Process(PEAK_IPL_GAIN_HANDLE gainHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Definition: peak_ipl_dynamic_loader.h:1761
static PEAK_IPL_C_API PEAK_IPL_PixelLine_GetOrientation(PEAK_IPL_PIXEL_LINE_HANDLE pixelLineHandle, PEAK_IPL_ORIENTATION *orientation)
Definition: peak_ipl_dynamic_loader.h:2320
PEAK_IPL_C_API(* dyn_PEAK_IPL_ImageTransformer_MirrorUpDownInPlace)(PEAK_IPL_IMAGE_TRANSFORMER_HANDLE imageTransformerHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Definition: peak_ipl_dynamic_loader.h:113