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

Isosurfaces for whole segments #3655

Merged
merged 12 commits into from
Jan 28, 2019
Merged

Isosurfaces for whole segments #3655

merged 12 commits into from
Jan 28, 2019

Conversation

fm3
Copy link
Member

@fm3 fm3 commented Jan 21, 2019

URL of deployed dev instance (used for testing):

Steps to test:

  • open a dataset with a segmentation in "view mode"
  • enable isosurface rendering in the dataset settings
  • shift click on a segment to initiate the isosurface rendering
  • ideally, click on a segment which is relatively large so that its computation is split into chunks (parts should appear sequentially)

Issues:


@fm3
Copy link
Member Author

fm3 commented Jan 21, 2019

@philippotto the back-end sends a NEIGHBORS header similar to MISSING-BUCKETS. It contains a list of numbers, e.g. [0,2,5].
This is the order of the six surfaces (x,y,z being the width height and depth of the requested block):

      val front_xy = BoundingBox(Point3D(0,0,0), x, y, 1)
      val front_xz = BoundingBox(Point3D(0,0,0), 1, y, z)
      val front_yz = BoundingBox(Point3D(0,0,0), x, 1, z)
      val back_xy  = BoundingBox(Point3D(0,0,z), x, y, 1)
      val back_xz  = BoundingBox(Point3D(0,y,0), 1, y, z)
      val back_yz  = BoundingBox(Point3D(x,0,0), x, 1, z)

Feel free to request changes on how the back-end behaves :)

Edit 2021: There was a bug in this surface list that was later fixed in this commit

@philippotto philippotto changed the title [WIP] Isosurfaces for whole segments Isosurfaces for whole segments Jan 24, 2019
Copy link
Member

@daniel-wer daniel-wer left a comment

Choose a reason for hiding this comment

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

Awesome, couldn't generate large segments as the datasets on dev are not segmented globally, but the loading of neighboring cubes definitely works :)

@fm3 One thing I noticed, for 16-bit segmentations the backend doesn't return any vertices. Should not block this PR as there are other problems with 16-bit segmentations anyway (mapping support), but I just wanted you to be aware of it.

@@ -1,12 +1,14 @@
// @flow
Copy link
Member

Choose a reason for hiding this comment

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

Oh 😁 Nice!

@fm3 fm3 merged commit 46da384 into master Jan 28, 2019
@fm3 fm3 deleted the isosurface-neighbors branch January 28, 2019 09:50
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.

Hybrid tracing: Skeletons are created while brushing Request isosurface for entire segment
3 participants