Releases: scalableminds/webknossos-libs
Releases · scalableminds/webknossos-libs
v0.8.21
v0.8.20
v0.8.19
Added
- Added a new Annotation class which includes skeletons as well as volume-annotations. #437
- Added dataset down- and upload as well as annotation download, see the examples
learned_segmenter.py
andupload_image_data.py
. #437
Changed
View
s now always open thewkw.Dataset
lazily. All explicit calls toView.open()
andView.close()
must be removed. #448
Fixed
- Fixed two bugs in
cubing
(regardingstart_z
andpad
). As a result, the ImageConverters do no longer cache metadata. #460
v0.8.18
What's Changed
- Add shallow_copy_dataset method by @valentin-pinkau in #437
- Allow full Vec3IntLike as input for get_buffered_slice_writer by @fm3 in #438
- [wkcuber] Make tiff and czi reading more robust by @youri-k in #335
- Allow float numpy array in BoundingBox.contains by @fm3 in #450
- Forbid implicit optional in typing by @fm3 in #449
- Use Dataset API inside
cubing
by @rschwanhold in #418
Full Changelog: v0.8.17...v0.8.18
v0.8.17
v0.8.16
wkcuber:
webknossos python lib:
- Refactored the BufferedSliceWriter and added a BufferedSliceReader. #425
- Breaking changes in BufferedSliceWriter:
- The data no longer gets transposed: previously the format of the slices was [y,x]; now it is [x,y]
- The interface of the constructor was changed:
- A
View
(orMagView
) is now required as datasource - The parameter
dimension
can be used to specify the axis along the data is sliced - The offset is expected to be in the magnification of the view
- A
- This class is now supposed to be used within a context manager and the slices are written by sending them to the generator (see documentation of the class).
- BufferedSliceReader
- This class was added complementary to the BufferedSliceWriter
- Added methods to get a BufferedSliceReader/BufferedSliceWriter from a View directly
v0.8.15
v0.8.14
wkcuber:
- Adjust downsampling scheme to always try to minimize the scaled difference between the different dimensions of a mag and renamed the sampling mode
auto
toanisotropic
. #391 - Make parameter
executor
optional forView.for_each_chunk
andView.for_zipped_chunks
. #404 - Add option to rename foreign layer with add_{symlink,copy}_layer. #419
- Reverted that
dataset.add_symlink_layer
anddataset.add_copy_layer
resolved the layer path if it was a symlink. #408
webknossos python package:
-
Breaking changes were introduced for geometry classes in #421:
-
BoundingBox
- is now immutable, use convenience methods, e.g.
bb.with_topleft((0,0,0))
- properties topleft and size are now Vec3Int instead of np.array, they are each immutable as well
- all
to_
-conversions return a copy, some were renamed: to_array
→to_list
as_np
→to_np
as_wkw
→to_wkw_dict
from_wkw
→from_wkw_dict
as_config
→to_config_dict
as_checkpoint_name
→to_checkpoint_name
as_tuple6
→to_tuple6
as_csv
→to_csv
as_named_tuple
→to_named_tuple
as_slices
→to_slices
copy
→ (gone, immutable)
- is now immutable, use convenience methods, e.g.
-
Mag
- is now immutable
mag.mag
is nowmag._mag
(considered private, use to_list instead if you really need it as list)- all
to_
-conversions return a copy, some were renamed: to_array
→to_list
scale_by
→ (gone, immutable)divide_by
→ (gone, immutable)as_np
→to_np
-
-
An immutable Vec3Int class was introduced that holds three integers and provides a number of convenience methods and accessors. #421
-
BoundingBox
andMag
are now immutable attr classes containingVec3Int
values. See breaking changes above.
v0.8.13
- Replaced the old properties classes of the Dataset API with attr-classes.
- The
Layer.rename()
function is now replaced with the setter ofLayer.name
. - The functions
Layer.get_view_configuration
andLayer.set_view_conficuration
are replaced by the propertyLayer.default_view_configuration
. (Same applies toDataset.get_view_configuration
andDataset.set_view_configuration
) - Moved
LayerViewConfiguration
andDatasetViewConfiguration
intoproperties.py
- Removed
Layer.set_bounding_box_offset
andLayer.set_bounding_box_size
. - Renamed
Layer.get_bounding_box()
to the propertyLayer.bounding_box
. The methodLayer.set_bounding_box
is replaced with the setter of the propertyLayer.bounding_box
.
- The
- Reverted that
dataset.add_symlink_layer
anddataset.add_copy_layer
resolved the layer path if it was a symlink. #408