Building a Tool for Adding Polygon Annotations to IIIF Images

Overview I built a tool for adding polygon annotations to IIIF images. https://next-fb-anno.vercel.app/ This article explains this tool. Usage Below is the top page. Enter the URL of a IIIF manifest file. You can also try it using the “Use sample input” option. It uses “Hyakki Yako-zu” (Night Parade of One Hundred Demons) from the University of Tokyo General Library collection. The following annotation registration screen is displayed. ...

April 2, 2025 · 8 min · Nakamura

Omeka S Module Update Information (2025-03-27)

Overview This article introduces modules that required updates during the operation of Omeka S. IIIF Server https://omeka.org/s/modules/IiifServer/ I had been using version 3.6.18, released in February 2024, but a bug was found where thumbnail images were rendered incorrectly during IIIF manifest file generation. After updating to the latest version 3.6.24 as of March 2025, this bug was resolved. Note that this update also required updating the Common module, so I hope this information is helpful. ...

March 27, 2025 · 1 min · Nakamura

Mirador 4 Plugin Development: Enabling Initial Angle Settings in the Image Rotation Plugin

Overview I enabled initial angle settings in the Mirador 4 plugin for rotating images at arbitrary angles. The repository is here. https://github.com/nakamura196/mirador-rotation-plugin The demo page is here. You can rotate images with initial settings for angle and bounding box. https://nakamura196.github.io/mirador-rotation-plugin/ Background The following article explains this plugin. However, there was an issue where initial angle values could not be provided. As introduced in the following article, it appeared that Mirador 4’s standard functionality allows providing initial angle values. ...

March 26, 2025 · 13 min · Nakamura

Rotating Images and Specifying Regions on Initial Load in Mirador 4

Overview I introduce how to rotate images and specify regions on initial load in Mirador 4. Background As of March 2025, development of Mirador 4 is underway. The alpha version can be checked at the following link. https://github.com/ProjectMirador/mirador/releases This is probably a feature from Mirador 4, and the following FAQ describes the initial configuration method. https://github.com/ProjectMirador/mirador/wiki/Frequently-Asked-Questions#q-how-do-i-change-the-view-of-an-image-to-zoom-to-a-certain-area Specifically, as shown below, initial configuration was achieved by using initialViewerConfig. https://github.com/ProjectMirador/mirador/blob/main/__tests__/integration/mirador/mirador-configs/initial-viewer-config.js e } x ; p i w } o d i ] r : n c i } m , t d a n , a ' o n i t x y z n d m w v t h : : o i e i s a i u o f f r : s a m 9 7 y m e a a I l b 3 8 o : s u d [ d V n 4 2 u t l o { : i a , , 0 I t r e i n . d ' ' w l e 0 : { , h e N e 0 t r a d 0 ' t C v 7 h p o i t , t s n g o t : f a p / i t s s / g i p : i : o e / i n c / i { P i i f o f i . s y i h i f a t z . r i o h v o o a a n m r r : v d f a a ' o r r f r d t a a m r t r u - h t s b i m e o s u u t s m t t e s o o u . m m o ' l s r , o . g o o / k r m g a g / n o m i o a f d n e i s f t e s s / t o s b / j o e b c j t e / c 2 t 9 / 9 2 8 9 4 9 3 8 / 4 c 3 a ' n , v a s / c a n v a s - 4 7 1 7 4 8 9 2 ' , Application Building on the above, I tried the following initial configuration. ...

March 26, 2025 · 9 min · Nakamura

Using the Universal Viewer npm Package in Next.js

Overview Here are my notes on how to use the Universal Viewer npm package in Next.js. Installation Install with the following command. n p m i u n i v e r s a l v i e w e r Implementation Since it uses useEffect, it appeared necessary to implement it as a client component. Also, by adding the uv class to the div tag, the CSS was applied correctly. ...

March 23, 2025 · 5 min · Nakamura

Updates to the IIIF Georeference Extension Visualization Tool

Overview This is a memo about updates made to the IIIF georeference extension visualization tool. The tool is published at the following location. https://github.com/nakamura196/iiif_geo It provides a side-by-side display of modern maps and images, as shown below. Update Details Allmaps is a tool that supports data creation based on the IIIF georeference extension. https://allmaps.org/ Its usage is introduced in the following article. In this update, support was added to load data created by the above tool. ...

March 19, 2025 · 1 min · Nakamura

A Sample App Displaying Images with Mirador and Text with CETEIcean

Overview I created a sample app that loads TEI/XML files, displays images with Mirador, and displays text with CETEIcean. You can try it from the following URL. Demo Site https://nakamura196.github.io/ceteicean-mirador/ Background I have previously developed applications that provide similar functionality. Implementation example using Next.js Implementation example using XSLT This time, I introduce an approach using only HTML and plain JavaScript. Target Data The target is the following Koui Genji Monogatari Text DB. ...

March 14, 2025 · 7 min · Nakamura

Cases Where ImageMagick May Not Work Properly for Creating Pyramidal TIFFs?

Overview I investigated cases where ImageMagick does not work properly when creating pyramidal TIFFs for IIIF image delivery. References Conversion methods are explained on pages like the following. https://samvera.github.io/serverless-iiif/docs/source-images#creating-tiled-tiffs Using the VIPS command line # v # v i i F p F p & & o s o s & & r r t e v r a i a x i m f t p 3 f s r s t - s o a e c a u c t m h v r t i p a e c _ f _ n e b f i n s a s m e o i n a a l u m d v g r a e e s c g s . o e e o t v u _ u e r i w r m c m i c p e a t e _ g h _ i i e i m m . a m a a t n a g g i g e e f a e . l . v o p t u h i o t a f u p t u c t p t h e u _ a m t i n p _ m n _ i a e i m g l m a e a g . g e t e . i . t f v i f 0 - t - i - t l n i e l 3 e - \ p - y p r y a r m a i m d i d - c - o c m o p m r p e r s e s s i s o i n o n j p j e p g e g - t - i t l i e l - e w - i w d i t d h t h 2 5 2 6 5 6 - t - i t l i e l - e h - e h i e g i h g t h t 2 5 2 6 5 6 \ Using ImageMagick c o n - - - ' v d d c p e e e o t r f f m i t i i p f n n r : s e e e o o s u u t t s t r i i p c f f j u e f f p t _ : : e _ i t g g i m i e m a l n \ a g e e g e - r e . g a . t e t t i o e i f m - f e p ' - t y a r r l y a p = m h 2 i a 5 d 6 s o x = f 2 t f 5 r 6 u e Target Data The following image was used. ...

March 11, 2025 · 19 min · Nakamura

Serving IIIF Images Using mdx.jp Object Storage and IIP Image (IIIF Image Server)

Overview This is a note on my experiment with serving IIIF images using mdx.jp object storage and IIP Image (IIIF Image Server). This is a continuation of the following article. Docker Version of IIP Image A Docker image for the IIPImage server is available at the following link, so I will use that. https://hub.docker.com/r/iipsrv/iipsrv Refer to the following article and others for installing Docker. https://qiita.com/Marron-chan/items/570c7c7baaae3b4d6b11 Execution Following the previous article, mount the mdx.jp object storage as follows. ...

March 7, 2025 · 7 min · Nakamura

How to Mount mdx.jp Object Storage as a File System Using s3fs

Overview I had the opportunity to mount mdx.jp object storage as a file system using s3fs, so this is a memo of the process. 1. Prerequisites This guide targets Ubuntu. Installing s3fs s s u u d d o o a a p p t t u i p n d s a t t a e l l s 3 f s Setting up authentication credentials ...

March 6, 2025 · 2 min · Nakamura

Enabled Email-Based Registration in the Mirador 3 Firebase-Linked Annotations Plugin

Overview I have been developing a Firebase-linked annotations plugin for Mirador 3. Previously, only Google account login functionality was provided, but I have now added email-based login functionality. Feature Introduction Below is the screen after pressing the login button. With email-based login, new account creation is possible. After login, user information is now displayed. Clicking the icon displays a logout button. Summary I hope this serves as a helpful reference for creating and sharing annotations using IIIF. ...

February 21, 2025 · 1 min · Nakamura

Creating TEI/XML from VTT Files

Overview This is a memorandum on how to create TEI/XML files from VTT files. Additionally, I will make it possible to access VTT files and TEI/XML files from an IIIF manifest. As a result, as shown below, the TEI/XML file is associated via SeeAlso, and the contents of the VTT file can be accessed from the “Annotations” tab. https://clover-iiif-demo.vercel.app/?manifest=https://movie-tei-demo.vercel.app/data/sdcommons_npl-02FT0102974177/sdcommons_npl-02FT0102974177_vtt.json References I referenced the following efforts from “The Ethiopian Language Archive.” The TEI/XML structuring method was particularly helpful. ...

February 21, 2025 · 33 min · Nakamura

Using clover-iiif with Next.js

Overview I created a sample repository for using clover-iiif with Next.js, so here are my notes. https://clover-iiif-demo.vercel.app/ Background clover-iiif is described as follows. https://github.com/samvera-labs/clover-iiif Extensible IIIF front-end toolkit and Manifest viewer. Accessible. Composable. Open Source. We will use this with Next.js. Data “Koui Genji Monogatari (held by the National Diet Library)” is used as sample data. https://dl.ndl.go.jp/pid/3437686 Repository It is published at the following link. https://github.com/nakamura196/clover-iiif-demo I referenced the following. ...

February 17, 2025 · 4 min · Nakamura

Downloading Annotations Created with the mirador-annotations Plugin in Mirador 3

Overview This is a memo on the configuration for downloading annotations created with the mirador-annotations plugin in Mirador 3. https://mirador-annotations.vercel.app/ Background In the following article, I introduced how to register annotations with Google’s Firestore. To download the annotations registered there, the mirador-annotations plugin provides a download option, so I introduce that method here. Method The following is the source code of the demo page. By setting the exportLocalStorageAnnotations option to true, a download icon is displayed. ...

February 14, 2025 · 16 min · Nakamura

Developed a Firestore Adapter for the Mirador 3 mirador-annotations Plugin

Overview I developed a Firestore adapter for the Mirador 3 mirador-annotations plugin, so this is a personal note. You can try it at the following link. https://mirador-annotations.vercel.app/ Background The Mirador 3 mirador-annotations plugin stores annotations in local storage by default. However, as introduced in the following article, you can save annotations to a different location by changing the adapter. So this time, I developed an adapter to save annotations to Google’s Firestore. ...

February 14, 2025 · 1 min · Nakamura

A Program to Create TEI/XML Files with OCR Results from IIIF Manifest Files

Overview I created a program to generate TEI/XML files containing OCR results from IIIF manifest files. This article explains how to use it. How It Works By specifying the URL of an IIIF manifest file, it creates a TEI/XML file containing OCR results from NDL Kotenseki OCR-Lite. https://github.com/ndl-lab/ndlkotenocr-lite Usage Access the following notebook: https://colab.research.google.com/github/nakamura196/000_tools/blob/main/IIIFマニフェストファイルからTEI_XMLファイルを作成するプログラム.ipynb Then press the first play button. Once complete, update the manifest_url and output_dir values in the “Execute” section and run the cell. ...

January 30, 2025 · 10 min · Nakamura

CORS Configuration for Omeka S Image Server

Overview This is a note on handling CORS configuration for the Omeka S Image Server. Background In the following article, I introduced how to address CORS errors with the Omeka S IIIF Server module. While the above configuration resolved the issue of downloading IIIF manifest files, there were cases where images could not be downloaded, as shown below. A c c e s s t o i m a g e a t ' h t t p s : / / x x x / i i i f / 2 / 8 4 5 5 / f u l l / 8 6 , / 0 / d e f a u l t . j p g ' f r o m o r i g i n ' h t t p s : / / u v - v 4 . n e t l i f y . a p p ' h a s b e e n b l o c k e d b y C O R S p o l i c y : T h e ' A c c e s s - C o n t r o l - A l l o w - O r i g i n ' h e a d e r c o n t a i n s m u l t i p l e v a l u e s * , ' , b u t o n l y o n e i s a l l o w e d . This article describes how to address this issue. ...

January 27, 2025 · 3 min · Nakamura

Building a Digital Collection Using AppSheet

Overview I prototyped a digital collection using AppSheet, so this is a memo of the process. Target Data The same data as in the following article is used. Specifically, “Bird’s-eye View of the University of Tokyo Main Campus and Faculty of Agriculture Buildings” (held by the University of Tokyo Agricultural and Life Sciences Library) is used as sample data. https://iiif.dl.itc.u-tokyo.ac.jp/repo/s/agriculture/document/187cc82d-11e6-9912-9dd4-b4cca9b10970 Output It can be accessed from the following URL. ...

January 8, 2025 · 3 min · Nakamura

How to Upload Media to Omeka S Using Python

Overview This is a personal note on how to upload media to Omeka S using Python. Preparation Prepare environment variables. O O O M M M E E E K K K A A A _ _ _ S S S _ _ _ B K K A E E S Y Y E _ _ _ I C U D R R E E L N D = T E h I N t T T t Y I p = A s L : = / / d e v . o m e k a . o r g / o m e k a - s - s a n d b o x # E x a m p l e Initialize. ...

January 3, 2025 · 7 min · Nakamura

Trying aleph-r3f

Overview In the following article, I introduced the Aleph 3D viewer. After further research, I also discovered the following repository. https://github.com/aleph-viewer/aleph-r3f It is described as follows, with the difference being that it uses react-three-fiber and shadcn/ui. Aleph is a 3D object viewer and annotation/measurement tool built with react-three-fiber and shadcn/ui The annotation features also appear to have been improved as shown below. In this article as well, we use the 3D data of the “Ishibuchi Family Globe” published in the Kikuchi City Digital Archive. ...

December 29, 2024 · 13 min · Nakamura