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

Arbitrary plane slicing #62

Open
tischi opened this issue Dec 3, 2020 · 1 comment
Open

Arbitrary plane slicing #62

tischi opened this issue Dec 3, 2020 · 1 comment

Comments

@tischi
Copy link

tischi commented Dec 3, 2020

In BigDataViewer one can interactively change the viewing plane to any plane, non-orthogonal to the voxel space of the image.

In the long run we (EMBL) would need such a functionality in the web as well.

I know the logic of the BigDataViewer implementation in case there is interest and resources to implement this in vizarr.

Rough sketch:

For each pixel_coordinates_2D on the screen of the browser:
       voxel_coordinates_3D = applyTransform( currentViewerTransform, pixel_coordinates_2D );
       voxelValue = fetchDataFromZXarr( voxel_coordinates_3D, channel, time );
       paint( voxelValue, pixel_coordinates_2D );

The currentViewerTransform is what you change if you change the viewing angle.

Let me know if that is within scope and of interest for you.

@manzt
Copy link
Member

manzt commented Dec 3, 2020

Short answer, I'd love to have this an think it could be accomplished with a custom loader for your 3D data. It would require 1.) creating new UI state to manage changing the viewing angle, and 2.) a custom ZarrLoader for Viv that can do the special indexing for data that are chunked in this way.

That said, I'm working on another research rotation right now and doubt I'll have the time to implement. It might be something that we can investigate in the future or if I get the time over the holiday. I could schedule some time to walk through the code base if you'd or others would like give it a try.

Note: I believe this is something that nueroglancer supports. Is there a reason that wouldn't work for these data?

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

No branches or pull requests

2 participants