-
Notifications
You must be signed in to change notification settings - Fork 300
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
feat(datasource/graphene) added timestamp tool to graphene, timestamp property to SegmentationUserLayer #613
base: master
Are you sure you want to change the base?
Conversation
…ies a new timestamp property on SegmentationUserLayer
Also, can you explain what you use to organize imports? Is it using the eslintrc.yml file? The default vs code sorter wants to sort lowercase above all uppercase imports and doesn't have the same behavior with package and css imports. |
You can use |
Can you explain the logic of |
I'm currently using timestamp owner to do a self-lock when our graphene layer has an active edit tool (owner = self + no timestamp). The cave annotation datasource has more use of timestamp owner. I plan to put up a PR for if this PR is approved. The cave annotation layers have a timestamp associated with it, when it gets linked to a segmentation layer, it sets the segmentation layer to the same timestamp if possible. Multiple annotation layers with the same timestamp can be linked to the same segmentation layer. Each one gets added as an owner. Only once all of them are unlinked is the segmentation timestamp available to be changed (or if one remaining owner wants to change the timestamp it has ownership of). There's more work to be done with the cave annotation implementation. At some point I think we would want the option to change the timestamp of all linked annotation layers together without having to unlink then re-link. |
It occurs to me that it could potentially make sense to treat the timestamp as a special type of dimension that can be either global or local to a single layer. It would need to differ from the existing dimensions in that it would display as a timestamp and support the time picker UI, and would be excluded from the affine transforms. Do I understand correctly that when editing the segmentation, the idea is that you disregard the "lock" and temporary switch to the latest segmentation rather than the one synchronized with the annotations? |
I like how that fits in with existing concepts in Neuroglancer. Do you see this as replacing the ownership? The issue I see with that is that it wouldn't support being able to compare segmentations at different timestamps, within the same neuroglancer instance, with both having linked annotation layers with matching timestamps. I confirmed with others that we consider that to be valuable/important. I am all for re-thinking the implementation. So we want segmentation layers to be able to be linked, timestamp synced with multiple annotation layers. We also want to add a duplicate segmentation source and duplicate annotation layers but set to a different timestamp. I mentioned before that I eventually want to be able to change the timestamp for all linked+ timestamp locked layers. I think I can already do that with the current implementation by just adding a confirmation dialog.
No, I only allow editing tools to be enabled when the segmentation layer is current and a lock is applied to prevent a timestamp change while the editing is active. |
@jbms just bumping this in case you didn't see my last response |
Sorry for the delay in responding. If we view the timestamp as a dimension, then as I see it, the same mechanisms currently available for comparing at two different values of a given dimension could similarly be employed:
|
replaces #587
This is also designed to support our future cave annotation layers being able to synchronize/control with the segmentation timestamp.
Here is part of that implementation seung-lab@4d41b32