Skip to content

v3.7.0

Latest

Choose a tag to compare

@github-actions github-actions released this 12 Aug 10:14
· 7 commits to master since this release

webknossos

Added

  • Added Layer.coordinate_transformations to read and set the coordinate transformations that place a layer into the coordinate space of its dataset, for both local and remote layers. The transformations are represented by the new classes AffineCoordinateTransformation and ThinPlateSplineCoordinateTransformation. #1491
  • Added Vec3Float and Vec3FloatLike to webknossos.geometry. #1491
  • Added support for the new attachment type SegmentStatisticsAttachment for segmentation layers. #1490

Changed

  • Dataset.voxel_size, Skeleton.voxel_size, Annotation.edit_position/edit_rotation and Node.rotation now return Vec3Float instead of a plain tuple. Since Vec3Float compares and hashes equal to the corresponding tuple, runtime code keeps working unchanged; type annotations that spell out tuple[float, float, float] for these values should be widened to Vec3FloatLike. #1491
  • Node.rotation, Annotation.edit_position and Annotation.edit_rotation now reject a value that is not three numbers with a ValueError when it is set. Previously such a value was stored as given and only failed later, while writing the annotation. #1491
  • The private Vector3 aliases of webknossos.annotation.annotation, webknossos.annotation.volume_layer, webknossos.skeleton.group, webknossos.skeleton.skeleton and webknossos.skeleton.tree were replaced by the shared Vec3Float. #1491
  • Micro-optimizations done for Vec3Float, Vec3Int and VecInt, e.g using __slots__ and fast-paths for common object construction patterns. #1491

Fixed

  • Dataset.add_layer_as_copy and Dataset.copy_dataset now carry over the default_view_configuration and the coordinate_transformations of the copied layers, which were previously lost. #1491
  • Dataset.add_layer_like no longer shares the default_view_configuration with the layer it copies from, so changing it on one of the two layers no longer changes it on the other as well. #1491
  • Restored the ordering of VecInt and Vec3Int, which was lost when they stopped subclassing tuple in #1419. #1493