192 Lut(
Lut&& other)
noexcept;
325 *
this = std::move(other);
330 if (other.m_backendHandle)
335 m_backendHandle = other.m_backendHandle;
347 if (other.m_backendHandle)
354 m_backendHandle = other.m_backendHandle;
363 if (m_backendHandle !=
nullptr)
367 m_backendHandle = other.m_backendHandle;
368 other.m_backendHandle =
nullptr;
396 size_t numLutValues = 0;
403 std::vector<uint32_t> vector(numLutValues);
408 reinterpret_cast<uint32_t*
>(vector.data()), &numLutValues);
419 reinterpret_cast<const uint32_t*
>(vector.data()), vector.size());
441 return isPixelFormatSupported > 0;
448 m_backendHandle, ImageBackendAccessor::BackendHandle(image));
457 m_backendHandle, ImageBackendAccessor::BackendHandle(inputImage), &outputImageHandle);
460 return ImageBackendAccessor::CreateImage(outputImageHandle);
Stores the pixel format, width and height of an image and the pointer to the image buffer.
Definition peak_ipl_image.hpp:41
Applies a LUT to the input image data.
Definition peak_ipl_lut.hpp:48
void ProcessInPlace(Image &image) const
Applies the LUT to the given image in place that is, it will change the input image.
Definition peak_ipl_lut.hpp:444
void SetLutValue(Selector selector, Channel channel, uint32_t index, uint32_t value)
Sets a single LUT value for a given selector and channel at an indexed position.
Definition peak_ipl_lut.hpp:386
bool IsPixelFormatSupported(PixelFormatName pixelFormatName) const
Returns whether the LUT supports the given pixel format.
Definition peak_ipl_lut.hpp:431
uint32_t LutValue(Selector selector, Channel channel, uint32_t index) const
Reads a single LUT value for a given selector and channel at an indexed position.
Definition peak_ipl_lut.hpp:374
Channel
Channel parameter to select the channel where the operation is applied.
Definition peak_ipl_lut.hpp:54
@ Blue
Definition peak_ipl_lut.hpp:60
@ All
Definition peak_ipl_lut.hpp:62
@ Green
Definition peak_ipl_lut.hpp:58
@ Red
Definition peak_ipl_lut.hpp:56
void SetLutPreset(Selector selector, Preset preset)
Applies the given preset (identity, inverse, ...) to the specified LUT.
Definition peak_ipl_lut.hpp:423
Image Process(const Image &inputImage) const
Applies the LUT to the given image.
Definition peak_ipl_lut.hpp:452
~Lut()
Destructor for the LUT instance.
Definition peak_ipl_lut.hpp:315
std::vector< uint32_t > AllLutValues(Selector selector, Channel channel) const
Reads all LUT values for a given selector and channel at once.
Definition peak_ipl_lut.hpp:394
void SetAllLutValues(Selector selector, Channel channel, const std::vector< uint32_t > &values)
Sets all LUT values for a given selector and channel at once.
Definition peak_ipl_lut.hpp:414
Selector
Selector parameter to select to which LUT the operation is applied (8/10/12/16 bit LUT)....
Definition peak_ipl_lut.hpp:70
@ Lut_10Bit
Definition peak_ipl_lut.hpp:74
@ Lut_16Bit
Definition peak_ipl_lut.hpp:78
@ Lut_8Bit
Definition peak_ipl_lut.hpp:72
@ Lut_12Bit
Definition peak_ipl_lut.hpp:76
Preset
Preset Selects a predefined LUT.
Definition peak_ipl_lut.hpp:85
@ Jet
Definition peak_ipl_lut.hpp:101
@ Hot
Definition peak_ipl_lut.hpp:107
@ Rainbow
Definition peak_ipl_lut.hpp:113
@ DigitalBlack25Percent
Definition peak_ipl_lut.hpp:136
@ OnlyRed
Definition peak_ipl_lut.hpp:118
@ Binarize
Definition peak_ipl_lut.hpp:141
@ DigitalGain2
Definition peak_ipl_lut.hpp:132
@ OnlyBlue
Definition peak_ipl_lut.hpp:128
@ Inverse
Definition peak_ipl_lut.hpp:95
@ Identity
Definition peak_ipl_lut.hpp:90
@ OnlyGreen
Definition peak_ipl_lut.hpp:123
Lut & operator=(const Lut &other)
Copy assigment for LUT instance.
Definition peak_ipl_lut.hpp:338
Lut()
Constructor for a new LUT instance.
Definition peak_ipl_lut.hpp:310
Definition peak_ipl_binning.hpp:25
PixelFormatName
Enum holding the possible pixel format names.
Definition peak_ipl_simple_types.hpp:39
void ExecuteAndMapReturnCodes(const CallableType &callableObject)
Definition peak_ipl_exception.hpp:182
The "peak::ipl" namespace contains the whole image processing library.
Definition peak_ipl_binning.hpp:23
#define PEAK_IPL_NO_DISCARD
Definition peak_ipl_attribute_defines.h:25
PEAK_IPL_C_API PEAK_IPL_Lut_GetAllLutValues(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_LUT_SELECTOR lutSelector, PEAK_IPL_LUT_CHANNEL channel, uint32_t *values, size_t *sizeValues)
Returns all lut values at once in an array.
PEAK_IPL_C_API PEAK_IPL_Lut_SetLutPreset(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_LUT_SELECTOR lutSelector, PEAK_IPL_LUT_PRESET preset)
Sets the lut to a preset (identity, inverse, ...)
int32_t PEAK_IPL_LUT_PRESET
Definition peak_ipl_backend.h:352
PEAK_IPL_C_API PEAK_IPL_Lut_SetLutValue(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_LUT_SELECTOR lutSelector, PEAK_IPL_LUT_CHANNEL channel, uint32_t index, uint32_t value)
Sets a value in the lut.
int32_t PEAK_IPL_LUT_SELECTOR
Definition peak_ipl_backend.h:336
PEAK_IPL_C_API PEAK_IPL_Lut_Destruct(PEAK_IPL_LUT_HANDLE lutHandle)
Destroys the lut associated with the given handle.
PEAK_IPL_C_API PEAK_IPL_Lut_GetLutValue(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_LUT_SELECTOR lutSelector, PEAK_IPL_LUT_CHANNEL channel, uint32_t index, uint32_t *value)
Returns a lut value at the indexed position.
PEAK_IPL_C_API PEAK_IPL_Lut_Acquire(PEAK_IPL_LUT_HANDLE lutHandle)
Increase the reference count of a lut object.
PEAK_IPL_C_API PEAK_IPL_Lut_Process(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_IMAGE_HANDLE imageHandle, PEAK_IPL_IMAGE_HANDLE *outputImageHandle)
Applies the lut to the given image.
struct PEAK_IPL_IMAGE * PEAK_IPL_IMAGE_HANDLE
Definition peak_ipl_backend.h:405
struct PEAK_IPL_LUT * PEAK_IPL_LUT_HANDLE
Definition peak_ipl_backend.h:429
PEAK_IPL_C_API PEAK_IPL_Lut_SetAllLutValues(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_LUT_SELECTOR lutSelector, PEAK_IPL_LUT_CHANNEL channel, const uint32_t *values, size_t sizeValues)
Sets all lut values at once over an array.
PEAK_IPL_C_API PEAK_IPL_Lut_IsPixelFormatSupported(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_PIXEL_FORMAT pixelFormat, PEAK_IPL_BOOL8 *isPixelFormatSupported)
Asks the given lut whether it supports the given pixel format.
PEAK_IPL_C_API PEAK_IPL_Lut_Construct(PEAK_IPL_LUT_HANDLE *lutHandle)
Creates a lut.
int8_t PEAK_IPL_BOOL8
Definition peak_ipl_backend.h:26
PEAK_IPL_C_API PEAK_IPL_Lut_ProcessInPlace(PEAK_IPL_LUT_HANDLE lutHandle, PEAK_IPL_IMAGE_HANDLE imageHandle)
Applies lut to the given image inplace.
int32_t PEAK_IPL_LUT_CHANNEL
Definition peak_ipl_backend.h:327
int32_t PEAK_IPL_PIXEL_FORMAT
Definition peak_ipl_backend.h:173
#define PEAK_IPL_C_ABI_PREFIX
Definition peak_ipl_dll_defines.h:16