Skip to content

Conversation

valentin-pinkau
Copy link
Member

@valentin-pinkau valentin-pinkau commented Sep 26, 2025

Description:

  • This PR refactors the Dataset, Layer, MagView architecture, by introducing remote variants.
  • In addition, the new upload method allows to upload directly to the underlying storage.
  • Breaking changes are documented in the changelog.
  • Docs and examples need to be updated.

Todos:

Make sure to delete unnecessary points or to check all before merging:

  • Updated Changelog
  • Updated Documentation
  • Added / Updated Tests
  • Considered adding this to the Examples

@normanrz normanrz added this to the 3.x milestone Oct 8, 2025
Copy link
Member

@normanrz normanrz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Great work! Just minor comments. Maybe you can check that the abstract classes only have functions that multiple subclasses need. And, please make the layer-linking more ergonomic, as discussed.

Copy link

☂️ Python Coverage

current status: ✅

Overall Coverage

Lines Covered Coverage Threshold Status
9946 8358 84% 80% 🟢

New Files

File Coverage Status
webknossos/webknossos/dataset/abstract_dataset.py 91% 🟢
webknossos/webknossos/dataset/layer/_init_.py 100% 🟢
webknossos/webknossos/dataset/layer/abstract_layer.py 94% 🟢
webknossos/webknossos/dataset/layer/layer_to_link.py 77% 🟢
webknossos/webknossos/dataset/layer/remote_layer.py 86% 🟢
webknossos/webknossos/dataset/layer/segmentation_layer/init.py 100% 🟢
webknossos/webknossos/dataset/layer/segmentation_layer/abstract_segmentation_layer.py 91% 🟢
webknossos/webknossos/dataset/layer/segmentation_layer/attachments/init.py 100% 🟢
webknossos/webknossos/dataset/layer/segmentation_layer/attachments/attachment.py 93% 🟢
webknossos/webknossos/dataset/layer/segmentation_layer/remote_segmentation_layer.py 47% 🟢
webknossos/webknossos/dataset/layer/segmentation_layer/segmentation_layer.py 100% 🟢
webknossos/webknossos/dataset/layer/view/_init_.py 100% 🟢
webknossos/webknossos/dataset/remote_dataset.py 84% 🟢
webknossos/webknossos/dataset_properties/init.py 100% 🟢
webknossos/webknossos/dataset_properties/dataset_properties.py 96% 🟢
webknossos/webknossos/dataset_properties/structuring.py 98% 🟢
webknossos/webknossos/ssl_context.py 100% 🟢
TOTAL 92% 🟢

Modified Files

File Coverage Status
webknossos/webknossos/_init_.py 72% 🟢
webknossos/webknossos/_nml/parameters.py 98% 🟢
webknossos/webknossos/administration/task.py 81% 🟢
webknossos/webknossos/annotation/annotation.py 79% 🟢
webknossos/webknossos/annotation/volume_layer.py 98% 🟢
webknossos/webknossos/cli/convert.py 96% 🟢
webknossos/webknossos/cli/convert_knossos.py 37% 🟢
webknossos/webknossos/cli/convert_raw.py 67% 🟢
webknossos/webknossos/cli/convert_zarr.py 35% 🟢
webknossos/webknossos/cli/copy_dataset.py 100% 🟢
webknossos/webknossos/cli/download.py 84% 🟢
webknossos/webknossos/cli/export_as_tiff.py 56% 🟢
webknossos/webknossos/client/_init_.py 100% 🟢
webknossos/webknossos/client/_download_dataset.py 95% 🟢
webknossos/webknossos/client/_upload_dataset.py 86% 🟢
webknossos/webknossos/client/api_client/_abstract_api_client.py 94% 🟢
webknossos/webknossos/client/api_client/_serialization.py 96% 🟢
webknossos/webknossos/client/api_client/datastore_api_client.py 90% 🟢
webknossos/webknossos/client/api_client/models.py 100% 🟢
webknossos/webknossos/client/api_client/wk_api_client.py 86% 🟢
webknossos/webknossos/dataset/_init_.py 100% 🟢
webknossos/webknossos/dataset/_utils/infer_bounding_box_existing_files.py 100% 🟢
webknossos/webknossos/dataset/_utils/pims_images.py 87% 🟢
webknossos/webknossos/dataset/_utils/segmentation_recognition.py 91% 🟢
webknossos/webknossos/dataset/dataset.py 76% 🟢
webknossos/webknossos/dataset/defaults.py 100% 🟢
webknossos/webknossos/dataset/ome_metadata.py 95% 🟢
webknossos/webknossos/dataset/remote_dataset_registry.py 93% 🟢
webknossos/webknossos/dataset/remote_folder.py 86% 🟢
webknossos/webknossos/skeleton/skeleton.py 92% 🟢
webknossos/webknossos/utils.py 73% 🟢
TOTAL 85% 🟢

updated for commit: d81a14b by action🐍

@valentin-pinkau valentin-pinkau merged commit 1c8a6a6 into master Oct 10, 2025
23 checks passed
@valentin-pinkau valentin-pinkau deleted the refactor_dataset branch October 10, 2025 09:18
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants