Question #1883
closedImage annotations
Description
In our meeting today Nicholas, from the "Approaching Byzantium" project, asked about image annotation. This isn't really my area so I assigned it to Andi who may knows more about it.
It's about storing additional information about e.g. a building on a painting and its location (on the image) and some notes.
1) Image annotation in the file (meta data)
As far as I know this is possible but I'm not sure which is a sensible approach or which application to use. Preferable the application would be open source which and easy to use.
2) Display on the presentation site
Depending on the approach, would it than be possible to display this information on the presentation site for "Approaching Byzantium" we will make later. E.g. marking an area on the shown image and maybe even make these areas clickable and linked to another entity?
Beside being the question if this would be general possible it would also be interesting how time consuming/feasible this would be to implement.
Feel free to assign this question to someone else (maybe Christoph?) in case you aren't that familiar with this topic too.
Updated by Andreas Olschnögger about 2 years ago
1) I don't know much about this area myself.
What I can think of in this regard is IIIF(https://iiif.io/).
IIIF are basically standards on how to make images available online. Here there are several tools that can be used.
Basically, you run an image server on which all the images are stored.
IIIF offers additional standards, if you want to link the images together. So you can create a so-called manifest that can contain several images. An example for a manifest could be a book that contains single photos (scans) of the pages.
Now there are also annotation tools with which you can leave annotations on the images, but also references to other objects.
As far as I have read, these annotations are run on a separate annotation server.
I have never taken a closer look and can't really say much about the different tools.
This page contains a workshop on IIIF that explains pretty well how it all works:
https://training.iiif.io/iiif-online-workshop/
This link lists several tools / software and tutorials for the different areas of IIIF:
https://github.com/IIIF/awesome-iiif#official-resources
2)
Regarding the implementation it depends of course on the concrete case, I haven't worked with annotations and images yet, but since IIIF provides a standardized api there are already frameworks that support the visualization of IIIF manifests (e.g. Mirador https://projectmirador.org/)
Updated by Alexander Watzinger about 2 years ago
- Assignee changed from Andreas Olschnögger to Christoph Hoffmann
Thank you Andi for your feedback. We thought about using IIIF quite some time but mostly because it helps with viewing of big images.
I'm not sure if this would help with annotating parts of an image too and was hoping for a solution that doesn't involve other services.
Anyway, assigning this to Christoph and kindly asking him for feedback about this.
Updated by Christoph Hoffmann about 2 years ago
- Assignee changed from Christoph Hoffmann to Andreas Olschnögger
Without knowing too much about the Subject, in my Oppinion there would be 3 things/functionalities to consider:
1. the annotation of the image (=> where the user draws a shape/point/... on the image and connects data to this)- where should this be done?
- if within the openatlas UI the existing leaflet setup would be an obvious point to start, basically drawing shapes on the map is nothing but annotating an image (just that the final reference frame is a coordinate system and the data format is geojson)
- alternately it can be done with various existing IIIF Viewers (ie Mirador )
- in the file - any information can be saved to an images XMP header, however this has many considerations such as image size/format, editing tool, sync to the OA-Database, ... - so I would not recommend it and I only know of scenarios where this is used in archiving procedures, but not for active ongoing editing
- the openatlas database - if annotations were created through the OpenAtlas UI using leaflet, it would be easiest to save the annotation data as a json object to the database
- in a separate json-file accompanying the image
- in what format
- to me the most obvious candidate would be the Web Annotation Model in conjunction with IIIF there's a nice example using leaflet here parsing resources in this model that look like this - it is limited to rectangular annotations, but maybe that would be enough? - found another example like this in the IIIF cookbook: https://iiif.io/api/cookbook/recipe/0021-tagging/
- the IIIF cookbook suggests an embedded svg overlay, wich would allow for more complex shapes, but I also thing this would be much more complex to implement
- either through leaflet (as in the example in 2. and as andi has already proven in the SHAHI frontend once
- or through a IIIF viewer wich should be easy to integrate in the vue frontend and would also work with the first example from 2
Updated by Alexander Watzinger about 2 years ago
- Related to Feature #1909: IIIF image API server added
Updated by Alexander Watzinger about 2 years ago
- Related to Feature #1910: IIIF: Image annotation added
Updated by Alexander Watzinger about 2 years ago
- Status changed from Assigned to Closed
- Assignee deleted (
Andreas Olschnögger)
After discussing it in our developer meeting yesterday we decided to invest some time to try to implement this. See related issues #1910 and #1909.
We will close this question but but keep it for reference. In case it goes as planned only thing left at the end is to learn how to annotate images, Christoph already suggested Mirador for it but we can take a closer look when we come that far.
Thank you again Nicholas for this very interesting and useful request. You are already added as watcher to the respective issues.