ngff icon indicating copy to clipboard operation
ngff copied to clipboard

Proposal: Add UUID field to multiscale objects

Open joshmoore opened this issue 2 years ago • 5 comments

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 avatar Apr 21 '22 09:04 joshmoore

To view: http://api.csswg.org/bikeshed/?url=https://raw.githubusercontent.com/joshmoore/ngff/uuid/latest/index.bs

joshmoore avatar May 11 '22 11:05 joshmoore

"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 ?

will-moore avatar May 11 '22 14:05 will-moore

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?

joshmoore avatar May 13 '22 06:05 joshmoore

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?

will-moore avatar May 13 '22 08:05 will-moore

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

sbesson avatar May 13 '22 11:05 sbesson