Bug Fixes and Feature Additions to the NDL Classical Book OCR Tutorial Using Google Colab

Overview I have been creating a tutorial for the NDL “Classical Book” OCR application using Google Colab, as introduced in the following article. This time, the following updates were made. Added terms of use Fixed bugs Added support for IIIF Presentation API v3 manifest file input The updated notebook can be accessed at the same URL as before. https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/NDL古典籍OCRの実行例.ipynb Terms of Use Please use the notebook itself under CC0. However, the “NDL Classical Book OCR Application” is released by the National Diet Library under the CC BY 4.0 license, so please include the appropriate credit. Also, please check the terms of use for the materials to which OCR is applied. ...

April 12, 2023 · 1 min · Nakamura

Creating IIIF Presentation API v3 Manifest Files Using Omeka S

Overview I needed to create IIIF Presentation API v3 manifest files, so I will introduce how to create them using Omeka S. Installing Omeka S and the IIIF Server Module Please install by referring to the following resource. https://zenn.dev/nakamura196/books/f4f87f9730e12e Creating Items in Omeka S This time, we will use the following image published by the National Diet Library. https://dl.ndl.go.jp/api/iiif/2585098/R0000003/full/full/0/default.jpg Create a new item and give it an appropriate title. ...

April 12, 2023 · 2 min · Nakamura

I Created Digital Archive Tools Centered on IIIF

Overview I created digital archive tools centered on IIIF. You can try them at the following URL. https://nakamura196.github.io/viewer/ Currently, two features are provided: Image comparison using Mirador 3 Canvas number specification tool Image Comparison Using Mirador 3 https://nakamura196.github.io/viewer/input Specify the URLs of the manifest files or Canvas URIs you want to compare. Please try the examples provided. You can compare images as shown below. Canvas Number Specification Tool https://nakamura196.github.io/viewer/canvas ...

April 6, 2023 · 1 min · Nakamura

Changing Annotation Colors in IIIF Curation Viewer

Overview I received a request to change the colors of annotations added in IIIF Curation Viewer, so I will introduce one method for doing so. The types of annotation markers are documented at the following link: http://codh.rois.ac.jp/software/iiif-curation-viewer/annotation.html#マーカーの種類 While it is possible to manually or programmatically modify the JSON data, this time I will introduce a method using a GUI. Video I recorded a video of the workflow. Please use it as a reference. The example uses “Night Parade of One Hundred Demons” (held by the University of Tokyo General Library). ...

March 28, 2023 · 2 min · Nakamura

Creating IIIF Manifest Files Using a Headless CMS

Overview As a learning exercise for Headless CMS, I attempted to generate IIIF manifests from information registered in a CMS. Here are the results. (That said, the server-side processing details are not visible from the app below.) https://iiif-headless-cms.vercel.app/ This article serves as a memorandum of the above effort. Contentful https://www.contentful.com/ I created a Content model called iiif as shown below. For associating image data (url, width, height), both the “JSON object” and “Reference” fields seemed usable, but I chose “Reference” here and created a separate Content model called image to manage image data information. ...

February 3, 2023 · 5 min · Nakamura

Publishing Images Using IIIF Image API Level 0

Overview IIIF Image API level 0 delivers images using pre-generated static tile images. This enables image publishing using only static file hosting services such as GitHub Pages or Amazon S3. However, it has the drawback of not being able to extract arbitrary regions of images. This article introduces an example of publishing images using IIIF Image API level 0. Tool You can try it with the following notebook. https://colab.research.google.com/github/nakamura196/ndl_ocr/blob/main/IIIF_Image_API_静的ファイル作成ツール.ipynb ...

January 30, 2023 · 1 min · Nakamura

How to Use IIIF Presentation Validator in a Local Environment

Overview IIIF Presentation Validator is, as the name suggests, a tool for validating IIIF Presentation API manifests. https://presentation-validator.iiif.io/ The following article explains how to use it. This time, I needed to validate manifests in a local environment while creating IIIF Presentation API v3 compliant manifest files, as introduced in the following article. So I installed this tool locally, and here are my notes. Installation Method Instructions are available at the following link, but running Step one did not work. (There was also this Issue filed.) ...

January 25, 2023 · 4 min · Nakamura

Trying to Add Images and a IIIF Manifest to IPFS

Overview Referencing the following tweet, I tried adding images and a IIIF manifest to IPFS. https://twitter.com/edsilv/status/1400221815369355267 For adding to IPFS, I used Fleek, which is also mentioned in the above tweet. https://fleek.co/ The following site was helpful for learning how to use Fleek. https://i-407.com/blog/m10/ Source Code The source code is below. https://github.com/nakamura196/fleek_test Steps Uploading Images First, I uploaded the following image to the above repository. https://github.com/nakamura196/fleek_test/blob/main/kunshujo_400.jpg Following the reference site, I connected this repository to Fleek. As a result, it became accessible at the following URL. ...

January 16, 2023 · 7 min · Nakamura

Created a Custom OpenSeaDragon Viewer for Use in TEI Viewers

Overview I created a Custom OpenSeaDragon Viewer intended for use in TEI viewers. Background In developing a viewer that links TEI and IIIF as shown below, a viewer with the following capabilities was needed. https://www.hi.u-tokyo.ac.jp/collection/digitalgallery/wakozukan/tei/ Ability to load IIIF manifest files. Ability to track page navigation within the viewer component from outside the component. Ability to highlight partial regions of images. Since I could not find an existing IIIF-compatible viewer that met all of the above requirements, I attempted to develop a custom viewer. I also tried publishing it as an npm package. ...

December 26, 2022 · 2 min · Nakamura

Introducing an IIIF Viewer in Nuxt3 with SSR

Overview This is a memo on how to introduce an IIIF viewer in Nuxt3 with SSR. Canvas Panel This section covers the introduction of the following viewer. https://iiif-canvas-panel.netlify.app/ Installation n p m i @ d i g i r a t i / c a n v a s - p a n e l - w e b - c o m p o n e n t s Page Please refer to the following. ...

December 26, 2022 · 1 min · Nakamura

[Omeka S Module Introduction] IIIF Search Module

Overview IIIF Search is a module for Omeka S that adds the IIIF Content Search API for full-text search. This article introduces the usage of the following module, which includes modifications for handling Japanese text. https://github.com/nakamura196/Omeka-S-module-IiifSearch Installation Clone the source code from GitHub. Replace omeka-s as appropriate for your environment. c g d i t o m c e l k o a n - e s / h m t o t d p u s l : e / s / g i t h u b . c o m / n a k a m u r a 1 9 6 / O m e k a - S - m o d u l e - I i i f S e a r c h . g i t I i i f S e a r c h Note that when installing from GitHub, you need to rename the folder to the target module name as shown above. ...

November 24, 2022 · 6 min · Nakamura

Trying the IIIF Auth API

Overview The following repository is provided as an environment for trying the IIIF Auth API. https://github.com/digirati-co-uk/iiif-auth-server In this article, we will use the above repository to try the IIIF Auth API. Starting Up Preparation g c p s p p i d y o i i t t u p p i h r c i o c i i l i n e n n o f s s n - - v t t e a m e a a u n l l h t v v l l t h e / t - n b - p s v i - r s e n u : r v / p r / e a g e / e n c r q g r v t a u i i d i t v e r h a e u t p m b e i e . p n c t o s m . / t d x i t g i r a t i - c o - u k / i i i f - a u t h - s e r v e r If version conflicts occur during pip install -r requirements.txt, try removing the version information and running again, as shown below: ...

November 18, 2022 · 17 min · Nakamura

Introduction to "FairCopy": A TEI Text Creation Support Tool

Overview A research colleague introduced me to “FairCopy,” a TEI text creation support tool. This tool allows you to create TEI texts through a GUI, and I found it very useful. It is a paid tool, but you can try it for free for 2 weeks, so I am sharing my findings here. Installation By submitting your information through the Sign Up page below, a trial code and the application download link will be displayed. ...

November 11, 2022 · 16 min · Nakamura

Supporting Drag & Drop for IIIF Icons

Background IIIF (International Image Interoperability Framework) icons (specifically, IIIF manifest URLs) support loading via drag & drop in many IIIF-compatible viewers. However, I received feedback that the IIIF icons displayed by the following module did not support drag & drop. https://github.com/omeka-j/Omeka-S-module-IiifViewers I investigated the cause by referring to the following page, among others. https://zimeon.github.io/iiif-dragndrop/ As a result, I found that the following HTML markup is required. < a / < a h i > r m e g f = s " r d c e = f " a i u i l i t f _ - t d a r r a g g e n t d ? r m o a p n - i 1 f 0 e 0 s p t x = . m p a n n g i " f e a s l t t _ = U " R I I I & I c F a n D v r a a s g = - c n a - n d v r a o s p _ " U / R > I " > Not conforming to the above pattern was the cause of the drag & drop issue in the aforementioned module. ...

September 22, 2022 · 5 min · Nakamura

I Created an API That Returns a List of Items Containing a Specified IIIF Manifest in Cultural Japan

I created an API that returns a list of items containing a specified IIIF manifest in Cultural Japan. The API documentation is available at the following link. https://petstore.swagger.io/?url=https://api.cultural.jp/v3/api-docs Here is an example request. https://api.cultural.jp/v3/items/urls?manifest=https://iiif.harvardartmuseums.org/manifests/object/215190 For the API development, I used express-openapi and deployed it using AWS Lambda, referencing the following article. https://www.forcia.com/blog/002471.html I hope this serves as a useful reference for utilizing Cultural Japan.

September 20, 2022 · 1 min · Nakamura

Output Content of IIIF Manifests (Version 2) from the Omeka S IIIF Server

Overview IIIF Server is a module for delivering IIIF manifests from Omeka S. https://github.com/Daniel-KM/Omeka-S-module-IiifServer In this article, we examine the output content of these IIIF manifests (specifically, IIIF Presentation API version 2). Example The following is an example of a IIIF manifest for an item with ID test-111 on an Omeka S instance published at https://shared.ldas.jp/omeka-s. { } " " " " " } " " " } " } " ] " ] @ @ @ l t , l a r , s , m , s ] c i t a h i t e e e e " o d y b u c t l e t q m { } n " p e m " " " " " e r a " " A " " a { } { } u { e } t : e l b @ @ f w h n i t @ f l @ f d , e t " " e " " n i t o i e s b e i o s i o a n a l v x " : : a d y r d i e u d d r o d r t c d a a t h i " p m t g " t " " m " " m a " " " " e " " " " " a b l ] " t " " l : e a h h : i : : a : : a " l v l v s @ @ l v c t e u : t s S " " t " t o t t : a a a a " i t a i a a l e p c a : " : " : " " n { " " { " " b l b l : d y b e n " " " " s : m h : : h " h : h : [ e u e u " p e w v { } { : : : } h : M p { t " 2 t : t t l e l e [ : e l i a , t / a l t d " 0 2 t t " t " " " " " " " n s [ " " t / n e p c i 0 0 p " p t p a : : : : " : : g e T 2 p s i s t m , 0 s サ s e s p h D s " " " " } " " " ] " " " " } " " " ] i 枚 : h f I : y a : ン : x : p " " " " t " " i " @ @ l t , w h i @ @ l t , w h i , t 目 / a e t / p g / プ / t / l T S I t t s C r : i t a h i e m i t a h i e m l " / r s e / e e / ル / / / i i a d e p c u e d y b u d i a d y b u d i a e i e t m i s / s 機 s h s c t m e s s : r c [ " p e m " " " " " t g g { } " p e m " " " " " t g g { } " i d " " i : j h 関 h t h a l p n t : S r t : e l b @ @ f w h h h e : e l b @ @ f w h h h e , i . , , i I p a " a m a t e l t - / e e i " " n i t o i e " t s " " n i t o i e " t s f l f m e r , r l r i " e i 1 / q n o " : : a d y r d i : " " " : : a d y r d i : " " . d . a g e e " e o , f 1 s u t n h i " p m t g : : " " " " } " h i " p m t g : : " " " " } " i a d g " d d d n I i 1 h e " t " " l : e a h h 6 @ @ m r , o t " " l : e a h h 6 @ @ m r , o o s l e , . . . / t e " a n P : t s 1 " " t " t 4 4 [ i t o e n t s 2 " " t " t 4 4 [ i t o e n / . . " l l l l e r r c a p c " : " : " : " 0 8 d y t s " p c 枚 : " : " : " 0 8 d y t s " a j i , d d d d m " e e g " s : , h : : 1 1 " p i o " " " " " " } : s : 目 h : : 1 1 " p i o " " " " " " } : p p t a a a + " , d " e l : C { t " 2 , 0 : e v u @ @ f w h s : C " { t " 2 , 0 : e v u @ @ f w h s i c s s s j . , e / a t d " 0 2 , " a r i t o i e e " / a , t d " 0 2 , " a r i t o i e e " o . . . . s l O f / n p c i 0 0 " : t c d y r d i r h / n p c i 0 0 " : t c d y r d i r h p m u j j j o d r t s v s t m , 0 h i e " p m t g v " " " t s v s t m , 0 h i e " p m t g v " " " t r e - p p p n a d - h a : y a t " o " : e a h h i @ @ p t h a : y a t " o " : e a h h i @ @ p t e k t / / / " s e t a s / p g t o n : " t " t c c i r p a s / p g t o n : " t " t c c i r p s a o o o o . r o r " / e e p a " " : " : " e o d o s r " / e e p a " " : " : " e o d o s e - k m m m j " - e , i s / s : : { h : : " n " f : e , i s / s : : { h : : " n " f : n s y e e e p , r d i : j : A t " 6 : t : i / d i : j : A t " 6 : t : i / t / o k k k / i . i I p / n " t d " 4 4 e l / . i I p / n " t d " 4 4 e l / a i . a a a o g l f m e / n s p c i 0 8 { x " e s l f m e / n s p c i 0 8 { x " e s t i a - - - m h d . a g s o c s t m 1 1 t h " h d . a g s o c s t m 1 1 t h " h i i c s s s e t a d g " h t : : y a , 0 " t : a a d g " h t : : y a , 0 " t : a o f . / " / k " s l e , a a p / p g , : t r s l e , a a p / p g , : t r n j s , a a , . . " r t a / e e p " e . . " r t a / e e p " e t p / p - j i , e i i i s / " s h d j i , e i i i s / " s h d 2 e / t i s p t d o n i : j h : t . p t d o n i : j h : t . / s i e / / / c . n t i I p t / t l / c . n t i I p t / t l c t i s i i o . l " i f m e t / p d o . l " i f m e t / p d o - i t t i m u d , n . a g p i : a m u d , n . a g p i : a n 1 f / e i e - a g d g " : i / s e - a g d g " : i / s t 1 / p m f k t s " l e , / i / . k t s " l e , / i / . e 1 k a s / a o . , . " / f i j a o . , . " / f i j x / u g / t - k j i , i . i p - k j i , i . i p t m n e 1 e s y p t i d i / s y p t i d i / . a s / 2 s / o / c i l f o / o / c i l f o j n h r 7 t i . o . f . . m i . o . f . . m s i u e 0 - i a m u . i i e i a m u . i i e o f j u " 1 i c e - i t o k i c e - i t o k n e o s , 1 f . k t o c a f . k t o c a " s u e 1 / j a o / . a - / j a o / . a - , t / " / t p - k a u p s t p - k a u p s " A , s e / s y p - i / e / s y p - i / , 0 e s i / o i t i s i / o i t i 0 q t i i . / i i t i i . / i i _ u - i i a i k m i - i i a i k m i 6 e 1 f i c m y a f 1 f i c m y a f 0 n 1 / f . a o g / 1 / f . a o g / 1 c 1 k / j g . e t 1 k / j g . e t 0 e / u t p e a / e / u t p e a / e / / c n e / / c 2 s c n e / / c 2 s 0 n a s s i 2 . / t a s s i 2 . / t 0 o n h t i j l - n h t i j l - 1 r v u - i c p e 1 v u - i c p e 1 / m a j 1 f o / v 1 a j 1 f o / v 1 0 a s o 1 / n i e 1 s o 1 / n i e 1 0 l / u 1 k t i l / / u 1 k t i l / 1 " p / / u e i 1 c p / / u e i 1 c _ , 1 A a n x f . a 2 A a n x f . a 0 " 0 n s t j n " 0 n s t j n 0 , 0 n h . k s v , 0 n h . k s v 0 _ o u j u o a _ o u j u o a 1 6 t j s n n s 6 t j s n n s . 0 a o o s " / 0 a o o s " / t 1 t u n h p 1 t u n h p i 0 i / " u 1 0 i / " u 2 f / o A , j " / o A , j " / 0 n 0 o 0 n 0 o f 0 / 0 u 0 / 0 u u 1 p _ / 1 p _ / l / 0 6 A / 0 6 A l 0 0 0 0 0 0 0 0 / 0 0 1 0 0 0 1 0 ! 1 1 0 _ 1 2 0 _ 2 _ - / 6 _ - / 6 0 0 i 0 0 0 i 0 0 0 0 m 0 1 0 m 0 1 , 0 a 1 0 0 a 1 0 2 1 g / / 2 g / / 0 . e 0 0 . e 0 0 0 t " 0 0 t " 0 0 / i , 1 1 i , 1 1 0 f _ / f _ / / / 0 0 / 0 0 d f 0 0 f 0 0 e u 0 1 u 0 1 f l 1 _ l 2 _ a l . 0 l . 0 u / t 0 / t 0 l ! i 0 ! i 0 t 2 f 1 2 f 2 . 0 / . 0 / . j 0 f t 0 f t p , u i , u i g 2 l f 2 l f " 0 l " 0 l " , 0 / , 0 / , / f / f 0 u 0 u / l / l d l d l e / e / f 0 f 0 a / a / u d u d l e l e t f t f . a . a j u j u p l p l g t g t " . " . , j , j p p g g " " , , Below, I will explain each type. ...

September 1, 2022 · 23 min · Nakamura

Created an Image Comparison Tool Using Mirador 3

I created an image comparison tool using Mirador 3. The URL is as follows. https://ldas-jp.github.io/viewer/input/ The GitHub repository URL is as follows. https://github.com/ldas-jp/viewer Below is the input form. You specify the URLs of the IIIF manifest files and the Canvas URIs for the images you want to compare. You can check input examples by clicking the buttons under “Examples.” Clicking the “Open” button launches Mirador 3 as shown below. You can compare images based on the input information. ...

July 8, 2022 · 1 min · Nakamura

Bulk Registration of Annotations Using the IIIF Toolkit for Omeka Classic

Introduction This article is primarily a memorandum. There may be many unclear points, so please bear with me. In particular, I hope this serves as a useful reference for how to use the annotation endpoint used by the IIIF Toolkit, as introduced below. https://github.com/utlib/IiifItems/wiki/The-Mirador-Omeka-Annotator-Endpoint Overview The IIIF Toolkit plugin for Omeka Classic is a very useful tool that can load IIIF manifest files and add annotations to images. https://zenn.dev/nakamura196/books/2a0aa162dcd0eb/viewer/b37a8c This article covers how to bulk register annotations that were created independently of Omeka Classic into Omeka Classic. ...

July 8, 2022 · 2 min · Nakamura

How to Add the mirador-image-tools Plugin to Mirador 3 and Bundle It into a Single JS File for Distribution

Overview As the title suggests, this article describes how to add plugins such as mirador-image-tools to Mirador 3 and bundle them into a single JS file for distribution. Due to my limited knowledge of JavaScript, there may be some inaccuracies. I would appreciate it if you could point out any mistakes. Goal The goal is to create an application like the one at the following URL by writing an HTML file as shown below. It uses Mirador 3 with the mirador-image-tools plugin enabled. ...

June 8, 2022 · 5 min · Nakamura

I Created an IIIF Image API Tool Using Nuxt 3 and Vuetify 3

Overview I created an IIIF Image API tool using Nuxt 3 and Vuetify 3. The background for developing this tool was a need to work with the IIIF Image API, as well as the purpose of learning how to use Nuxt 3. The GitHub repository is as follows. I hope it serves as a useful reference. https://github.com/nakamura196/nuxt3-vuetify3 Usage You can access it from the following URL. https://nv3.netlify.app/ As shown below, pressing the “Example” button inputs a URL into the text form at the top of the screen, and the elements contained in that URL (such as “region” and “size”) are displayed at the bottom of the screen. ...

June 7, 2022 · 1 min · Nakamura