internetarchive / iaux

Monorepo for Archive.org UX development and prototyping.
GNU Affero General Public License v3.0
67 stars 86 forks source link

MultiMode Image Viewer #118

Open sarru1291 opened 5 years ago

sarru1291 commented 5 years ago

Is your feature request related to a problem? Please describe.

It is an additional feature to add to the Image theatre. It is basically a component for image viewer which provide an option to change the mode of the image available.

Describe the solution you'd like

There will be various option to choose the mode (e.g. RGB, bitmap, grayscale etc) to convert the image to type of the mode chosen.

Proposal & Constraints

Is there a precedent of this approach succeeding elsewhere? Just like the image filter available on the mobile phone to change the image completely.

Additional context

Add any other context or screenshots about the feature request here. I have made PR (#83 ) which is just a sample of the multimode image viewer.

Stakeholders

@iisa @pezvi

pezvi commented 5 years ago

Who do you consider to be the target audience for this? What would their typical use cases be?

sarru1291 commented 5 years ago

it would avail images in different mode to the users just like image filter.

mekarpeles commented 5 years ago

This is one of the original goals of the IIIF standard which Archive Labs has been experimentally providing as a service since 2015 -- see https://github.org/archivelab/iiif.archivelab.org repo and an example of how a patron experiences this: https://iiif.archivelab.org/iiif/TheGeometry.

The TL;DR is, IIIF is an image API standard which allows institutions to serve images as if they were google maps (image tiles loaded in increasing resolution as needed, and more). IIIF served images can be viewed using many compliant viewers like Mirador (https://github.com/ProjectMirador/mirador) or Openseadragon (https://openseadragon.github.io).

The quickest / lightest-weight win may be incorporating Openseadragon with our IIIF manifests

Any image (or book) on archive.org is viewable in IIIF format if you know the archive.org identifier: https://iiif.archivelab.org/:identifier. If the item is a book (multiple pages) or the item contains multiple images, the url can be extended to https://iiif.archivelab.org/:identifier$:page or https://iiif.archivelab.org/:identifier$:filename

For instance, the item LHMTvcartoonslogo has multiple images within it, one named amrdad.jpg which can be accessed as: https://iiif.archivelab.org/iiif/LHMTvcartoonslogo$amrdad.jpg

For a book like TheGeometry, you can open the whole book using https://iiif.archivelab.org/iiif/TheGeometry or a specific page using the page number: https://iiif.archivelab.org/iiif/TheGeometry$12. This will probably break if an item contains multiple books as a third piece of information (the unique book prefix) would be required and the API doesn't support this yet. See: https://github.com/ArchiveLabs/iiif.archivelab.org/issues/34

Thus, images (not books) are probably the best candidate for a demo of a theater designed to support and highlight zoomable images on archive.org.

To render an archive.org item using IIIF (in e.g. openseadragon) one needs to be able to load/register a IIIF manifest file as is done in this example: view-source:http://iiif.archivelab.org/iiif/TheGeometry$1. A manifest can be accessed for any item through the url pattern http://iiif.archivelab.org/iiif/TheGeometry$1/manifest.json -- i.e. adding /manifest.json to the url.

Tag me if you'd like additional documentation or if there are other questions