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

Proposal: Add UUID field to multiscale objects #115

Draft
wants to merge 10 commits into
base: main
Choose a base branch
from

Conversation

joshmoore
Copy link
Member

In order to uniquely identify the images that are being generated,
this change proposes that a UUID should be included with each multiscale.
The UUID can either be generated at creation or perhaps copied from
an existing array if all meta(data) is identical (e.g. a rechunking).

In order to uniquely identify the images that are being generated,
this change proposes that a UUID should be included with each multiscale.
The UUID can either be generated at creation or perhaps copied from
an existing array if all meta(data) is identical (e.g. a rechunking).
@joshmoore joshmoore added this to the 0.5 milestone Apr 21, 2022
@joshmoore
Copy link
Member Author

latest/index.bs Outdated Show resolved Hide resolved
@will-moore
Copy link
Member

"In order to uniquely identify the images that are being generated" from the PR - It may be obvious, but maybe that (or something similar) should be included in the spec.
How is this likely to happen? Not via any JSON schema id or ref, but simply by some user's code or unstructured csv/file/DB/notes ?

@joshmoore
Copy link
Member Author

Pushed.

How is this likely to happen? Not via any JSON schema id or ref, but simply by some user's code or unstructured csv/file/DB/notes ?

How do you mean, @will-moore?

@will-moore
Copy link
Member

Where will I use the UUID?
E.g. In a description of another NGFF Image This image was processed from Image "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6" or in a JSON collection: [{"id": "urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6"}, ...] or is it just not known just now, but it seems like it could be useful in the future?

@sbesson
Copy link
Member

sbesson commented May 13, 2022

On the feature itself, I am also in favor or introducing some semantics allowing to identify of these objects. I can imagine several use cases as these objects are made available on object stored and potentially replicated in many places to allow some form of integrity check.

A secondary proposal included this PR is the refactoring the definition of the multiscales dictionary to use a bullet-point list with clear MAY/SHOULD/MUST mapping - see http://api.csswg.org/bikeshed/?url=https://raw.githubusercontent.com/joshmoore/ngff/uuid/latest/index.bs#multiscale-md.
The current plate specification uses an vairant with a list of definitions e.g. as in https://ngff.openmicroscopy.org/latest/#plate-md. However, this currently lacks a clear expression requirement level and I have on my todo to review this paragraph.
I do not have a strong preference on one style vs the other (bullet point vs definition list) but I think it would make sense to unify. Adding a bit to the complexity, some of the keys include are themselves dictionaries and the specification needs to define sub-keys. I assume the advantage of the current proposal is that this would be simply represented as indented bullet points

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

Successfully merging this pull request may close these issues.

4 participants