All notable changes to this project will be documented in this file.
[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 dotnet 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 .NET and Python if TilingInfo extension is not available
- IOL-663: Exceptions in DecodeArrayX were not caught in Python and .NET
- IOL-670: Fixes in from_numpy inter-op methods in Python
- IOL-654: Fix bug with .NET 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: .NET 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 dotnet
- 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 dotnet
- 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 dotnet
- 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 NET 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 dotnet
[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 .NET 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 .NET 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 .NET 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 .NET comparison operators to ImageType
- IOL-300: fix .NET 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 .NET
- 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 .NET 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: [.NET] 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 : [.NET] 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
- VectorX API consistency: 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.