Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

WIP: Limit bbox of volume tracings to that of fallback layer #7580

Draft
wants to merge 3 commits into
base: master
Choose a base branch
from

Conversation

fm3
Copy link
Member

@fm3 fm3 commented Jan 23, 2024

URL of deployed dev instance (used for testing):

  • https://___.webknossos.xyz

Steps to test:

  • On a datast with a segmentation layer that is smaller than the color layer,
  • Create a volume annotation with fallback segmentation (is the default)
  • bbox should be limited to fallback layer’s
  • should still look the same after download + reupload

Issues:


(Please delete unneeded items, merge only when none are left open)

@fm3 fm3 self-assigned this Jan 23, 2024
@fm3
Copy link
Member Author

fm3 commented Jan 23, 2024

The backend part of this works now, frontend logging shows that the bbox in the volumetracing proto object is set to the fallback layer bbox. However, I noticed a few strange effects in the frontend

  • If a skeleton layer exists also, the volume layer bbox is not shown and the brushing is not restricted to the volume layer bbox
  • If a skeleton layer does not exist, the volume layer bbox is shown, but you can still brush outside of it, but only unto the next bucket border
  • Related: segmentation data is rendered (also in dataset view mode) unto the next bigger bucket border (I reduced the segmentation layer bbox in the datasource-properties.json but didn’t delete the actual data outside of it)

@philippotto can you estimate if these points would be easy to fix in the frontend? If not, maybe I’d defer the issue again (I just thought it would be a quick change in the backend). But this particular behavior is pretty weird and unexpected.

@philippotto
Copy link
Member

If a skeleton layer exists also, the volume layer bbox is not shown and the brushing is not restricted to the volume layer bbox
If a skeleton layer does not exist, the volume layer bbox is shown, but you can still brush outside of it, but only unto the next bucket border

Regarding the differing visibility of the volume bbox, I'd have to investigate why this is the case.
That brushing is possible outside of the bbox (until the next bucket border) is known (see #6303) and requires a bit of thought. Not super complicated, but also not a 3-line-change.

segmentation data is rendered (also in dataset view mode) unto the next bigger bucket border (I reduced the segmentation layer bbox in the datasource-properties.json but didn’t delete the actual data outside of it)

This is also known (see #5775). Each layer's bbox needs to be passed into the shader and then be handled accordingly.

Both issues together might take approx. 2 hours ™️.

@fm3
Copy link
Member Author

fm3 commented Jan 24, 2024

Thanks for investigating! I think it would be worth tackling these two to three issues, but it certainly does not have the highest priority. I guess I’ll let this PR lie here until someone of the frontend team has some free capacity :)

@fm3 fm3 changed the title Limit bbox of volume tracings to that of fallback layer WIP: Limit bbox of volume tracings to that of fallback layer Jan 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create annotation layer with fallback layer: keep layer bbox
2 participants