meta: high value features for volume visualisation
alisterburt opened this issue · comments
Here is a list of high value features/demonstrations for the cryo-EM/ET community that I would love to see/help make happen in Mol*
- tiled view of multiple volumes with synchronised rotations (e.g. https://www.cgl.ucsf.edu/chimera/docs/ContributedSoftware/ensembletile/ensembletile.html)
- rendering oblique planes through volumes (e.g. napari/napari#3023)
- control the position/orientation of that arbitrary plane (e.g. napari/napari#3759)
- annotation tools which work on these oblique planes (points/filaments/spheres/ellipsoids/surfaces)
- multiple volume viewer which allows easy navigation of a large set of volumes
More ideas:
Linked orthoviews https://bio3d.colorado.edu/imod/doc/3dmodimages/xyzwin.jpg
3D Slicer: https://bio3d.colorado.edu/imod/doc/3dmodimages/slicer.jpg
More:
- Overlays of volumes and segmentations
- interactive painting
- simultaneous 3D vis and orthoviews for navigation/interactive painting
People working with large (really large, often 100s of GB to TB) volumetric data need
- octree rendering
- multiscale rendering
I think there is already some support for multiscale somehow but don't know the details
there are some files at napari/napari#6043 which generate nice example data for multiscale tiled rendering in 2D and 3D
Cool @alisterburt, some quick comments. I will add some more detailed issues based on these over the week or so.
tiled view of multiple volumes with synchronised rotations (e.g. https://www.cgl.ucsf.edu/chimera/docs/ContributedSoftware/ensembletile/ensembletile.html)
The basis (see viewport setting) for this is available in Canvas3D and Canvas3DContext but it is not implemented in the viewer and plugin
rendering oblique planes through volumes (e.g.
napari/napari#3023)
For the volume image slice we currently do the interpolation in the shader. For arbitrary planes we probably want to do it on the CPU side (or just disable?).
control the position/orientation of that arbitrary plane (e.g.
napari/napari#3759)
Needs dedicated ParameterControl.
annotation tools which work on these oblique planes (points/filaments/spheres/ellipsoids/surfaces) multiple volume viewer which allows easy navigation of a large set of volumes
We can obtain the grid cell of the original volume when mouse over a slice pixel which should give us the data to build a UI and storage for it.
Thanks @arose ! I'll start adding those issues with a vol* label now and add thoughts that came up in response to your comments where relevant