Skip to content

Releases: scalableminds/webknossos-libs

v0.9.16

31 Mar 13:53

Choose a tag to compare

Release for v0.9.16

v0.9.14

24 Mar 14:46

Choose a tag to compare

webknossos

Breaking Changes

  • Dataset.download: The argument dataset_name was renamed to dataset_name_or_url. #660

Added

  • Dataset.download now also accepts a URL, as well as a sharing_token, which can also be part of the URL. #660

v0.9.13

24 Mar 08:44

Choose a tag to compare

webknossos

Breaking Changes

  • Consistently rename organization_name parameters to organization_id (except in deprecated webknossos.client.download_dataset). #639

Changed

  • MagView.compress now skips in-place compression of already compressed mags. #667

Fixed

  • Fixed compression of downsampled mags for layers with arbitrary and potentially mag-unaligned bounding boxes. #667

wkcuber

Fixed

  • Fixed that wkcuber.downsampling didn't support anisotropic downsampling for some downsampling modes like nearest. #643

v0.9.12

18 Mar 13:20

Choose a tag to compare

webknossos

Breaking Changes

  • The annotation class now exposes BoundingBox objects instead of tuples. #646

Added

  • Added groups and graphs property to skeleton.Group to access immediate child groups/graphs. #645
  • The BoundingBox class now supports the following additional properties: id, name, is_visible and color. #646
  • Added support for Zarr arrays in the Dataset classes. Users can set the data_format of layers to zarr to use Zarr for storing data. #627
    The current implementation has some limitations, e.g.:
    • Only one type of compression (Blosc+Zstd) is implemented.
    • Sharding is not available in Zarr, yet. Please use chunks_per_shard = (1, 1, 1).
    • Only local filesystem-based arrays are supported.
      There are changes to the datasource-properties.json for Zarr layers compared to WKW layers:
    • dataFormat needs to be changed to zarr.
    • The list of mags is called mags, instead of wkwResolutions.
    • Each mag is represented by an object with a single attribute mag, e.g. { "mag": [1, 1, 1] }.

Changed

  • Dataset: block_len and file_len attributes are now deprecated, but still available for backwards compatibility. Use chunk_size and chunks_per_shard instead. These new attributes are Vec3Int, so they can be set non-uniformly. However, WKW-backed layers still require uniform chunk_size and chunks_per_shard. #627

Fixed

  • Fixed crash during downsampling and compression of segmentation layers. #657

wkcuber

Added

  • Added logging to file in ./logs directory. #641

v0.9.11

16 Mar 11:49

Choose a tag to compare

Release for v0.9.11

v0.9.10

15 Mar 08:52

Choose a tag to compare

webknossos

Changed

  • Annotation: Annotation.temporary_volume_layer_copy now uses the NML-provided scale. #644
  • Dataset: Moved the deprecation warning from get_color_layers() to the actually deprecated method get_color_layer().
    #635
  • Inconsistent writes to datasets properties (e.g., caused due to multiprocessing) are detected automatically. The warning can be escalated to an exception with warnings.filterwarnings("error", module="webknossos", message=r"\[WARNING\]"). #633

Fixed

  • Tests: The ./test.sh script works on macOS again and doesn't throw Network Errors anymore. However the introduced fix could lead to slightly different behaviour on macOS tests vs CI tests, when UNIX socket communication is involved. #618

wkcuber

Fixed

  • Fixed that wkcuber.downsampling didn't support an anisotropic mag for --from. #638

v.0.9.9

03 Mar 13:57

Choose a tag to compare

webknossos

Breaking Changes

  • Changed the interface and behavior of Annotations and Skeletons, as well as nml-parsing related code.
    #602
    • webknossos.skeleton.nml is not exposed anymore. The previous functionality may be found in
      webknossos._nml and webknossos/annotation/_nml_conversion.py if needed, but please not that
      this is not part of the public API and may change at any time. Please use the respective logic on the
      Annotation class instead.
    • The name attribute on the Skeleton class changed to dataset_name.
    • The deprecated Skeleton.offset attribute is removed.
    • The following attributes are removed from the Skeleton class, instead they are part of the
      Annotation class now: time, edit_position, edit_rotation, zoom_level, task_bounding_box,
      user_bounding_boxes.
    • The following Annotation methods were renamed and their arguments changed slightly:
      • save_volume_annotationexport_volume_layer_to_dataset
      • temporary_volume_annotation_layer_copytemporary_volume_layer_copy

Added

  • Added new features to the Annotation and Skeleton classes. #602
    • The Skeleton class has new attributes description and organization_id.
    • The Annotation class has new attributes username and annotation_id, as well as the following
      attributes that are proxies for the skeleton attributes: dataset_name, scale, organization_id, description
    • Annotations can now be initialized from their attributes and an optional skeleton.
    • New methods on Annotation: upload, add_volume_layer, delete_volume_layer
    • Annotation.load() and annoation.save() also works with .nml files.
  • Added MagView.get_views_on_disk() as a shortcut to turning get_bounding_boxes_on_disk into views.
    #621

Fixed

  • Fixed the download of skeleton-only annotations. #602

v0.9.8

28 Feb 14:27

Choose a tag to compare

webknossos

Added

  • Added allow_overwrite parameter to Layer.downsample(). #614

v0.9.7

28 Feb 12:40

Choose a tag to compare

webknossos

Added

  • Added only_setup_mag parameter to downsample-related methods in Layer. This parameter allows creating output magnifications before parallelizing downsampling invocations to avoid outdated writes to datasource-properties.json. #610
  • Added Task.create() method to create tasks by prodiving a dataset name, location, and rotation. #605

cluster-tools

Added

  • Added KubernetesExecutor for parallelizing Python scripts on a Kubernetes cluster. #600

v0.9.6

15 Feb 10:25

Choose a tag to compare

webknossos

Added

  • Added apply_merger_mode.py example. #592
  • Added support for reading from multiple volume layers in annotations. If an annotation contains multiple volume layers, the layer name has to be provided when reading from a volume layer in an annotation (in Annotation.save_volume_annotation() and Annotation.temporary_volume_annotation_layer_copy()). Also, added the method Annotation.get_volume_layer_names() to see available volume layers. #588

Changed

  • Dataset writes in higher mags do not increase the bounding box if the written data fits in the rounded up box. #595

Fixed

  • Dataset down- & upload: #595
    • Fixed download of higher mags.
    • Bounding box after download is set correctly (was inflated before when downloading higher mags).
    • The returned URL for uploads is corrected, this did not respect new_dataset_name before.

cluster-tools

Added

  • Automatically detect when a multiprocessing context is set up without using an if __name__ == "__main__" guard in the main module. #598