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

Support adding multiple layers with different voxel sizes separately #6821

Closed
frcroth opened this issue Feb 7, 2023 · 4 comments · Fixed by #7213
Closed

Support adding multiple layers with different voxel sizes separately #6821

frcroth opened this issue Feb 7, 2023 · 4 comments · Fixed by #7213

Comments

@frcroth
Copy link
Member

frcroth commented Feb 7, 2023

When exploring storage.googleapis.com/neuroglancer-fafb-data/fafb_v14/fafb_v14_orig with voxel size 4,4,40 and then adding storage.googleapis.com/neuroglancer-fafb-data/fafb_v14/fafb_v14_clahe with voxel size 8,8,40 a warning occurs and the resulting data is messed up. What should happen is that on the second dataset, the mags are adjusted so that it starts at mag 2,2,1.

#6670 already implemented this when exploring a data source with multiple layers of different voxel sizes (e.g. segmentation and image), however this does not work when adding one layer and then adding and exploring another layer.

@philippotto
Copy link
Member

With #6748 the restriction of uniform voxel sizes might be lifted (might take a few iterations). Therefore, I would advise to not tackle this issue here before it's clear whether the other issue will automatically solve it.

@philippotto philippotto changed the title Support adding multiple layers with different voxel sizes seperately Support adding multiple layers with different voxel sizes separately Mar 30, 2023
@normanrz
Copy link
Member

With #6748 and #6943 merged, we should be able to tackle this now?

@philippotto
Copy link
Member

Yes, this should be possible now. Instead of the originally suggested "renaming" of the mag layers, the mag linking could be 1:1. Then, the layers with differing voxel sizes would need an affine coordinateTransformations property which does the scaling. The scaling itself can generalize over arbitrary voxel sizes (doesn't depend on power-of-two-factors).

We still have the concept of a singular "voxel size" property for the entire dataset. I think, the first layer that is added could dictate that voxel size and all other layers get a transformation if their voxel sizes differ.

@frcroth
Copy link
Member Author

frcroth commented Jul 18, 2023

@philippotto I think the problem is that the frontend calls exploreRemoteDatasource, but the backend has no knowledge if this is for a new dataset or if it is a new layer for an explored dataset. Thus the backend does not know the voxel size (for which coordinate transformations could then be applied). I think the frontend needs to pass a preferred voxel size on the exploreRemoteDataset API call.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants