diff --git a/dhsi/SUMMARY.md b/dhsi/SUMMARY.md index f38424a4..9d52eb1d 100644 --- a/dhsi/SUMMARY.md +++ b/dhsi/SUMMARY.md @@ -2,13 +2,17 @@ 1. Introductions 1. Week Overview (Jeff) -2. What is IIIF and Why (Niqui) -3. The Image API (Jeff) - 1. Exercise +2. [What is IIIF (Niqui)](day-one/whatisiiif.md) +3. [Why use IIIF (Niqui)](day-one/whyiiif.md) +4. [The Image API (Jeff)](day-one/imageapi.md) + 1. [Exercise](day-one/exercise.md) ## Monday, Session 2: 1:00pm-2:15pm -4. Introduction to Image Hosting +4. [Introduction to Image Hosting](day-one/image-hosting.md) + 1. [IIIF workbench](day-one/workbench.md) + 2. [Level 0 Static](day-one/level-0-static.md) + 3. [Cantaloupe](day-one/cantaloupe.md) ## Tuesday, Session 3: 9:00am-10:15am** diff --git a/dhsi/day-one/cantaloupe.md b/dhsi/day-one/cantaloupe.md new file mode 100644 index 00000000..86ffbe01 --- /dev/null +++ b/dhsi/day-one/cantaloupe.md @@ -0,0 +1 @@ +needs content \ No newline at end of file diff --git a/dhsi/day-one/exercise.md b/dhsi/day-one/exercise.md new file mode 100644 index 00000000..86ffbe01 --- /dev/null +++ b/dhsi/day-one/exercise.md @@ -0,0 +1 @@ +needs content \ No newline at end of file diff --git a/dhsi/day-one/image-hosting.md b/dhsi/day-one/image-hosting.md new file mode 100644 index 00000000..2d4e094a --- /dev/null +++ b/dhsi/day-one/image-hosting.md @@ -0,0 +1,3 @@ +This section will go over some of the ways we can create and host images using IIIF image API standards. + +Please make sure you have a [GitHub account](https://github.com) created. \ No newline at end of file diff --git a/dhsi/day-one/imageapi.md b/dhsi/day-one/imageapi.md new file mode 100644 index 00000000..86ffbe01 --- /dev/null +++ b/dhsi/day-one/imageapi.md @@ -0,0 +1 @@ +needs content \ No newline at end of file diff --git a/dhsi/day-one/img/workbench-1.png b/dhsi/day-one/img/workbench-1.png new file mode 100644 index 00000000..4d22ecda Binary files /dev/null and b/dhsi/day-one/img/workbench-1.png differ diff --git a/dhsi/day-one/img/workbench-2.png b/dhsi/day-one/img/workbench-2.png new file mode 100644 index 00000000..566defc8 Binary files /dev/null and b/dhsi/day-one/img/workbench-2.png differ diff --git a/dhsi/day-one/img/workbench-3.png b/dhsi/day-one/img/workbench-3.png new file mode 100644 index 00000000..e831e2ec Binary files /dev/null and b/dhsi/day-one/img/workbench-3.png differ diff --git a/dhsi/day-one/img/workbench-4.png b/dhsi/day-one/img/workbench-4.png new file mode 100644 index 00000000..582eeef3 Binary files /dev/null and b/dhsi/day-one/img/workbench-4.png differ diff --git a/dhsi/day-one/img/workbench-5.png b/dhsi/day-one/img/workbench-5.png new file mode 100644 index 00000000..283e6670 Binary files /dev/null and b/dhsi/day-one/img/workbench-5.png differ diff --git a/dhsi/day-one/img/workbench-6.png b/dhsi/day-one/img/workbench-6.png new file mode 100644 index 00000000..b1cc8eb9 Binary files /dev/null and b/dhsi/day-one/img/workbench-6.png differ diff --git a/dhsi/day-one/img/workbench-7.png b/dhsi/day-one/img/workbench-7.png new file mode 100644 index 00000000..961cf4ac Binary files /dev/null and b/dhsi/day-one/img/workbench-7.png differ diff --git a/dhsi/day-one/level-0-static.md b/dhsi/day-one/level-0-static.md new file mode 100644 index 00000000..4d3bb136 --- /dev/null +++ b/dhsi/day-one/level-0-static.md @@ -0,0 +1,45 @@ +# Creating static tiled images + +There are a couple of command line libraries that will create static images. They are often listed with dynamic iiif servers or api libraries in the [Awesome IIIF readme] (https://github.com/IIIF/awesome-iiif?tab=readme-ov-file). + + +1. [iiif_s3](https://github.com/cmoa/iiif_s3) - Ruby library for generating a static IIIF level 0 Image and Presentation API server on Amazon S3. +2. [iiif](https://github.com/zimeon/iiif) - Python library providing a reference implementation of the Image API. Also includes a test server and static tile generator. +3. [iiif-tiler](https://github.com/glenrobson/iiif-tiler) - Java library for generating static IIIF tiles (compliant with the V2.1 and 3.0 of the IIIF Image API). +4. [iiif-static-choices](https://github.com/bodleian/iiif-static-choices) (not in readme). + + +# Automating the process +1. https://github.com/dnoneill/dhsi-iiif-2024/blob/main/day1/images_to_iiif.py + +The script above allows pdf, png, jpg, jp2, and tif files to be dumped into a folder, the script to be run and all files in the folder will be created into level 0 IIIF images. It uses the iiif library (#2) to create these tiled images. + +It also preserves the file structure of the files you have dumped. For example, if you have two folders (cat-photos and dog-photos) in images, the output directory will keep that folder structure. + +## Install and running steps +1. Clone repository locally. `git clone https://github.com/dnoneill/dhsi-iiif-2024.git` +2. Make sure python with pip is installed +3. Create virtual environment. `python3 -m venv [nameofenv]` +4. Activate virtual environment. `source [nameofenv]/bin/activate` +5. Install dependencies `pip3 install -r requirements.txt` +6. Dump files you want to convert into the `images` folder. +7. Move to the script directory `cd day1` +8. Run the script `python3 images_to_iiif.py` +9. View your images in the `iiif` folder + +## If the above doesn't work +1. Create fork of https://github.com/dnoneill/dhsi-iiif-2024 +2. Clone your fork locally: `git clone https://github.com/[yourusername]/dhsi-iiif-2024` +3. add your images to the `images` folder. +4. add your images to the repository `git add images` +5. create a commit message `git commit -m "add images"` +6. push to your repository `git push origin main` +7. Wait for the script to run, you can view the progress here: https://github.com/[yourusername]/dhsi-iiif-2024/actions +8. When it's green you should have files in the iiif folder. + + +# Thoughts? +- Look at the files we have created. What can you tell about them. How do you think these are used? +- Do they differ from the Workbench? +- What are some limitations of this method? +- What are some positivies? \ No newline at end of file diff --git a/dhsi/day-one/whatisiiif.md b/dhsi/day-one/whatisiiif.md index 62147e34..4fce8559 100644 --- a/dhsi/day-one/whatisiiif.md +++ b/dhsi/day-one/whatisiiif.md @@ -35,7 +35,7 @@ For a fuller list of institutions who advertise their IIIF resources please see ## Image* -First and foremost IIIF started with the problem of making large images available on the Web. This means allowing users to zoom into large images in way that is scaleable and allows quick zooming on large images. +First and foremost IIIF started with the problem of making large images available on the Web. This means allowing users to zoom into large images in way that is scaleable and allows quick zooming without visual lag on large images. One of the examples of this is with the Japanese Tax Map below. In the image Wayne Vanderkuil, the Stanford lead photographer is shown next to the map for a sense of scale. Wayne is 6' 4" (1.93m) tall. The map is so big that it had to be photographed in separate sections and stitched together using Photoshop. If you click on the image below you will be taken to the IIIF image which allows you to zoom around this massive map. @@ -68,7 +68,7 @@ First because IIIF provides a standard way of exposing images and metadata it is * [Annona](https://ncsu-libraries.github.io/annona/tools/#/display?url=https://damsssl.llgc.org.uk/iiif/2.0/4574752/manifest.json&viewtype=iiif-storyboard&settings=%7B%22fullpage%22%3Atrue%7D) * [Clover](https://samvera-labs.github.io/clover-iiif/docs/viewer/demo?iiif-content=https://damsssl.llgc.org.uk/iiif/2.0/4574752/manifest.json) -For instructions on how to take content from one viewer to another there is this [medium post](https://iiif-io.medium.com/how-to-use-iiif-resources-and-image-viewers-bd378a68b013). +For instructions on how to take content from one viewer to another there is this [medium post](https://iiif-io.medium.com/how-to-use-iiif-resources-and-image-viewers-bd378a68b013). We will also be covering this in the workshop. ### Interoperable Images diff --git a/dhsi/day-one/whyiiif.md b/dhsi/day-one/whyiiif.md new file mode 100644 index 00000000..93a73d51 --- /dev/null +++ b/dhsi/day-one/whyiiif.md @@ -0,0 +1,15 @@ +# Why use IIIF? + +## Interoperability +- Interoperability provides the ability to mix and match tools +- Allows developers to create open tools not wedded to closed standards +- Excel vs. CSV + +## Storage implications +- No longer have to create small, medium, large derivatives + +## High quality images +- Allows for zooming with high quality images without lag time + +## Reusable +- Format of IIIF apis allow easy sharing, embedding \ No newline at end of file diff --git a/dhsi/day-one/workbench.md b/dhsi/day-one/workbench.md new file mode 100644 index 00000000..7a43a03a --- /dev/null +++ b/dhsi/day-one/workbench.md @@ -0,0 +1,25 @@ +# IIIF training workbench +The IIIF training workbench that is often used in IIIF training workshops like this. It allows for creating IIIF views via a browser. We are going to be using it to create some IIIF images. + +1. Open https://workbench.gdmrdigital.com/login.xhtml +2. Click on the Login with GitHub button +![](img/workbench-1.png) +3. Click "Create project" button +![](img/workbench-2.png) +4. Name your project and click create +![](img/workbench-3.png) +5. Click on the upload button in the upper right hand corner. +![](img/workbench-4.png) +6. Click on browse and choose image from your computer. +7. Provide a name for the image and choose IIIF version +![](img/workbench-5.png) +8. Wait for the image to process +![](img/workbench-6.png) +9. Look at the links that are provided when the process is finished running. +![](img/workbench-7.png) + + +# Thoughts? +- What are some of the limitations of this approach? +- What are some of the positives of this approach? +- Any other thoughts? \ No newline at end of file