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

Manage groups of Annotations on multiple canvases in a Manifest #2203

Closed
robcast opened this issue Jan 27, 2023 · 6 comments
Closed

Manage groups of Annotations on multiple canvases in a Manifest #2203

robcast opened this issue Jan 27, 2023 · 6 comments

Comments

@robcast
Copy link

robcast commented Jan 27, 2023

There are many applications for specific use-cases which produce large amounts of annotations on multiple images. Examples are OCR/HTR or crowdsourcing of transcription of books producing transcribing annotations or AI/CV algorithms producing tagging or other kinds of annotations.

Users would like to manage these annotations as separate groups or layers identified by labels. Viewers would indicate the availability of annotation groups and offer to show or hide one or multiple groups or offer the use of colors to differentiate annotations from different groups.

Currently the IIIF Presentation spec offers the AnnotationCollection to "represent groupings of Annotation Pages that should be managed as a single whole, regardless of which Canvas or resource they target" which would fit the purpose of managing annotation groups.

But currently an AnnotationCollection is only allowed in the supplementary attribute of a Range (see also #2123). Using this mechanism would require to create a Range duplicating all Canvases for each annotation group which would not have any other function and using the supplementary attribute against the intention in the spec: "Clients might use this to present additional content to the user from a different Canvas when interacting with the Range, or to jump to the next part of the Range within the same Canvas."

Can we add an extension or change the Presentation spec to add annotation groups in the form of a list of AnnotationCollections at the Manifest level?

@robcast
Copy link
Author

robcast commented Jan 27, 2023

@robcast
Copy link
Author

robcast commented Jan 27, 2023

Additional use-case: I have a web-service that identifies illustrations in scans early-modern printed books and provides a classification and the coordinates of these illustrations on the page. The service takes a IIIF Manifest as an input and provides Web Annotations targeting the Canvases from the Manifest as an output. (https://cordeep.mpiwg-berlin.mpg.de/)

I want to save these Annotations in an AnnotationCollection and provide these in a viewer as an optional "layer" on top of the normal presentation of the Manifest.

The user should see that this layer is available, she should see some information about the layer, and she should be able to show or hide the layer. The Annotations in the layer should be differentiated from other Annotations by their color or other means.

@giacomomarchioro
Copy link

Additional use-case: I want to group specific areas of a painting e.g. multiple areas that are degraded or areas that have been treated with a certain procedure and I want to group the annotation accordingly.

@azaroth42
Copy link
Member

AnnotationPages embedded within a Manifest can be partOf an Annotation Collection. A viewer could use this partOf to get the reference to the containing Collection.

@azaroth42
Copy link
Member

No change needed to the specs, can use partOf to point to the AnnotationCollection. There's an entry in the cookbook list cookbook-recipes#309. Propose close.

@azaroth42
Copy link
Member

Editors agree invalid -- just use partOf per the spec. The annotation collection can't be embedded in the manifest, but it can be referenced from the manifest. No change needed. Closing.

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

No branches or pull requests

3 participants