You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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