Skip to content

Version 1.5.0 beta 5

Pre-release
Pre-release

Choose a tag to compare

@achilleas-k achilleas-k released this 23 Jul 14:35
· 411 commits to master since this release

Changes

  • Dimension links: Dimensions can now be linked to data objects (DataArray or DataFrame). This links a Dimension object to a specific vector of data, which is either a single vector of a DataArray's data or a single column of a DataFrame.
    • This removes the AliasRangeDimension object. The same functionality can be achieved by adding a RangeDimension and then linking it back to the parent DataArray.
    • The FILE FORMAT version is now 1.2.0.
  • New script nixio-upgrade: Upgrades files to newest version if there are file format changes.
  • Every NIX object holds a reference to the open file object it belongs to and can be accessed via obj.file.
  • Storage optimisation: Dataset and property creation was causing large per-object overhead which made files with a large number of small objects take up too much space. We changed the way these are initialised so file sizes should be much smaller going forward.
  • MultiTags can have extents specified in the constructor.
  • MultiTags can now be created by supplying an array or a list for the positions and extents arguments. This will result in the automatic creation of DataArrays to hold these values.
  • DataArray now has an iter_dimensions() method which, when iterated upon, generates a 1-based index along with each dimension of the array.
  • Changed the structure of the information returned by the File.validate() method. The information is now organised in a dictionary with two keys, "errors" and "warnings". Each contains dictionary that maps NIX objects to a list of error or warning messages respectively.

Bug fixes

  • Fixed the behaviour of the object modification time and the option which disables it.
  • Fixed several bugs in the validator module.
  • Fixed DataFrame creation using a compound (structured) data type without specifying column names.

Relevant PRs

  • #421: Validator part 2
  • #423: Validator script
  • #432: Add shape when initializing properties to optimize storage
  • #434: Fix bug for h5group.root
  • #436: Allow supplying np_arrays or list for multi_tags positions
  • #438: Add method that returns 1-based index dimension iterators
  • #440: Change the search method of index_of() for range_dim
  • #442: Enforce unique column names for DataFrame
  • #445: Fix bug when create dataframe from compound arrays and add test
  • #452: Upgrade script
  • #462: File references
  • #464: Fixes and simplifications for DataTypes and DataType mappings
  • #469: Dimension links