IDS peak IPL v1.17.2
Loading...
Searching...
No Matches
Changelog

List of changes in each version

Warning
This changelog is no longer maintained. A comprehensive changelog that includes all components of the software is available for download on our website, located next to the setup file.

v1.17

Features

Performance

  • Link the TBB library dynamically

    The TBB library needs to be linked dynamically to ensure proper thread pool usage across libraries.

v1.16.1

Bug Fixes

  • Suppress unnecessary logs triggered during exception handling.

v1.16

Breaking changes

  • Added support for handling odd binning and decimation factors when processing images with odd dimensions.

    Binning factors will no longer be automatically rounded to the nearest possible value.

Features

  • Add ChromaticAdapter to adjust to changes in lighting conditions

    This is used to maintain consistent color perception despite variations in light sources.

    It is possible to select different CAT algorithms: Legacy and Bradford. The color space is selectable including sRGB D65 and sRGB D50. Supply the used color temperature to calculate the correct color correction factors. These can then be applied to the ColorCorrector module or in the camera color correction matrix if the debayering is in the camera.

v1.15

Features

v1.14

  • Fix mono bmp reader and writer

v1.13.1

  • Fix dynamic loader broken when included without being enabled

v1.13

  • Add AVX2 color correction for RGB8 and BGR8 and optimized RGBa8 and BGRa8
  • Fix some return codes having the wrong prefix when converted to a string using StringFromPEAK_IPL_RETURN_CODE

v1.12.1

  • Fix a crash when the factors are changed while a binning instance currently bins an image
  • Fix ARM NEON debayering in fast mode

v1.12

  • Add the Mono16 pixelformat
    • It can be converted from and into
    • Can be saved and read from/to png, bmp and tiff files
  • Add IsFloat Function to check if a pixelformat uses the floating point data type
  • Add support for writing and reading a limited number of TIFF (Tagged Image File Format) files
    • No compression and compressions according to TIFF Baseline are supported
    • Supported color spaces: RGB and black as zero
    • Support for 8 and 16-Bit per sample (10 and 12-Bit are supported by the Tag TIFFTAG_BITSPERSAMPLE)
    • Image construction from stripes
  • Python Bindings:
    • The bindings now embed their direct runtime dependencies. With this change the python package can be used without requiring any setup to be installed.

v1.11

  • Fix debayer artifacts for fast conversion with image widths not divisible by 8 on some embedded systems and when converting into mono formats
  • Change the python bindings to use the Python Limited API
    • The minimum required python version is 3.11. They can be installed on any later 3.x version
  • Fix an error that prevented the use of the dynamic loader

v1.10

  • Add support for pixelformat PixelFormatName::YUV422_8_UYVY
  • Fix debayer artifacts for fast conversion with image widths not divisable by 8 (10 and 12 bit AVX2)

v1.9.3

  • Add digital signature to dotnet assemblies
  • Fix debayer artifacts for fast conversion with image widths not divisable by 8 (8 bit AVX2)
  • Fix SharpnessAlgorithm::HistogramVariance returning NaN for black images

v1.9.2

  • Add static functions to peak::ipl::Library to configure multithreading and simd, and get the library version.

v1.9.1

  • Fix [ImageConverter::SupportedOutputPixelFormatNames] to return only the supported pixel formats for the set conversion mode.
  • Fix reading beyond the source buffer for specific image sizes when using one of the SIMD unpacking algorithms

v1.9

v1.8

  • Add method PixelFormat::BayerPattern() to receive the corresponding BayerPattern.
  • Add RGB/BGR(A) to mono converter
  • Add reference counting to classes, so they can be shallow copied
  • Improve the performance of the histogram
  • Improve performance of mirror and rotate inplace functions
  • Fix compilation error with dynamic loader.

v1.7

  • Add a EdgeEnhancement implementation
  • Changed the dotnet bindings to use .NET Standard 2.0.
  • Adjust move constructor and move assignment to not call the internal destruct function
  • Add new methods [HotpixelCorrection::CorrectInPlace] and [HotpixelCorrection::CorrectAdaptiveInPlace] for in place hotpixel correction
  • Add new methods [Image::Scale], [Image::ScaleInto] and [Image::Crop] for image processing
  • Add multithreading support for detecting hotpixel within a given image.
  • Add SSE2/AVX2 implementation for a Bayer10p/Mono10p to Bayer10/Mono10 decoder and Bayer12p/Mono12p to Bayer12/Mono12 decoder
  • Optimized 8/10/12 bit BayerRG and BayerGR debayering. Added optimized 8/10/12 bit BayerGB and BayerBG debayering
  • Optimization of image rotation and image mirroring
  • Changed the python bindings to release the GIL for long-running functions
  • Add NEON implementation for debayering and color correction
  • Fix MSVC 2015 unable to compile some of the provided header implementations
  • Fix unnecessary buffer copy in [ImageConverter::Convert] when passing an output buffer.
  • Fix some functions of the binding not working correctly (notably Sharpness, VideoWriter and Histogram)
  • Fix Histogram not working correctly
  • Breaking changes
    • Renamed the member functions of the Range class

v1.6

  • Add a signed .NET binding library for strong-named assemblies support
  • Add saturation feature to ColorCorrector
  • Add the Decimation algorithm for mono, bayer and some color images
  • Add new operators for comparison to the Image class
  • Add a Sharpness implementation which can be used to measure the sharpness of images
  • Add multithreading support to the library and use it for some functions e.g. Sharpness
  • Add method Image::Timestamp to receive the corresponding timestamp.
  • Remove the RGB10p32 format from Binning as it was not actually supported
  • Improve performance of 10/12 bit BayerRG and BayerGR debayering (x86 systems with SSE/AVX)
  • Improve performance of 10/12 bit color correction (x86 systems with SSE/AVX)
  • Fix HotpixelCorrection functions crashing if image dimension is smaller than 3 pixels for bayer images or smaller than 2 pixels for mono images
  • Fix images converted with Image::ConvertTo were actually converted inplace, when a destination image was given
  • Fix images converted with Image::ConvertTo were not set to the correct alpha value, when channels were expanded.
  • Fix wrong file size in the file header when writing bmp files
  • Breaking changes

v1.5

  • Add a VideoWriter implementation which can be used to save images in an avi container encoded as mjpeg

v1.4

  • Add new function ImageConverter::PreAllocateConversion which can be used to pre-allocate the internal buffer pools of the converter in order to save time on the first conversion
  • Add new function Binning::ExpectedOutputSize which can be used to calculate the output size after binning of a given input size and pixelformat
  • New CMake packages for both windows and linux, which now take care of adding their respective include directories
  • Add new CMake function ids_peak_ipl_deploy to take care of copying dependent files(i.e. DLL's) into your targets output directory
  • Add corresponding function ids_peak_ipl_dotnet_deploy when using dotnet
  • Add the Binning algorithm for mono, bayer, some color and RGB10p32 images
  • Fix HotpixelCorrection algorithms not working on the borders of an image
  • Fix ImageWriter saving 10 Bit formats, although not supported, resulting in a broken bmp file with wrong colors
  • Fix an issue with user defined hotpixels
  • Fix images converted with Image::ConvertTo not freed when leaving the scope
  • Fix images cloned with Image::Clone not freed when leaving the scope
  • Fix images converted with Image::ConvertTo taking up 5 times more memory than necessary
  • Fix images cloned with Image::Clone taking up 5 times more memory than necessary
  • Breaking changes
    • Due to previously mentioned fixes, the calls to Image::ConvertTo and Image::Clone are now allocating memory on every use, causing additional overhead and will take more time. Users are advised to construct an ImageConverter which keeps internal memory pools.

v1.3.2

v1.3.1

  • Fix issues regarding peak_dynamic_loader.h
  • Fix problem with ImageTransformer::RotateInPlace throwing exception when passing raw image buffers
  • Add color correction support for pixel formats RGB10p32, RGB10 and RGB12
  • Add gamma support for RGB10p32
  • Fix breaking change: Add backwards compatibility for stdcall symbols

v1.3

v1.2

v1.1

v1.0

  • Initial release