| IOLink C# 1.11.0

Loading...
Searching...
No Matches
CHANGELOG

All notable changes to this project will be documented in this file.

# [IOL 1.11.0] - 2024-09-24

- IOL-878: Column units now displayed in DataFrame string representation
- IOL-880: Renaming of ImageType, ImageTypeId and ImageDimension to AxesInterpretation, AxesInterpretationId and ImageAxis
- IOL-882: Used python stable ABI for PIP package distribution
- IOL-855: Setup the example system with first examples
- IOL-886: Support Ubuntu 24.04
- IOL-892: Python/C++ interop for MultiImageView and DataFrameView
- IOL-895: Added a new method to access the underlying unmanaged memory buffer in dotnet
- IOL-898: Added examples to documentation
- IOL-899: Added new read/write methods in C# to improve usability of ImageView
- IOL-909: pandas interoperability module in Python
- IOL-918: Fix content returned by ToString() on ReadOnly objects in C#

> ‍[!WARNING] Warning: Problems at installation for some versions of Python 3.8 can occur. Minimal version to use is increased to 3.8.10.

# [IOL 1.10.1] - 2024-08-28

- IOL-881: Fix error when opening file with unicode characters
- IOL-891: Fix ImageType constructor in Python to accept copy

# [IOL 1.10.0] - 2024-06-19

- IOL-470: New operations for matrices
- IOL-869: New factories for transformation matrices
- IOL-766: Several documentation fixes
- IOL-873: Added direct access to data for Vector and VectorX
- IOL-866: New extension to handle column units in DataFrameView
- IOL-736: Added Ubuntu 22.04 support as a new platform
- IOL-871: New functions for easier C++/Python ImageView interoperability
- IOL-897: Fix management of units in dataframes when editing columns

# [IOL 1.9.1] - 2024-05-24

- IOL-862: Fix addChild method in MetadataNode when key already exists

# [IOL 1.9.0] - 2024-03-25

- IOL-821: Added support for MSVC 17 2022

# [IOL 1.8.2] - 2024-03-12

- IOL-846: Fix error in Python with DataFrameViewFactory.allocate method when shape is empty
- IOL-842: Detect error in Python when passing badly typed values for Region creation

# [IOL 1.8.1] - 2024-02-26

- IOL-835: Added Indexer to Python wrapping

# [IOL 1.8.0] - 2023-12-19

- IOL-828: Make sure that Python packages are built using the lowest NumPy version possible, for compatibility
- IOL-779: Added support for Python 3.12
- IOL-792: Rework the Indexer to use byte strides
- IOL-784: Removed warnings when stacking images with inconsistent calibration
- IOL-782: New class for UID generation
- IOL-473: Rework and clean adapter for extracting vectorial images channels
- IOL-743: Added documentation about extension identifiers
- IOL-377: New API to convert VariantDataValue
- IOL-830: Add a fallback for the use of deprecated indexers in RegionCopier
- IOL-840: Fix error with Array when shape is empty

# [IOL 1.7.2] - 2023-12-11

- IOL-794: Remove reference on arguments in MultiImageViewFactory.create_from_list
- IOL-812: Fix some memory leaks in the Python wrapping layer
- IOL-825: Add tolerance when checking spacing and directions in AdapterStack
- IOL-780: Fix Python slice operator on ImageView
- IOL-824: Fix encoding of strings in C# wrapping layer
- IOL-531: ImageViewFactory::fromRandomAccess now raises exception

# [IOL 1.7.1] - 2023-11-23

- IOL-781: Fix error in ImageView.write method in Python
- IOL-783: Fix AdapterStack to support MultiImageView without ViewOrigin extension
- IOL-804: Added missing capabilities in Proxy adapter

# [IOL 1.7.0] - 2023-09-14

- IOL-798: Fix issue for the wrapping of extra-modules based on IOLink
- IOL-795: Fix version of DLL in NuGet package
- IOL-764: Support for buffer protocol in read and write region methods in Python
- IOL-700: Optimization of reading operations concerning stack of images
- IOF-775: Restore support for RHEL8, but only with C++
- IOL-763: Uniformize name of ImageView properties in Python
- IOL-719: Implemented MemoryAccess capability for ImageViews created from a RandomAccess which has this capability
- IOL-752: Improve compatibility of NuGet package on Linux, now tested on Debian 11 and 12.
- IOL-709: Make variants of read methods that return an array in Python and C#
- IOL-747: In Python, uniform method can now accept different input types
- IOL-725: Add support for Python 3.11 and drop support for Python 3.7
- IOL-672: Miscellaneous fixes in user guide and reference manual
- IOL-486: Wrap MetadataNodeHelper in Python and C#
- IOL-708: Improve read/write methods in ImageView and DataFrameView in C# and Python
- IOL-711: Support for any sequence were you have a vector argument in Python
- IOL-732: Drop support of Ubuntu 18.04

# [IOL 1.6.1] - 2023-08-31

- IOL-741: Throw exception when initializing vectors with the wrong number of elements
- IOL-759: Fix adapter flip for small regions
- IOL-751: Better error message when a file cannot be opened
- IOL-746: Better error message when giving an `ImageView` with the wrong capabilities to NumPy interoperability.

# [IOL 1.6.0] - 2023-06-26

- IOL-720: Add precision in API documentation to restrict MEMORY_ACCESS capability usage (now reserved for CPU memory only)
- IOL-734: Fix missing ViewOrigin extension initialization for DataFrameView
- IOL-728: Add extension to View so as to retrieve data origins
- IOL-629: Add string representation for DataFrameView, and also html in Python only.

# [IOL 1.5.1] - 2023-06-14

- IOL-738: Relax errors when decoding unicode strings in python

# [IOL 1.5.0] - 2023-05-05

- IOL-698: New helper to know if 2 views have common ancestors
- IOL-678: Add shortcut to set elements of data frames
- IOL-648: Implement ParallelAccess extension in all ImageView implementations
- IOL-687: Add an allocate method to create empty in-memory DataFrameViews
- IOL-681: Add shortcuts in ImageView to ease ImageProperties access
- IOL-551: Upgrade to C++14
- IOL-673: Drop support for MSVC14
- IOL-652: Add support for C# 6.0
- IOL-695: Remove RHEL8 platform
- IOL-601: New extension to ImageView to retrieve information about parallel access capabilities
- IOL-718: Fixed error in internal memory region copier for fast copy.
- IOL-713: Handle MULTICHANNEL image in ExtractChannel factory

# [IOL 1.4.2] - 2023-04-26

- IOL-699: Catch exceptions for methods of ReadOnlyMetadataNode class in Python

# [IOL 1.4.1] - 2023-03-21

- IOL-685: Fix Python wrapping to avoid error message when using Extensions
- IOL-657: Catch exception in C# and Python if TilingInfo extension is not available
- IOL-663: Exceptions in DecodeArrayX were not caught in Python and C#
- IOL-670: Fixes in from_numpy inter-op methods in Python
- IOL-654: Fix bug with C# streams
- IOL-671: Python enums are now returned instead of anonymous integers

# [IOL 1.4.0] - 2023-02-03

- IOL-616: Add serialization support for ArrayX
- IOL-617: DataFrameView serialization is now available
- IOL-618: Add methods for Matrix serialization
- IOL-557: ArrayX::toString method now displays array content (Numpy-style)
- IOL-571: Add support of python 3.8, 3.9 and 3.10 on Ubuntu18.04 and python 3.9, 3.10 on Ubuntu 20.04
- IOL-608: Update dependencies and remove checker library from conan package
- IOL-609: Upgrade boost to v1.80.0
- IOL-619: Miscellaneous fixes in user guide and ref-man
- IOL-630: Add dataframe cell value access
- IOL-636: Fix in ImageView serialization to not repeat header twice
- IOL-680: Fix wrapping issue with TilingInfoExtension::writeTile method
- IOL-682: Remove Error.h include from DataFrameView.h

# [IOL 1.3.2] - 2023-01-18

- IOL-655: Miscellaneous fixes for public headers independency
- IOL-634: Fix ImageInterpretation when ImageViewFactory::stack method is called on CHANNEL dimension
- IOL-626: Fix DataFrameViewFactory input checks in Python

# [IOL 1.3.1] - 2022-11-21

- IOL-606: Fix problem with windows min and max macros
- IOL-621: Fix problem in python wrapping which raised a warning at generation and an error in IOFormat
- IOL-605: Fix in AdapterRegion and AdapterRegionPack to set interpretation to UNKNOWN if CHANNEL dimension is reduced
- IOL-603: Fix extractAdjustedRegion method with 5D images

# [IOL 1.3.0] - 2022-10-07

- IOL-578: Add memory implementation for DataFrameView
- IOL-581: Add equality operators for ArrayX
- IOL-440: Possibility to convert ImageView to Numpy with dimensions reorder
- IOL-524: Add support for Visual Studio 16 2019
- IOL-585: Inter-operability between StreamAccess and RAW IOBase python interface
- IOL-590: RegionX can now be stored in containers
- IOL-580: Update Poco to release 1.12.2
- IOL-594: Possibility for user to convert a Numpy into ImageView and set major properties
- IOL-600: Fix data frame providers

# [IOL 1.2.1] - 2022-08-09

- IOL-573: Fix error in region adapters when dimension > 3
- IOL-575: Fix behavior of toNumpy method in Python.

# [IOL 1.2.0] - 2022-07-11

- IOL-522: Add equality operators in `ImageInfoProperty` and `SpatialCalibrationProperty`
- IOL-513: `ImageType` can now be initialized from an integer
- IOL-401: Add support for Python 3.9 and 3.10 on Windows
- IOL-529: Add missing checks on inputs, now exceptions are raised when null objects are given.
- IOL-542: Make Conan package compatible with recent version of compilers
- IOL-550: Remove RHEL7 from the supported platforms
- IOL-530: Removed ambiguity during call to flip method in Python
- IOL-566: Fix in flip method for error case
- IOL-537: Python is now built using MSVC 14.0 toolkit
- IOL-541: Fix warning messages when stacking
- IOL-553: Added possibility to serialize ImageViews
- IOL-535: Add a new extension for tiling information in `ImageView` instances

# [IOL 1.1.1] - 2021-05-30

- IOL-515: Remove cassert include from public headers
- IOL-528: Enable implicit conversion for `DataType.standard_range` method in Python
- IOL-443: Add missing documentation for Numpy interop
- IOF-539: Export XML into NuGet to activate IntelliSense.
- IOL-527: Fix in `RandomAccessFactory::extractRegion`
- IOL-532: Fix `ImageViewFactory.uniform` method in Python
- IOL-526: Fix of `RandomAccess.from_buffer` in Python
- IOL-517: Various documentation fixes
- IOL-570: Fix repr for ReadOnly MetadataNode, ImageProperties, VariantDatavalue, and for new objects

# [IOL 1.1.0] - 2021-03-29

- IOL-272: Add ToString methods to most common objects
- IOL-482: New friendly variant of ReadRegion in C# IOLink
- IOL-427: Add possibility in Python to initialize a Vector/VectorX with an iterable
- IOL-450: Make capabilities more user friendly in Python
- IOL-500: Add simple method in Python to read a region from an ImageView
- IOL-466: Enhance MetadataNodeHelper
- IOL-458: Make enum more readable in Python by using enum module
- IOL-469: Make capabilities more user friendly in C#
- IOL-484: Make MetadataNode implement `Enumerable<T>` in CSharp
- IOL-505: Add 'support' method for all objects with capabilities
- IOL-499: Fix the wrapping of enums in Python to use 64 bits
- IOL-475: Matrix value initialization in C#
- IOL-358: Python slice operator available on ImageView to extract a region
- IOL-498: Fixed errors in python documentation
- IOL-372: Use C# properties for more user friendly getters and setters
- IOL-483: C# Factory methods now usable as extension for ImageView, MultiImageView, RandomAccess and StreamAccess
- IOL-518: Fix StreamAccessBridge origin storage accessor
- IOL-501: Make accessors as properties in Python
- IOL-508: C++ Exceptions are intercepted in Python wrapping
- IOL-502: Create readonly wrappers around const objects in C#
- IOL-533: Add missing checks on inputs in NumpyInterop in Python
- IOL-503: Add readonly wrappers for ImageProperties and MetadataNode in Python
- IOL-523: Fix truncated DataTypeId enum in C#
- IOL-546: Fix compatibility problem of conan package with 1.0.0
- IOL-399: C# documentation (reference manual and user guide) is now available
- IOL-525: Fix ambiguity of MultiImageViewFactory::unstack in Python
- IOL-540: Fix typo in DataType::PrimitiveType method name
- IOL-515: Remove cassert includes from public headers
- IOL-528: Enable implicit conversion for DataType.standard_range method in Python

# [IOL 1.0.1] - 2021-03-14

- IOL-496: Fix problem with Uri containing queries

# [IOL 1.0.0] - 2021-01-20

- IOL-441: Homogenize integers in API
- IOL-442: Handle copy of constant references output in Python
- IOL-436: Impact of API Review on properties
- IOL-453: Move Endianess converter in DataConverter class
- IOL-448: Arrays API review
- IOL-445: API review on Region class
- IOL-456: Implementation of RegionXDivider is made private and renaming
- IOL-462: Fix in RegionXDivider
- IOL-446: Rework of Indexer API
- IOL-455: Remove ComposedView interface
- IOL-455: Error implementation made private
- IOL-447: API review impact on DataType and DataTypeId
- IOL-452: Changes after DataAccess API review
- IOL-472: Fix an include typo in HTTPHeaders.h
- IOL-454: API Review impact on Matrix
- IOL-444: Changes after vector API review
- IOL-432: Fixes in documentation
- IOL-463: Add method to check the presence of a child in a MetadataNode
- IOL-439: Remove warning about 'extend' when stacking on CHANNEL dimension
- IOL-451: Wrap const references output as values in C#
- IOL-459: Remove numpy limitations (not-aligned data) when exporting to ImageView
- IOL-460: Remove lockers for threadsafety access to improve performance
- IOL-479: Make conan package dependencies really private.
- IOL-491: ImageInfoProperty passed by reference in ImageProperties constructor
- IOL-514: Fix C# wrapping issues

# [IOL 0.30.0] - 2021-12-16

- IOL-429: Add copyright header to include files in Conan package
- IOL-408: MetadataNode refactored as a class
- IOL-434: Add extension system on views
- IOL-437: Refactor ImageViewFactory after API Review
- IOL-438: Remove optional parameters from public API
- IOL-435: ImageView API changes after API review
- IOL-464: Fix MetadataNode memory leaks

# [IOL 0.29.0] - 2021-11-17

- IOL-390: Calibration property rework to work in 3D space
- IOL-295: Cross product and normalization for vectors
- IOL-415: New class to create a flag system from an enum
- IOL-409: ImageView refactoring for runtime capabilities
- IOL-375: Reinforce DataAccess interfaces contract
- IOL-411: Refactor DataAccess to make capabilities Runtime
- IOL-410: MultiImageView refact for runtime capabilities
- Remove an useless assert
- Fix stream seeking
- Enable to read from end of stream without an error
- Fix StackAdapter capabilities
- Fix handling of StreamAccess directors in C#

# [IOL 0.28.0] - 2021-10-07

- IOL-379: New factory to flip an ImageView
- IOL-384: Prefix log levels by LOG
- IOL-396: Fix shape computation when importing Numpy with new dimension order
- IOL-395: Fix OffsetReadRandomAccess assert clause
- IOL-403: Fix resourceId field of any DataAccess created through a bridge (RandomAccess <--> StreamAccess)
- IOL-391: Manage the conversion of sliced numpy array into ImageView

# [IOL 0.27.0] - 2021-09-09

- IOL-343: Rework of Array for interoperability
- IOL-383: Fix in adapters, as units were not connectly managed
- IOL-386: Fix missing symbol in GCC48 of Matrix constructor
- IOL-381: Add a factory to address a subset of a RandomAccess

# [IOL 0.26.0] - 2021-07-22

- IOL-365: New chapter about custom interface implementation in user guide
- IOL-355: A checker is available for Interface implementation
- IOL-364: Hide attributes of public classes
- IOL-362: Uniformization of factories
- IOL-373: Make disk ImageView use classical file streams
- IOL-361: Rework of ImageView API
- IOL-389: Add new factory to wrap a StreamAccess into standard IOStream
- IOL-388: Add new factory to subSample an ImageView

# [IOL 0.25.0] - 2021-06-24

- IOL-346: Versioning utilities
- IOL-336: Modify the function to import NumPy arrays
- IOL-312: Remove converter method in ImageView factory
- IOL-347: Add a chapter in user guide about DLL issues when shared between many components
- IOL-334: Add support for Ubuntu 20.04 platform
- IOL-356: Factory added to load an ImageView onto disk
- IOL-367: Add support for writing on disassembled image views
- IOL-342: New Matrix type
- IOL-328: Shrink a MemoryImageView shape now reduces memory consumption

# [IOL 0.24.0] - 2021-06-10

- IOL-354: Fix threadsafety issues when reading a disassembled view
- Fix an issue in DataType constructor
- Added exceptions raised in Region/X and MemoryImageView when giving invalid arguments
- Fix issue when stacking a read-only ImageView

# [IOL 0.23.0] - 2021-04-29

- IOL-322: Add `disassembleChannels` method to transform a vectorial-type ImageView into planar image `ImageViewFactory::assembleChannels` method can now handle the case CHANNEL dimension is not the last one
- Fix in Stack method
- Add a new mapped file storage.
- IOL-321: Add job and packages for Python 3.7 and Python 3.8 on Windows
- IOL-299: New method `ImageViewFactory::allocateOnDisk` to create an ImageView from a mapped file in memory.
- Fix: Input properties and metadata are now cloned when creating a View.
- IOL-332: Deliver C# for Rhel8 platform in IOLink Nuget
- IOL-340: In python, version is available to display iolink version
- Some fixes in Python User guide - code snippets
- IOL-339: Add Endianness converter for samples

# [IOL 0.22.1] - 2021-04-01

- IOL-337: Fix the problem of View released while associated Numpy array still in use
- IOL-335: Seeking over the end is now allowed for MemoryStream. The stream is automatically resized.

# [IOL 0.22.0] - 2021-03-25

- IOL-292: Added unit test to check public header independency
- IOL-323: Rename RandomAccessProvider::toRead to RandomAccessProvider::toRandom
- IOL-310: Add units in CalibrationProperties
- IOL-202: Added test for C# framework v4.6.1 in CI
- IOL-324: Remove support for OSX platform
- IOL-330: Remove resetProperties parameter from reshape method
- IOL-329: Fix behavior in MemoryRandomAccess
- Replace assert by raising exception to handle user input errors
- IOL-326: New method ImageViewFactory::fromImageView allowing to apply specific properties/metadata to a ReadImageView without impact on originals.

# [IOL 0.21.0] - 2021-02-25

- Wrap LodImageView in Python
- IOL-307: New storage and accessor interfaces
- IOL-319: Improve ImageView::Stack method to handle all possible cases
- IOL-304: Some fixes in reference manual (missing method descriptions in StreamAccessFactory)
- Exceptions now handled in the Python wrapping of ImageView
- Fix Uri on Windows (file:///)

# [IOL 0.20.1] - 2021-02-08

- Fix output properties issues from Image factories

# [IOL 0.20.0] - 2021-01-29

- HTTPStorage: Set the HTTP keep-alive timeout value to 18000 seconds.
- IOL-298: NympyInterop.to_numpy_array now uses Numpy convention for dimension order
- IOL-287: Add a string representation for python objects
- IOL-294: Possibility to create/allocate an in-memory stream
- IOL-309: Dimension info properties are now impacted by unstack operation

# [IOL 0.19.1] - 2021-01-14

- IOL-263: Add RHEL8 support
- IOL-305: Fix problem for C# framework. Native Dlls are now copied in generation folder

# [IOL 0.19] - 2021-01-07

- IOL-282: Python naming conventions
- IOL-297: Fix RandomAccessStorage symbols export
- IOL-296: Add C# comparison operators to ImageType
- IOL-300: Fix C# disposing on views

# [IOL 0.18] - 2020-12-03

- IOL-289: Fix the calibration of the View created by ImageViewFactory::stack
- IOL-273: Add new DataType interpretations for symmetric matrices.
- IOL-281: Handle NumpyArrays with C-layout for conversion into ImageViews
- IOL-285: Allow reinterpretOrder method to reorder existing dimensions
- IOL-283: Expose publicly the method swig getCPtr() and pointer constructor
- IOL-293: Avoid ImageTypeId values from being modified in C#
- IOL-266: Now only one nuget is delivered for all supported platforms
- IOL-284: Python user guide and refman

# [IOL 0.17.1] - 2020-11-13

- Fix the symbols exported, causing a problem on OSX

# [IOL 0.17] - 2020-11-05

- IOL-271: Reinterpret ImageType and re-order dimensions
- IOL-276: Fix some miscellaneous errors in code and refman
- IOL-270: Python method `orderFromNumpyArray` is added to reorder dimensions when importing Numpy arrays
  - some improvements in Python wrapping
- IOL-279: Fix a bug linked to directors and shared pointers
- IOL-274: Deinterlace and unstack multi-channel images now provide ImageInterpretation as metadata

# [IOL 0.16] - 2020-10-09

- Fix readRegion size when reading full region from a storage view
- IOL-267: Add catches clauses in C# wrapping to retreive C++ exception in C#
- IOL-269: Take into account feedbacks from user about refman
- IOL-261: Add way to get a MetadataNode from a path through the MetadataNodeHelper class.
- IOL-268: New convert method in ImageView factory to remove or add alpha channel
- IOL-259: New API to reset properties or not when reshaping a view
- IOL-271: New methods in ImageFactory to reinterpret ImageType and reorder dimensions

# [IOL 0.15] - 2020-09-08

- IOL-262: A StreamStorage can now be loaded in memory with StreamStorageFactory method
- Fix in Storage seek method
- IOL-241: Make ChangeLog and API ChangeLog public in user guide
- IOL-260: Added peek to IStreamStorage and a check for infinite streams in ReadRandomAccessStorageBridge

# [IOL 0.14] - 2020-08-13

- IOL-234: Properties MkII
- IOL-250: Rework Java packaging
- IOL-255: [C#] Writing into an empty memory stream was not accepted
- IOL-254: Impossible to seek in the stream after reading the end of the stream.

# [IOL 0.13] - 2020-07-15

- IOL-245: Add a 'slice' method for Region and RegionX to quicky create slice from a region
- Fix in reference manual for 'DataType'
- Some fixes and improvements in User guide for properties and metadata
- IOL-244: Writer interface is completed with new methods to get name and version, and to set options
- IOL-236: Correct ImageInterpretations values
- IOL-228: New public logging interface
- IOL-232: [C#] The method ImageViewFactory.Uniform required an System.IntPtr for the value, it was not user friendly.
- Added toString conversion in MetadataValueConverter
- IOL-238: Added provider for LodImageView (it helps for LodImageView discrimination from view and conversion)

# [IOL 0.12] - 2020-06-18

- IOL-184: Add converter (MetadataValueConverter) which allows you to convert any single numerical MetadataValue to any other numerical type
- Pass VectorXu64 by reference when possible, instead of by value
- IOL-233: Fix invalid writing when posting data consecutively to an HTTP server.

# [IOL 0.11] - 2020-05-19

- IOL-182: Add Interlace method in ImageViewFactory This method allows to interlace frames from a MultiImageView into a single ImageView.