Skip to content

Releases: scalableminds/webknossos

24.02.0

29 Jan 09:51
b4c5026
Compare
Choose a tag to compare

Highlights

  • Added thumbnails to the dashboard dataset list. #7479
  • The data of segments can now be deleted in the segment side panel. #7435
  • Added the ability to compose a new dataset from existing dataset layers. This can be done with or without transforms (transforms will be derived from landmarks given via BigWarp CSV or WK NMLs). #7395

Added

  • Added support for S3-compliant object storage services (e.g. MinIO) as a storage backend for remote datasets. #7453
  • Added support for blosc compressed N5 datasets. #7465
  • Added route for triggering the compute segment index worker job. #7471
  • Added the option to configure the name of the output segmentation layer in the neuron inferral job. #7472
  • Adhoc mesh rendering is now available for ND datasets.#7394
  • When setting up WEBKNOSSOS from the git repository for development, the organization directory for storing datasets is now automatically created on startup. #7517
  • Multiple segments can be dragged and dropped in the segments tab. #7536
  • Added the option to convert agglomerate skeletons to freely modifiable skeletons in the context menu of the Skeleton tab. #7537
  • The annotation list in the dashboard now also shows segment counts of volume annotations (after they have been edited). #7548
  • The buildinfo route now reports the supported HTTP API versions. #7581
  • After deleting specific teams, projects and task types, their names can now be re-used when creating new ones. #7573

Changed

  • Improved loading speed of the annotation list. #7410
  • Improved loading speed for the users list. #7466
  • Admins and Team Managers can now also download job exports for jobs of other users, if they have the link. #7462
  • Updated some dependencies of the backend code (play 2.9, sbt 1.9, minor upgrades for others) for optimized performance. #7366
  • Processing jobs can now be distributed to multiple webknossos-workers with finer-grained configurability. Compare migration guide. #7463
  • A warning is shown when the user tries to annotate volume data in the "Overwrite Empty" mode when no voxels were changed. #7526
  • Updated antd UI library from version 4.24.8 to 4.24.15. #7505
  • Changed the default dataset search mode to also search in subfolders. #7539
  • When clicking a segment in the viewport, it is automatically focused in the segment list. A corresponding context menu entry was added as well. #7512
  • Updated the isValidName route in the API to return 200 for valid and invalid names. With this, the API version was bumped up to 6. #7550
  • Upgraded to Play 3. #7562
  • When no Email Address for New-User Notifications is configured, the organization owner will be notified. For overtime notifications, the project owner and the organization owner will be notified. #7561
  • The metadata for ND datasets and their annotation has changed: upper bound of additionalAxes is now stored as an exclusive value, called "end" in the NML format. #7547
  • Added support for the index_location parameter in sharded Zarr 3 datasets. #7553

Fixed

  • Datasets with annotations can now be deleted. The concerning annotations can no longer be viewed but still be downloaded. #7429
  • Fixed several deprecation warnings for using antd's Tabs.TabPane components. #7469
  • Fixed problems when requests for loading data failed (could impact volume data consistency and rendering). #7477
  • The settings page for non-wkw datasets no longer shows a wall of non-applying errors. #7475
  • Fixed a bug where dataset deletion for ND datasets and datasets with coordinate transforms would not free the name even if no referencing annotations exist. #7495
  • Fixed a bug where the URL in the sharing link was wrongly decoded before encoding into a URI. #7502
  • Fixed a bug where loaded meshes were not encoded in the sharing link. #7507
  • Fixed a bug where meshes (or chunks of them) were always colored white, if they were loaded while the corresponding segmentation layer was disabled. #7507
  • Fixed a race condition when opening a short link, that would sometimes lead to an error toast. #7507
  • Fixed that the Segment Statistics feature was not available in the context menu of segment groups and in the context menu of the data viewports. #7510
  • Fixed rare bug which produced a benign error toast on some mouse interactions. #7525
  • Fixed a bug where dataset managers were not allowed to assign teams to new datasets that they are only member of. This already worked while editing the dataset later, but not during upload. #7518
  • Fixed regression in proofreading tool when automatic mesh loading was disabled and a merge/split operation was performed. #7534
  • Fixed that last dimension value in ND dataset was not loaded. #7535
  • Fixed the initialization of the mapping list for agglomerate views if json mappings are present. #7537
  • Fixed a bug where uploading ND volume annotations would lead to errors due to parsing of the chunk paths. #7547
  • Fixed a bug where listing the annotations of other users would result in empty lists even if there are annotations and you should be allowed to see them. #7563
  • Fixed the "Download Meshes" functionality which was affected by the recent introduction of the CSP. #7577
  • Fixed a bug where listing the annotations of other users would result in empty lists even if there are annotations, and you should be allowed to see them. #7563
  • Fixed errors showing when viewing the annotation list. #7579
  • Fixed a bug where all-zero chunks/buckets were omitted when downloading volume annotation even in case of a fallback segmentation layer, where their zeroed-bucket information is actually needed. #7576
  • Fixed a bug where zarr3 datasets with sharding that didn’t specify an explicit index_location in their metadata could not be read. #7583

Removed

  • Removed Swagger/OpenAPI json description of the HTTP API. #7494
  • Removed several unused frontend libraries. #7521

23.12.0

05 Dec 18:26
68842e8
Compare
Choose a tag to compare

Highlights

  • Zarr datasets can now be directly uploaded to WEBKNOSSOS. #7397

Added

  • Added support for reading uint24 rgb layers in datasets with zarr2/zarr3/n5/neuroglancerPrecomputed format, as used for voxelytics predictions. #7413
  • Adding a remote dataset can now be done by providing a Neuroglancer URI. #7416
  • Added a filter to the Task List->Stats column to quickly filter for tasks with "Prending", "In-Progress" or "Finished" instances. #7430

Changed

  • An appropriate error is returned when requesting an API version that is higher than the current version. #7424
  • Upgraded FossilDB database used to store annotation data to version 0.1.27. #7440

Fixed

  • Searching the segments in the sidebar will highlight newly focused segments properly now. #7406
  • Fixed a bug when opening a task for which a mag restriction exists. The bug only occurred when the referenced mag didn't exist in the dataset. #7403
  • Fixed that trees with ids around 1023 were invisible on some systems. #7443
  • Fixed styling issues with the maintenance banner so that it no longer overlaps other menus, tabs, and buttons. #7421
  • Exploring HTTP uris of unknown hosts no longer causes an exception error message to be displayed. #7422
  • Fixed the initialization of the dark theme if it was active during page load. #7446
  • Fixed a rare bug in ad-hoc meshing for voxelytics-created segmentations with agglomerate mappings. #7449

23.11.0

24 Oct 11:46
f0953cd
Compare
Choose a tag to compare

Highlights

  • Added a new tool that allows either measuring the distance of a path or a non-self-crossing area. #7258
  • For setups with webknossos-worker: Added a feature to create an engaging animation video of a dataset and its meshes processed in Blender. #7348

Added

  • Added social media link previews for links to datasets and annotations (only if they are public or if the links contain sharing tokens). #7331
  • Loading sharded zarr3 datasets is now significantly faster. #7363 and #7370
  • OME-NGFF datasets with only 2 dimensions can now be imported and viewed. #7349
  • Higher-dimension coordinates (e.g., for the t axis) are now encoded in the URL, too, so that reloading the page will keep you at your current position. Only relevant for 4D datasets. #7328
  • WEBKNOSSOS can now also explore datasets on the local file system if enabled in the new config key datastore.localFolderWhitelist. #7389
  • It is now possible to download volume annotations as zarr- rather than wkw-based zip. This case also supports annotations on timeseries (ND) datasets. #7288

Changed

  • Updated backend code to Scala 2.13, with upgraded Dependencies for optimized performance. #7327
  • Remote datasets with a datasource-properties.json can now also be imported without the need for OME metadata. #7372
  • Occurrences of isosurface were renamed to ad-hoc mesh. This also applies to configuration files. #7350
  • Improved user interface to start automatic AI analysis. #7368

Fixed

  • Fixed that some segment (group) actions were not properly disabled for non-editable segmentation layers. #7207
  • Fixed a bug where data from zarr2 datasets that have a channel axis was broken. #7374
  • Fixed a bug which changed the cursor position while editing the name of a tree or the comment of a node. #7390
  • Streaming sharded zarr3 datasets from servers which do not respond with Accept-Ranges header is now possible. #7392

23.10.2

11 Oct 13:42
@fm3 fm3
a6f09e2
Compare
Choose a tag to compare

Fixed

  • Fixed that segment statistics were requested in the wrong resolution and without properly considering the dataset scale. #7355

23.10.1

22 Sep 14:49
086980f
Compare
Choose a tag to compare

Fixed

  • Fixed that auto-saving only took place every 5 minutes instead of every 30 seconds. #7352

23.10.0

22 Sep 14:50
e3022a4
Compare
Choose a tag to compare

Highlights

  • Datasets and annotations can now be more than 3-dimensional, using additional coordinates. #7136
  • Volume and bounding box information is shown in segments' context menus as well as in a separate modal in the segments tab. There is also an option to export the statistics. #7249

Added

  • Added disabled drag handles to volume and skeleton layers for visual consistency. These layer cannot be dragged or reordered. #7295
  • Dataset thumbnails for grayscale layers can now be colored using the value in the view configuration. #7255
  • OpenID Connect authorization is now compatible with Providers that send the user information in an id_token. #7294
  • Segments and segment groups can be modified via the JS API. The following functions are available: registerSegment, removeSegment, updateSegment, createSegmentGroup, renameSegmentGroup, deleteSegmentGroup. #7332
  • A banner underneath the navigation bar informs about current and upcoming maintenances of WEBKNOSSOS. #7284
  • The AI-based quick select tool can now also be used for ND datasets. #7287

Changed

  • On datasets with segment indices, ad-hoc meshing can now create non-connected meshes. #7244
  • Annotating volume data uses a transaction-based mechanism now. As a result, WK is more robust against partial saves (i.e., due to a crashing tab). #7264
  • Improved speed of saving volume data. #7264
  • Improved progress indicator when saving volume data. #7264
  • Adapted Zarr 3 implementations to recent changes in the specification (index codecs, zstd codec). #7305
  • When importing datasets with additional axes (more than 3 dimensions), the axis names are now sanitized and checked for duplicates. #7308

Fixed

  • Fixed that the deletion of a selected segment would crash the segments tab. #7316
  • Fixed reading sharded Zarr 3 data from the local file system. #7321
  • Fixed no-bucket data zipfile when downloading volume annotations. #7323
  • Fixed too tight assertions when saving annotations, leading to failed save requests. #7326
  • Fixed a bug when saving large amounts of skeleton annotation data at once. #7329
  • Fixed a bug that prevented downloading public skeleton-only annotations by other users. #7347

23.09.0

29 Aug 13:29
59b6b49
Compare
Choose a tag to compare

Highlights

  • Added option to select multiple segments in the segment list in order to perform batch actions. #7242
  • Added the option to change the ordering of color layers via drag and drop. This is useful when using the cover blend mode. #7188

Added

  • Added configuration to require users' emails to be verified, added flow to verify emails via link. #7161
  • Added a route to explore and add remote datasets via API. #7176
  • Added a new button to the layer settings in view only dataset mode to save the current view configuration as the dataset's default. #7205
  • If a dataset layer is transformed (using an affine matrix or a thin plate spline), it can be dynamically shown without that transform via the layers sidebar. All other layers will be transformed accordingly. #7246
  • OpenID Connect authorization can now use a client secret for added security. #7263

Changed

  • Small messages during annotating (e.g. “finished undo”, “applying mapping…”) are now click-through, so they do not block users from selecting tools. #7239
  • When exploring remote NGFF datasets with channels, layer names and colors are automatically imported if available in the metadata. #7251
  • Annotating volume data uses a transaction-based mechanism now. As a result, WK is more robust against partial saves (i.e., due to a crashing tab). #7264
  • Improved speed of saving volume data. #7264
  • Improved progress indicator when saving volume data. #7264
  • The order of color layers can now also be manipulated in additive blend mode (see #7188). #7289
  • OpenID Connect authorization now fetches the server’s public key automatically. The config keys singleSignOn.openIdConnect.publicKey and singleSignOn.openIdConnect.publicKeyAlgorithm are now unused. 7267
  • When importing a remote dataset and adding another layer with a different voxel size, that layer is now scaled to match the first layer. #7213

Fixed

  • Fixed that it was possible to have larger active segment ids than supported by the data type of the segmentation layer which caused the segmentation ids to overflow. #7240
  • Fixed that folders could appear in the dataset search output in the dashboard. #7232
  • Fixed that the edit icon for an annotation description could disappear in Firefox. #7250
  • Fixed that assigning an invalid script name (e.g. with special characters) would trigger an error in the database. Now leads to a more descriptive error. #7525
  • Fixed rendering error when multiple segmentation layers exist and the user switched between these. #7291

Breaking Changes

  • The task and project api have changed. Make sure to update to the latest webknossos python library version when interacting with task and projects via the python library. Compare webknossos-libs#930. #7220

23.08.0

25 Jul 07:29
4cd15fe
Compare
Choose a tag to compare

Highlights

  • Added batch actions for segment groups, such as changing the color and loading or downloading all corresponding meshes. #7164.
  • Improved support for touch devices by adding floating buttons for easier navigation and layout changes. #7178
  • The brush size can now be changed by selecting brush size presets. These presets are user configurable by assigning the current brush size to any of the preset buttons. Additionally the preset brush sizes can be set with keyboard shortcuts. #7101

Added

  • Added a search feature for segments and segment groups. Listed segments/groups can be searched by id and name. #7175
  • Added a modal to the voxelytics workflow view that lists all artifacts with their file size and inode count. This helps to identify the largest artifacts to free disk space. #7152
  • Added new graphics and restyled empty dashboards. #7008
  • Added warning when using WEBKNOSSOS in an outdated browser. #7165
  • Re-added optional antialiasing for rendering. #7180
  • Added support for transformations with thin plate splines. #7131
  • WEBKNOSSOS can now read S3 remote dataset credentials from environment variables AWS_ACCESS_KEY_ID and AWS_SECRET_KEY. Those will be used, if available, when accessing remote datasets for which no explicit credentials are supplied. #7170
  • Added security.txt according to RFC 9116. The content is configurable and it can be disabled. #7182
  • Added routes for super-users to manage users and organizations. #7196
  • Added tooltips to explain the task actions "Reset" and "Reset and Cancel". #7201
  • Thumbnail improvements: Thumbnails now use intensity configuration, thumbnails can now be created for float datasets, and they are cached across webknossos restarts. #7190

Changed

  • Redesigned the info tab in the right-hand sidebar to be fit the new branding and design language. #7110
  • The proofreading tool is always visible now (even when disabled). #7174
  • Optimized processing of parallel requests (new thread pool configuration, asynchronous FossilDB client), improving performance and reducing idle waiting. #7139
  • Renamed "open" tasks to "pending" and slightly redesigned the available task assignment view for clarity. #7187
  • Being the uploader of a dataset no longer grants edit permissions on that dataset. #7200
  • Enabled the "Shift + middle-click" shortcut to load agglomerate skeletons for all tools, not just the Skeleton tool. #7212

Fixed

  • Fixed rare rendering bug at viewport edge for anisotropic datasets. #7163
  • Fixed the dataset search which was broken when only the root folder existed. #7177
  • Correctly use configured fill-value for missing chunks of remote datasets hosted on gcs or s3. #7198
  • Correctly use configured fill-value for missing chunks of local non-wkw datasets. #7216
  • Adapted the proofreading docs to reflect the current state of the proofreading tool. #7212
  • Fixed a bug when adding remote datasets while not having write-access to the root folder. #7221

Removed

  • Removed the "Globalize Floodfill" feature that could extend partial floodfills across an entire dataset. Please use the fill tool multiple times instead or make use of the proofreading tool when correcting large structures. #7173

23.07.0

21 Jun 08:20
c869918
Compare
Choose a tag to compare

Highlights

  • Added new shortcuts for fast tool switching. Look at the updated Keyboard Shortcuts documentation to see the new shortcuts. #7112
  • Creating bounding boxes can now be done by dragging the left mouse button (when the bounding box tool is selected). To move around in the dataset while this tool is active, keep ALT pressed. #7118

Added

  • Subfolders of the currently active folder are now also rendered in the dataset table in the dashboard. #6996
  • Added ability to view zarr v3 datasets. #7079
  • Added an index structure for volume annotation segments, in preparation for per-segment statistics. #7063
  • Instead of showing all possible action items next to each other, there is now an overflow menu for layer actions. #7123

Changed

  • Agglomerate skeletons can only be modified if the proofreading tool is active so they stay in sync with the underlying segmentation and agglomerate graph. Agglomerate skeletons cannot be modified using any other means. They are marked in the skeleton list using the clipboard icon of the proofreading tool. When exporting skeletons in the NML format, trees ("things") now have a type property which is either "DEFAULT" or "AGGLOMERATE". #7086
  • The cache for remote dataset array contents can now have a configured size in bytes. New config option datastore.cache.imageArrayChunks.maxSizeBytes. Default is 2 GB, consider increasing for production. #7067
  • Optimized processing of parallel requests for remote datasets, improving performance and reducing idle waiting. #7137

Fixed

  • Fixed a bug where some volume annotations could not be downloaded. #7115
  • Fixed reading of some remote datasets where invalid data would follow valid gzip data, causing the decompression to fail. #7119
  • Fixed problems which could arise when annotating volume data at negative positions (which is not supported and is properly ignored now). #7124
  • Fixed some requests failing for streaming remote data via HTTP, which was observed when streaming data via Zarr from another WEBKNOSSOS instance. #7125
  • Fixed that the brush preview was inaccurate in some scenarios. #7129
  • Fixed order of decompression on neuroglancer precomputed datasets, which caused some segmentation layers to not load correctly. #7135

Removed

  • Support for webknososs-connect data store servers has been removed. Use the "Add Remote Dataset" functionality instead. #7031

23.06.0

31 May 09:48
a0b11b3
Compare
Choose a tag to compare

Highlights

  • Added a machine-learning based quick select mode. Activate it via the "AI" button in the toolbar after selecting the quick-select tool. #7051
  • Added segment groups so that segments can be organized in a hierarchy (similar to skeletons). #6966
  • Added a new "cover" blend mode which renders the visible layers on top of each other. The new blend mode can be selected in the Data Rendering settings in the settings tab of the left side bar. #6936

Added

  • In addition to drag and drop, the selected tree(s) in the Skeleton tab can also be moved into another group by right-clicking the target group and selecting "Move selected tree(s) here". #7005
  • Added support for remote datasets encoded with brotli. #7041
  • Teams can be edited more straight-forwardly in a popup in the team edit page. #7043
  • Added support to download layers of a dataset as (OME) TIFF files in the download modal when viewing a dataset. #7068
  • Annotations with Editable Mappings (a.k.a Supervoxel Proofreading) can now be merged. #7026
  • The file size and inodes of artifacts are now aggregated and shown in the Voxelytics workflow list. #7071
  • It is possible to disable the automatic loading of meshes during proofreading. ##7076
  • When viewing a public dataset by another organization, the organization is shown next to the dataset list, and when viewing the dataset or an annotation. #7087

Changed

  • Loading of precomputed meshes got significantly faster (especially when using a mesh file for an oversegmentation with an applied agglomerate mapping). #7001
  • Improved speed of proofreading by only reloading affected areas after a split or merge. #7050
  • The minimum length of layer names in datasets was set from 3 to 1, enabling single-character names for layers. #7064
  • All dataset managers are now allowed to see all voxelytics workflow reports created in their organization. Previously, only admins could see all workflow reports, with other users seeing only their own. #7080
  • Improved performance for large meshes, especially when loaded from a precomputed oversegmentation mesh file. #7077
  • Slight increased the spacing and width of some VX reports elements. #7094

Fixed

  • Fixed that changing a segment color could lead to a crash. #7000
  • The fill_value property of zarr dataset is now used when it is not a number. #7017
  • Fixed a bug that made downloads of public annotations fail occasionally. #7025
  • Fixed layouting of used storage space on the organization page. #7034
  • Fixed a bug where updating skeleton annotation tree group visibility would break the annotation. #7037
  • Fixed importing Neuroglancer Precomputed datasets that have a voxel offset in their header. #7019, #7062
  • Fixed reading Neuroglancer Precomputed datasets with non-integer resolutions. #7041
  • Fixed a bug where invalid email addresses were not readable in dark mode on the login/signup pages. #7052
  • Fixed a bug where users could sometimes not access their own time tracking information. #7055
  • Fixed a bug in the wallTime calculation of the Voxelytics reports. #7059
  • Fixed a bug where thumbnails and raw data requests with non-bucket-aligned positions would show data at slightly wrong positions. #7058
  • Avoid crashes when exporting big STL files. #7074
  • Fixed rare rendering bug for datasets with multiple layers and differing magnifications. #7066
  • Fixed a bug where duplicating annotations with Editable Mappings could lead to a server-side endless loop. #7026
  • Fixed the datasource-properties.json route for zarr-streaminge export of datasets that are not wkw/zarr. #7065
  • Fixed an issue where you could no longer invite users to your organization even though you had space left. #7078
  • Fixed displayed units of used storage in the organization's overview page. #7057
  • Fixed a rendering bug that could occur when a dataset layer has missing mags (e.g., the first mag is 8-8-8). #7082
  • Fixed a bug where some volume annotations could not be duplicated or used as tasks. #7085
  • Fixed a superfluous rectangular geometry rendered at 0,0,0. #7088