All notable changes to this project will be documented in this file.
[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.