iiif-prezi3を試す

概要 IIIF Presentation API 3が普及しつつありますが、その仕様を理解しつつ、JSONファイルを直接作成することが難しく感じるようになりました。 そこで、以下のPythonライブラリを使用してみましたので、備忘録です。 https://github.com/iiif-prezi/iiif-prezi3 以下の記事で紹介した東寺百合文書WEBで公開されているデータのIIIFへの変換にあたり、本ライブラリを使用しています。 読みにくいもので恐縮ですが、ソースコードも以下のリポジトリで公開していますので、参考になりましたら幸いです。 https://github.com/nakamura196/toji_iiif コレクションの作成 以下のようなコードにより、IIIFコレクションを作成できました。 i i c o o w m i o p s i p i l a . t o f l t m h r _ e i l v p ) h ) m ] r h a f t p c d a i r , o , e , i k o . r t = b e o m t g = e p w i e i f e w v e a h d e r i z o " l i i i l p i t l f l d i i t f i n i i i n { = n d d a a d y a o a a i i s " r ( t f 3 o " g e = b g = p b r n t i i = { s o e _ . = r 東 D r s e e s e e m g a f f s s ( p ( p c i 寺 i = e l = e = l a u = _ _ e e o a c r o i g 百 r i l = i l " = t a [ p p l l s t o e n i i 合 e i f s i f T s = g r r f f . h l z f i n 文 c i . e i . e e " e e e . . p , l i i f } 書 t f h l f h x l t = z z r d a e 3 g _ / " i _ o f _ o t f e " i i i o t " c . p s , o p m . p m " . x j 3 3 g c h w t c r e n r e a r e , a t a . . h s . " i o e t = e p t e p t / " K K t _ d ) o n z / " z a t z a t h e e s d i n f i 3 r i g r i g r t y y , i r a . i 3 i 3 e i 3 e i m V V r n s j g . c g . , b . , b l a a } a s s C o h P u H u " l l / m f o [ o l t r t o t , u u i e : n ' l l - o i m i e e i ( ( h l e t v o e o S S i o e e e c o i n p n t t f p n l c t - d , a , r r / a s p t i l e g i i s t u e i o e r e n n e h r r o n f I I g g t ) e s n . t t t ( ( / , _ . ( j " e e l l 3 a a s , m m a a / e s u o ( ( b b c x c t n e e o i i o " l l l s i _ , = = l t = f " " e _ F i A R c o a e t i t k l l t g i = s d r h o T e s i t n r , . b s . u A u " j e i u t , s ) n t i o d o o v n e L n a " n a " l t n , u = g e 2 ' v = ] a s i . l e f a u l u e f I t = . S o s r _ _ e i D l l g E a f h B n . t U g a s G t ) = t , e r l " i s j b e a u " t N i o o n n e ) ) , ) iiif_prezi3.config.configs['helpers.auto_fields.AutoLang'].auto_langにjaを与えることで、labelやmetadataの言語フィールドがjaになりました。 ...

2024年6月19日 · 8 分 · Nakamura

mirador-sync-windowsを試す

概要 mirador-sync-windowsは、以下のように説明されています。 https://github.com/UCLALibrary/mirador-sync-windows (機械翻訳)同じオブジェクトの異なるスペクトル画像など、ほぼ同一の画像を複数比較する際に、複数のウィンドウで同時にアクションを適用することが役立ちます。 使用イメージは以下です。 https://youtu.be/Ls2zvJpSRlc 注意点として、Mirador 2向けのプラグインとなっており、またリポジトリもアーカイブされています。 今回は、このmirador-sync-windowsを試すリポジトリを作成したので、紹介します。 リポジトリ https://github.com/nakamura196/mirador2-sync-windows/ 使い方 以下のように、manifestパラメータに、比較したいマニフェストファイルを;で区切って指定します。 https://nakamura196.github.io/mirador2-sync-windows/?manifest=https://nakamura196.github.io/mirador2-sync-windows/data/examples/org.json;https://nakamura196.github.io/mirador2-sync-windows/data/examples/inf.json GUIの使用方法については、上記の動画をご参照ください。 上記の例は、以下の「シェリー書簡の透過光画像を使ったIIIFアプリケーション」のデータを利用しています。 https://utda.github.io/shelley/ まとめ 今後、本機能をMirador 3のプラグインとして開発したいと思います。 また本モジュールはほぼ同一の画像を複数比較することを目的としていますが、対応点の計算などにより、ほぼ同一でない画像の比較も行えるような機能開発を行いたいと思います。 mirador-sync-windowsについて、参考になりましたら幸いです。

2024年6月19日 · 1 分 · Nakamura

東寺百合文書WEBのデータをIIIFに変換する

概要 京都府立京都学・歴彩館が所蔵している国宝・東寺百合文書を公開する東寺百合文書WEBで公開されている画像を利用させていただく機会があり、公開されているデータをIIIF形式に変換して公開するリポジトリを作成しました。 https://github.com/nakamura196/toji_iiif 以下のデータセットを使用させていただきました。 https://hyakugo.pref.kyoto.lg.jp/?page_id=1481 特に、以下のURLから、画像の一覧を確認することができます。 https://nakamura196.github.io/toji_iiif/ ポイント IIIFコレクション 以下のURLからIIIFコレクションにアクセスすることができます。これにより、機械的にアクセスすることができます。 https://nakamura196.github.io/toji_iiif/iiif/set/3/collection.json width, heightの情報 各アイテムには、以下のようなURLからアクセスできます。 https://nakamura196.github.io/toji_iiif/iiif/3/1/manifest.json 特に、各画像のサイズの情報は、冒頭のデータセットには含まれていないため、有用な情報になり得るかと思います。 まとめ 東寺百合文書WEBで公開されているデータを機械的に処理する際などの参考になりましたら幸いです。

2024年6月19日 · 1 分 · Nakamura

tropy-plugin-iiifを試す

概要 tropy-plugin-iiifを試す機会がありましたので、備忘録です。 https://github.com/tropy/tropy-plugin-iiif tropy-plugin-iiifは以下のように説明されています。 Tropy plugin to import IIIF manifests 準備 Tropyをインストールします。 https://tropy.org/ 次に、以下のリンク先から、最新のzipファイルをダウンロードします。 https://github.com/tropy/tropy-plugin-iiif/releases/latest 設定 > プラグイン で以下を開きます。 「プラグインをインストール」ボタンをクリックして、ダウンロードしたzipファイルを選択し、「有効にする」をクリックします。 これでインストールは完了です。 IIIFマニフェストのインポート ファイル > インポート から、tropy-plugin-iiifを選択します。 別途ダウンロードしたIIIFマニフェストファイル(jsonファイル)を選択します。 以下のように、IIIFマニフェストの情報をインポートできました。 ダウンロードされた画像は、プロジェクトごとに作成される.tropyフォルダのassetsに格納されていました。 参考:PDFエクスポート 以下のようなフォーマットのPDFが作成されました。 ページごとに、アイテムや画像のメタデータが表示され、使いやすいように思いました。 まとめ 今回はIIIFマニフェストのインポート機能について紹介しましたが、現在、IIIFコレクションでのエクスポートを行うプラグインが開発されているとのことでした。 https://iiif.io/event/2024/los-angeles/schedule/#107 Tropyを使用することで、今後データの作成と公開の両方を担うことができそうです。 参考になりましたら幸いです。

2024年6月6日 · 1 分 · Nakamura

@iiif/parserを試す

概要 @iiif/parserというnpmモジュールを知ったので、一部の機能を試してみました。 https://github.com/IIIF-Commons/parser 使い方 以下は一例です。v2のIIIFマニフェストを、v3に変換します。 " i i i i t e } u m m m m y x s p p p p p p c ) c c ) } c } r ) e o o o o e o o ; o o : ; o ; e ; r r r r r n " n n m t } } n e f t c t t t t M t s h s s a P r s v e u l a t t t t n r y c c c s c c s t e t r < < i { { { C n d t i o o o o e a o e n c n f / d / e o i e [ p [ f f m { n n n t t n t h t h o < < f i < d n u c B m f f u s d e e i s s s D c s D a . A ( r d B o v C i t s o u p e a r : a t s s t t t a h o a n p n m i < < d u r o v " e n t o s u l / t c t e t l t d r d v L T i t m c m > ; S v t n t l , / a h U < r m c a ( e a l e C c > a e i t v p r o v t > l p t e o e D t i , A r v e a o ( e . ( e v o l b x d y a l e n > o a o a r n n a s i n l o s n n c r e " S e n a e t = p l a q C n s n t t , t t f e i s d : i p i v o r r E u n v s l I " e u c u h s e e P s a u t f e C d o f e n o r r b t e s n u = e e i a t N n r L P n U . t o s > n e r v r o r m D r N h p r " = h r n y a t } e a a = c r d D n t s s t e ) r o i e t a t u l t { o e g p m s s b g t l l a v r = e t e r ( r t f M m m t " e u l d e e e P f e e e a i ] . t e i > J d t { " a a e l x r d = = = a r n l s n o i a r n = s M e F f = u n = F t l e { " " g o t , P y n = t ] t g { o a d a e l i " o " } r ( s m e m a a ; c M a n n M i t ( t f f r = e u t s t T r C u . = a w i a l c e ( e l = " ) b - P " i e s o s u n a = f n e h v ) s e " h m 8 a r o x e m e - u i i e i d i e ; t x u t = i " r e n t r p S t s f t a s f n n ( r t > t > s a 2 I P o t o e e w t e t g t u f l p " e c n r n a k S s f a s o : r l " s s > r t } p e e t y t t e i = t o l e : e S P " u n e o a t t ) f r R ) x v / t u r ; f t f t < . t = c c ; e e ; - a / U b e r r s s a e h r o t c a c l e r m o } o P t c < a ( e n c o c o u x l i d m m a r . M s m s v h n t l e a ( t a f r i j a y a p e v . = m e < t " r " s n p n n n o r o e F g " p . / a @ o . e g / i c i n t r r o a I l t B = i m / r > r f f s P t r p I e a u { i p ( ( e e ( e e r c i m - I . r t d i " a ) p s s . e o n E 4 F c g t a f f g o t t j s n g v " o e o t / l e { / D U s e v e M m t n a p o s i a r o n e m n o a / . > } a w / i t l n t r a t n n i v r b p i a ) ( a t n < S i i a s i a f > ; ) t i H u f i l e t r / ( ; i m f T b e f u r e s f n o a e M m s / e / - e b u n n s L i t m ) p r r d l 2 i t F t a } r e / 0 l ( f . o = U n e a p 4 ) m e " r { R i s c r 7 ; a s ) m h L f e t e 9 n t ; E a e n " " b i " l n s t ; ; - f , e d v t a d e m l 2 . t b s e e e ) j i b t r n S " s o 4 J r t u o n - s o > b n - 4 o r ) m " 2 e n ) : i " a ) ; t ; a ; } - o > 9 i 5 d b 8 = - > f 2 { 7 e 1 c 4 2 3 e 4 b / m a n i f e s t " まず、以下でインポートします。 ...

2024年6月5日 · 8 分 · Nakamura

Omeka Sで動画を公開する

概要 Omeka Sで動画を公開する方法について調べてみましたので、備忘録です。 標準機能 Omeka Sは標準で動画をサポートしています。 以下は標準の機能を使用した例です。 以下のmp4ファイルを使用させていただいています。 https://file-examples.com/storage/fe4e1227086659fa1a24064/2017/04/file_example_MP4_480_1_5MG.mp4 具体的には、以下のように<video>タグが使用されていました。 < d / i d v v i i < v v c d a i > l e d a o h e s r o s s e > = r f " c = m = " e " h d h t i t t a t p - p s r s : e : n d o e o m r m e e k f k a i a - l - d e d . " . a > a w w s s . . l l d d a a s s . . j j p p f f i i l l e e s s o o r r i i g g i i n n a a l l 5 5 0 0 6 6 0 0 f f 3 3 b b a a 2 2 5 5 3 3 7 7 6 6 7 7 6 6 7 7 4 4 6 6 a a 7 7 a a a a 6 6 9 9 c c 9 9 8 8 8 8 4 4 c c 6 6 4 4 d d a a a a c c 3 3 0 0 0 0 b b . . m m p p 4 4 " " > 5 c 0 o 6 n 0 t f r 3 o b l a s 2 = 5 " 3 " 7 > 6 7 6 7 4 6 a 7 a a 6 9 c 9 8 8 4 c 6 4 d a a c 3 0 0 b . m p 4 < / a > 同様に.movファイルをアップロードしたところ、ブラウザ依存かと思いますが、無事に再生されました。 ...

2024年6月4日 · 18 分 · Nakamura

IIIF Curation ListをTEIのfacsimile要素に変換する

概要 IIIF Curation ListをTEIのfacsimile要素に変換するライブラリを作成しました。 https://github.com/nakamura196/iiif-tei さらに、この変換を行うデモページを用意しました。 https://nakamura196.github.io/nuxt3-demo/iiif-tei-demo 使い方の動画は以下です。 https://youtu.be/Y5JlrJbtgz8 参考になりましたら幸いです。

2024年5月17日 · 1 分 · Nakamura

CMYKカラーの画像から色を反転させないconvertの方法

概要 例えばIIIFを用いた画像配信において、CMYKカラーの画像に対して、ImageMagickで以下のような変換処理を行うと、色が反転するケースがありました。 c o n v e r t s o u r c e _ i m a g e . t i f - a l p h a o f f - d e f i n e t i f f : t i l e - g e o m e t r y = 2 5 6 x 2 5 6 - c o m p r e s s j p e g ' p t i f : o u t p u t _ i m a g e . t i f ' 元画像 ...

2024年5月8日 · 2 分 · Nakamura

デジタルアーカイブ関連ツールの試作: 主にIIIFの利用支援

概要 「デジタルアーカイブ関連ツール」を作成しました。主にIIIF(International Image Interoperability Framework)の利用に関する支援機能を提供します。 https://nakamura196.github.io/viewer/ 機能1: Mirador 3 による画像比較 https://nakamura196.github.io/viewer/input 以下のように、比較したいマニフェストファイルのURLとカンバスのIDを指定します。 結果、以下のように画像を比較することができます。 機能2: コマ数の指定ツール ! IIIF Presentation APIのVersion 2にのみ対応しています。 https://nakamura196.github.io/viewer/canvas いくつかのIIIF対応のビューアでは、manifest引数にマニフェストファイルのURL、canvas引数にカンバスのIDを指定することで、表示するコマ数を指定することができます。 ただし、このカンバスのIDを知るにはマニフェストファイルの中身を確認する必要があり、面倒なことがあります。そこで本機能では、コマ数を指定することで、このカンバスIDを自動的に補完する機能を提供します。 コマ数を指定して「URLを生成」を押すと、カンバスIDが指定されたURLが表示されます。 すべてのビューアに対応していない点に注意が必要ですが、同様のことでお困りの方の参考になりましたら幸いです。 まとめ 参考になりましたら幸いです。

2024年5月2日 · 1 分 · Nakamura

Mirador 3でPresentation API v2のマニフェストが表示できない時の対処例

概要 以下のようなPresentation API v2のマニフェストファイルをMirador 3にロードした際、表示エラーが生じました。 https://gist.githubusercontent.com/nakamura196/42fb6bca6a9fa137234c334cb313fc58/raw/4188ebccb7406ff5132331a4fecc4ace8bdd7ebc/ng.json 以下、Mirador 3での表示です。 この原因と対処法について調べたので、共有します。 原因 以下のエラーメッセージが表示されていました。IIIF v2を入力しているにもかかわらず、v3と判断されているようでした。 E r r o r a a a a a a a a a a : t t t t t t t t t t A P A t t c i h i h F r r . . a n n u I o r p g n d ( d ( n I p a a e v e d e d c I e y r t a x e x e t F r . s L s . f . f i t m e a e j a j a o v y a b s s u s u n 3 V p ( e . : l : l . a P l j 6 t 8 t m l l r s 7 M 1 M a o u < o ( : : e : e p c e a p M 1 2 m 4 m T a . n e a 6 5 o 0 o o l t o r n 2 i i P i s n t i : z z r z : y y f 1 e e o e 1 m V e 2 . . p d 2 o a s j j s 6 u l t s s p : s u R : : ( r 2 > e e 1 1 O o 0 ) . s 2 2 p p t o 3 3 e e s u : : n r : r 2 2 S t 1 c 0 0 e y 2 e ) ) a 3 . d v : t r a 2 s a l 9 : g u ) 3 o e 5 n : V m 2 i u 8 e s ) w t e r h . a j v s e : 3 a 9 n : 1 a 2 r ) r a y a s t h e v a l u e f o r a g i v e n l a n g u a g e . これは、以下のように、canvasのlabelがオブジェクトの形で記述されている際に発生するようでした。 ...

2024年2月6日 · 4 分 · Nakamura

Omeka SのモジュールIIIF Viewersの更新

概要 IIIF ViewersはOmeka Sのモジュールの一つです。 https://github.com/omeka-j/Omeka-S-module-IiifViewers 最新版のリリースは以下です。 https://github.com/omeka-j/Omeka-S-module-IiifViewers/releases/latest 今回、いくつかの更新を行いましたので、備忘録です。 Universal Viewerのバージョン更新 Universal Viewerのバージョンをv4.0.25に更新しました。 合わせて、READEME.mdの以下の箇所に、Universal Viewerの更新方法を記載しました。 https://github.com/omeka-j/Omeka-S-module-IiifViewers?tab=readme-ov-file#compilation-of-universal-viewer これは、以下のモジュールの記載を参考にしています。 https://github.com/Daniel-KM/Omeka-S-module-UniversalViewer また、Miradorの更新方法も記載しましたが、既に最新版が導入されていたので、更新は行われていません。 バグ修正 以下に加えて、細かなバグを修正しました。 Module.php 以下のエラーが生じていました。 D e p r e c a t e d : C r e a t i o n o f d y n a m i c p r o p e r t y I i i f V i e w e r s \ M o d u l e : : $ d e p e n d e n c i e s i s d e p r e c a t e d i n v a r / w w w / h t m l / m o d u l e s / I i i f V i e w e r s / M o d u l e . p h p o n l i n e 1 4 7 以下のように修正しました。 ...

2024年2月5日 · 5 分 · Nakamura

Next.jsを用いたTEI/XMLファイルの簡易ビューアを作成しました

概要 TEI/XMLファイルの内容を表示する簡易なビューアを作成しました。 https://github.com/utda/tei-viewer 校異源氏物語のTEI/XMLを対象とした表示例は以下です。 https://utda.github.io/tei-viewer/?u=https://kouigenjimonogatari.github.io/tei/01.xml&v=true 使い方 最低限の機能として、IIIFマニフェストファイルが関連付けられている場合には、Miradorビューアが表示されるようにしました。関連付けの方法としては、以下のフォーマットをベースとしています。 https://github.com/TEI-EAJ/jp_guidelines/wiki/IIIF画像とのリンク またpbタグのn属性が与えられている場合は、ページ番号が表示される機能を提供します。さらに日本語への対応として、クエリパラメータにv=trueを与えた場合、縦書きテキストが表示されます。 https://github.com/utda/tei-viewer/blob/main/src/app/components/Ceteicean.tsx その他 フレームワークにはNext.js、TEI/XMLの表示スタイルにはCETEICeanを使用しました。 https://github.com/utda/tei-viewer/blob/main/src/app/CETEIcean.css そのほか、以下の記事を参考に、GitHubリポジトリとZenodoの連携を試行しています。 改善の余地があるかと思いますが、以下のコマンドを使って、新しいリリースを作成しています。 " r e l e a s e " : " n p m v e r s i o n p a t c h & & g i t p u s h o r i g i n - t a g s & & V E R S I O N = $ ( n o d e - p e \ " r e q u i r e ( ' . / p a c k a g e . j s o n ' ) . v e r s i o n \ " ) & & g h r e l e a s e c r e a t e \ " v $ V E R S I O N \ " - t i t l e \ " V e r s i o n $ V E R S I O N \ " " 今後 pbタグとMiradorビューアの画像表示が対応する機能を追加したいと思います。 ...

2024年2月5日 · 1 分 · Nakamura

Universal Viewerにおける画像のコマ指定方法の一例

近年、博物館や図書館、文書館などにおいて、画像共有のための国際的な枠組みであるInternational Image Interoperability Framework(IIIF)を用いた画像公開が一般的になりつつあります。 https://iiif.io/ このIIIF画像の公開にあたり、MiradorやUniversal Viewerなどのビューアが使用されます。 https://projectmirador.org/ https://universalviewer.io/ 特に後者のUniversal Viewerが採用されたデジタルアーカイブシステムにおいては、「#?cv={画像のコマのインデックス}」を与えることで、コマを指定したURLを取得できることが多いです。 注意点として、インデックスは0からスタートしますので、2コマ目を指定したい場合には1を指定します。 「京都大学貴重資料デジタルアーカイブ」の例は以下です。 https://rmda.kulib.kyoto-u.ac.jp/item/rb00000125#?cv=1 「同志社大学デジタルコレクション」の例は以下です。 https://dgcl.doshisha.ac.jp/digital/collections/MD00000380/#?cv=1 ビューアがカスタマイズされている場合など、上記のパラメータが使用できない場合もありますが、コマ数を指定した画像共有のためのURL取得にあたり、参考になりましたら幸いです。

2024年2月2日 · 1 分 · Nakamura

Docker版Cantaloupeを使用して、S3バケットにアクセスしSSL通信を行う方法

概要 Docker版のCantaloupeの使い方を以下で紹介しました。 このDocker版Cantaloupeを(大規模ではない)production環境で使用するには、Amazon S3との接続や、SSL対応が求められます。その方法を一例を紹介します。 Amazon S3との接続 公式では以下で紹介されています。 https://cantaloupe-project.github.io/manual/5.0/sources.html#S3Source 日本語の記事として以下があります。 また、今回扱うDocker版では、以下に記載がありました。 https://github.com/Islandora-Devops/isle-buildkit/blob/main/cantaloupe/README.md#settings そこで、S3と最低限の接続を行うためのリポジトリを作成しました。 https://github.com/nakamura196/docker_cantaloupe_s3 .env.exampleを.envにリネームまたはコピーして、必要な値を入力します。 SSL対応 以下の記事を参考にしました。EC2上にDockerをインストールし、nginx-proxyとnginx-proxy-lets-encryptを利用してSSL化を行いました。 https://qiita.com/atsuya/items/7cb6e0ccee63d751d41f v # s n e e o e r p r n l l c h v d t d s r v g e u e t h h w e i o i i i c p l r t i c d - - - m r m o p o f e o x c n m o o o a e s m o e o e t l s a r a x n y e x a n r - - l - - - b - s e a n p " l c v h s s : t r k u t n : s - g t t u e t n g t e n u e h t v : : : a s l e a : p e a s " " m h d v c / l " a c e a n g m r o m a m : t r m ' r : i : 8 4 e t h h e s s c r r : i d i e t s l r : : n e 3 o n 0 4 s m p o r a r : o t y n s n s s t : a : ' x j e : 3 : l a s t r m : p j e _ x : : : r l y w r 8 : : r t s / / . t r r o - / u u : c : i _ 0 4 / a : : r d g a : c _ n p e e s n o l n " 4 u m / / u o i l s n : r t t r m d a 3 s : e e n c t w / a o c c d m e m " r t t / k h a l m x / s o o r e e c c d e u y e e y n n h c n / : s t / / o r b s t : " g g a k _ n h c n n c / . s i i r e l g n a / g g k n j e n n n e r i i g r n i i e g r n g x x . n n i e g n n r i c c i / n s k x n / i x x . n s r n c v g o - x n n / s x . y x e h i c p - g x c o - l p - r o n k r p i / h e c p e t p t s x : o r n d o r k r t - r s t / x o x h s t : s n o : . h v y x / p t s x e g x r d t a y h a . : t y n i y w m r t r d r m - c n - l / m a o p w r x l r l m / i y - e u d t p p t n o h t r s / c - _ o - d k e n x e o e n g y n c r c i - c k . r n c r e s y x o y r o p _ m p . c t p p t s k / r a o : l o n c r o x i k o g y o : : _ n r / c o v o a m r p / a l n o i g o / n n . g n i g n i x n x _ p r o x y " s n e e r c t d v a w e i n i e r o f e c t m n e r a x e a a v C C C C C C C C V L L s k u t n s l g i A A A A A A A A I E E t s l e a : o e r N N N N N N N N R T T a : t r m u : o T T T T T T T T T S S r : n e p n A A A A A A A A U E E t a : e i m L L L L L L L L A N N : l : s e O O O O O O O O L C C : c l n U U U U U U U U _ R R a o a t P P P P P P P P H Y Y l m n : E E E E E E E E O P P w m d _ _ _ _ _ _ _ _ S T T a o o E E S S S S S S T _ _ y n r N N O 3 3 3 3 3 : H E s _ a D D U S S S S S O M l / P P R O O O O O < S A i c O O C U U U U U カ T I n a I I E R R R R R ス : L k n N N _ C C C C C タ : t T T S E E E E E ム < a _ _ T _ _ _ _ _ ド カ < l A A A A S R B L メ ス メ o D D T C E E A O イ タ ー u M M I C C G S O ン ム ル p I I C E R I I K > ド ア e N N : S E O C U メ ド : _ _ S T N L P イ レ 2 E S S _ _ : O _ ン ス . N E 3 K K O S > > 0 A C S E E $ K T . B R o Y Y { U R 1 L E u _ : C P A 0 E T r I A S T D : c D $ N T E : e : { T R G m C A A Y f y $ A L T : a _ { N O E l a C T U G B s d A A P Y a e m N L E _ s i T O _ B i n A U S U c _ L P 3 C L p O E S K o a U _ O E o s P S U T k s E 3 R _ u _ S C N p S O E A S 3 U _ M t S R R E r O C E : a U E G t R _ I $ e C S O { g E E N C y _ C } A A R N # C E T C T A O E _ L r S K O S E U a _ Y P n K } E o E _ t Y S h _ 3 e I S r D O } U s R t C r E a _ t B e A g S y I C i L f O O n K e U e P d S e T d R A T E G Y _ B U C K E T _ N A M E } まとめ IIIF画像サーバの小中規模の利用にあたっては、上記のような形が比較的容易な導入方法の一つに当たるかと思います。 ...

2024年1月27日 · 7 分 · Nakamura

Docker版のCantaloupeを試す

概要 TEI PublisherのDocker版を試していたところ、docker版のcantaloupeが使用されていたので、それを単体で使用できるリポジトリを作成しました。 https://github.com/nakamura196/docker_cantaloupe 使用方法は上記リポジトリのREADMEに記載しております。 以下のDocker imageを使用しています。 https://hub.docker.com/r/islandora/cantaloupe 参考:Cantaloupeで配信可能な画像 以下のページで説明されています。 https://cantaloupe-project.github.io/manual/5.0/images.html 高解像度の画像については、JPEG2000またはTIFFのPyramidal Tiledが推奨されています。 一方、解像度が比較的小さい画像の場合は、JPEGやPNGファイルをそのまま配信できるようでした。 http://localhost:8182/iiif/2/baby_role_towel_utsubuse.png/200,200,200,200/full/0/default.jpg (いらすやの画像を使用しています。) iiifというフォルダに画像を格納するだけで、IIIF Image APIの挙動を確認することができます。 まとめ CantaloupeやIIIF Image APIの挙動の確認にあたり、参考になりましたら幸いです。

2024年1月25日 · 1 分 · Nakamura

Allmapsを使ってジオリファレンスを行う

概要 今回は、Allmapsを使ったジオリファレンスを試します。 https://allmaps.org/ Allmapsは以下のように説明されています。 Allmaps makes it easier and more inspiring to curate, georeference and explore collections of digitized maps. (機械翻訳) Allmaps を使用すると、デジタル化された地図のコレクションを整理、地理参照、探索することがより簡単かつ刺激的になります。 今回は、「東京大学農学生命科学図書館」が所蔵する「東京帝國大學本部構内及農學部建物鳥瞰圖」を使用します。 https://da.dl.itc.u-tokyo.ac.jp/portal/assets/187cc82d-11e6-9912-9dd4-b4cca9b10970 以下のような成果物を作成します。 https://viewer.allmaps.org/?url=https%3A%2F%2Fannotations.allmaps.org%2Fimages%2F2e1d3f991aad6cb4 https://www.youtube.com/watch?v=G0CcXfqo6rs 方法 以下にアクセスします。 https://editor.allmaps.org/#/ 今回は、2枚目の画像を使用するので、以下のURLをフォームに入力します。 https://iiif.dl.itc.u-tokyo.ac.jp/iiif/agriculture_re/nou_tatemonochokanzu/0002.tif 以下のようなページで、「Georeference」ボタンを押します。 以下のように、画像と地図が並列に表示されるページに遷移します。画像と地図で対応する箇所をポイントしていきます。 その後、「Results」ボタンを押して、以下の「View current image」リンクをクリックします。 結果、以下のようなビューアのページに遷移します。 作成されるデータ Editor画面で、作成されるJSONデータをコピー、またはダウンロードすることができます。以下のようなJSONデータが作成されました。 { } " " ] " ] t @ , i y c " t { } p o h e e n t m " " " ] " " } " } " t t s i t @ , m t , b : e p " d y c " " " o a " " " ] " } o " " " } " ] x : : " p o h h h t r t s s , s d t p t , f " t / : e n t t t i g y o e { } e " " y y u r " " e { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } { } A " / [ " t t t t v e p u r l t v " p r a t o a , , , , , , , , , , , , , , , , , , , , , , , , , , n : w " : e p p p a t e r v " " e y a : e p n y r t " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } " " } " } n w 7 x : : : t " " c i @ t c p l " o s p d u t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g t p , g o [ w 5 " t / i : : e c i y t e u { : s f e e r y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] y r " ] e " " ] t . 9 A " / o " e d p o " e e o " r e p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c p o p o t c a w 1 n : w g i n { " : " " e r : " " " r : " s e p i 6 7 m y o 1 3 e p i 8 9 m y o 1 3 e p i 1 8 m y o 1 3 e p i 1 9 m y o 1 3 e p i 7 8 m y o 1 3 e p i 1 5 m y o 1 3 e p i 9 5 m y o 1 3 e p i 3 1 m y o 1 3 e p i 8 9 m y o 1 3 e p i 1 7 m y o 1 3 e p i 8 9 m y o 1 3 e p i 1 9 m y o 1 3 e p i 2 8 m y o 1 3 e p i 1 8 m y o 1 3 e p i 5 1 m y o 1 3 e p i 1 6 m y o 1 3 e p i 1 1 m y o 1 3 e p i 4 9 m y o 1 3 e p i 8 1 m y o 1 3 e p i 4 1 m y o 1 3 e p i 6 1 m y o 1 3 e p i 8 8 m y o 1 3 e p i 7 1 m y o 1 3 e p i 6 8 m y o 1 3 e p i 7 7 m y o 1 3 e p i 1 1 m y o 1 3 e p i 1 1 m y o 1 3 t 3 2 n w e i " I : : " " : F : m : " " e x 6 5 e p o 3 5 " e x 8 1 e p o 3 5 " e x 1 6 e p o 3 5 " e x 2 4 e p o 3 5 " e x 5 3 e p o 3 5 " e x 0 9 e p o 3 5 " e x 3 6 e p o 3 5 " e x 8 0 e p o 3 5 " e x 0 8 e p o 3 5 " e x 0 8 e p o 3 5 " e x 8 8 e p o 3 5 " e x 4 7 e p o 3 5 " e x 3 5 e p o 3 5 " e x 0 7 e p o 3 5 " e x 5 0 e p o 3 5 " e x 3 6 e p o 3 5 " e x 0 0 e p o 3 5 " e x 4 1 e p o 3 5 " e x 8 0 e p o 3 5 " e x 6 0 e p o 3 5 " e x 7 0 e p o 3 5 " e x 5 1 e p o 3 5 " e x 9 0 e p o 3 5 " e x 4 3 e p o 3 5 " e x 5 4 e p o 3 5 " e x 0 0 e p o 3 5 " e x 2 0 e p o 3 5 i . f o [ w o i : m " : : " e a " : : r e 9 1 t e r 9 . : r e 4 8 t e r 9 . : r e 6 2 t e r 9 . : r e 7 7 t e r 9 . : r e 4 6 t e r 9 . : r e 6 8 t e r 9 . : r e 0 5 t e r 9 . : r e 2 2 t e r 9 . : r e 4 5 t e r 9 . : r e 5 6 t e r 9 . : r e 9 3 t e r 9 . : r e 6 0 t e r 9 . : r e 5 0 t e r 9 . : r e 0 1 t e r 9 . : r e 9 6 t e r 9 . : r e 0 4 t e r 9 . : r e 6 4 t e r 9 . : r e 3 8 t e r 9 . : r e 4 4 t e r 9 . : r e 6 2 t e r 9 . : r e 6 0 t e r 9 . : r e 8 3 t e r 9 . : r e 6 4 t e r 9 . : r e 6 1 t e r 9 . : r e 6 7 t e r 9 . : r e 1 0 t e r 9 . : r e 6 1 t e r 9 . o o 7 t . j f a h [ " S " a " t p 0 t l 0 7 r " d . 7 t l 6 1 r " d . 7 t l 2 4 r " d . 7 t l 6 6 r " d . 7 t l 0 5 r " d . 7 t l 8 3 r " d . 7 t l 4 9 r " d . 7 t l 6 1 r " d . 7 t l 4 9 r " d . 7 t l 1 2 r " d . 7 t l 2 1 r " d . 7 t l 6 8 r " d . 7 t l 4 6 r " d . 7 t l 5 3 r " d . 7 t l 4 7 r " d . 7 t l 2 7 r " d . 7 t l 8 4 r " d . 7 t l 8 1 r " d . 7 t l 0 9 r " d . 7 t l 7 0 r " d . 7 t l 2 6 r " d . 7 t l 7 5 r " d . 7 t l 7 6 r " d . 7 t l 6 3 r " d . 7 t l 9 1 r " d . 7 t l 1 9 r " d . 7 t l 0 6 r " d . 7 n r 2 a w s . " g t h " { v < t g i o [ " i C , y : i 7 1 " i C , y : i 7 1 " i C 6 y : i 7 1 " i C 1 y : i 7 0 " i C , y : i 7 1 " i C 1 y : i 7 1 " i C , y : i 7 1 " i C , 9 y : i 7 1 " i C , y : i 7 1 " i C 7 y : i 7 1 " i C , y : i 7 1 " i C 7 y : i 7 0 " i C , y : i 7 1 " i C 4 y : i 7 1 " i C , 8 y : i 7 1 " i C 8 y : i 7 1 " i C 5 4 y : i 7 1 " i C , y : i 7 1 " i C , 1 y : i 7 1 " i C , 2 y : i 7 1 " i C , 0 y : i 7 1 " i C , y : i 7 1 " i C , 5 y : i 7 1 " i C , y : i 7 1 " i C , y : i 7 1 " i C 1 9 y : i 7 1 " i C 6 2 y : i 7 0 P g 1 t 3 o i g e t t I g s u c o l F e o " n 6 5 F e o " n 6 2 F e o , " n 6 0 F e o , " n 6 9 F e o " n 6 4 F e o , " n 6 2 F e o " n 6 3 F e o " n 5 6 F e o " n 6 3 F e o , " n 6 2 F e o " n 6 2 F e o , " n 6 8 F e o " n 6 8 F e o , " n 6 2 F e o " n 5 5 F e o , " n 6 0 F e o , " n 6 1 F e o " n 6 6 F e o " n 6 2 F e o " n 5 5 F e o " n 6 4 F e o " n 6 3 F e o " n 6 3 F e o " n 6 5 F e o " n 6 4 F e o , " n 6 1 F e o , " n 6 9 a / 4 i . n o e " p t m S v r p n y e s o : " a 2 1 e s o : " a 1 9 e s o : " a 2 9 e s o : " a 1 7 e s o : " a 1 3 e s o : " a 4 3 e s o : " a 4 5 e s o : " a 9 6 e s o : " a 0 4 e s o : " a 2 1 e s o : " a 0 6 e s o : " a 2 1 e s o : " a 0 4 e s o : " a 2 2 e s o : " a 9 1 e s o : " a 4 2 e s o : " a 0 1 e s o : " a 0 5 e s o : " a 0 6 e s o : " a 9 9 e s o : " a 0 4 e s o : " a 2 4 e s o : " a 0 3 e s o : " a 1 0 e s o : " a 2 3 e s o : " a 0 6 e s o : " a 1 6 g n 3 o o . o , s p a e g e - " n a " r P t 3 2 a " r P t 2 3 a " r P t 2 0 a " r P t 8 4 a " r P t 8 2 a " r P t 3 1 a " r P t 5 6 a " r P t 4 7 a " r P t 6 2 a " r P t 7 1 a " r P t 7 8 a " r P t 0 7 a " r P t 8 8 a " r P t 0 0 a " r P t 3 5 a " r P t 2 5 a " r P t 5 4 a " r P t 6 0 a " r P t 2 0 a " r P t 5 4 a " r P t 0 1 a " r P t 2 3 a " r P t 0 1 a " r P t 6 9 a " r P t 5 7 a " r P t 7 2 a " r P t 1 1 e s 2 n r a r : s g l C g : o t : d { o e 1 3 t : d { o e 6 2 t : d { o e 9 3 t : d { o e 8 9 t : d { o e 3 4 t : d { o e 7 1 t : d { o e 6 8 t : d { o e 1 5 t : d { o e 2 0 t : d { o e 1 8 t : d { o e 9 7 t : d { o e 2 0 t : d { o e 6 3 t : d { o e 0 8 t : d { o e 0 8 t : d { o e 3 0 t : d { o e 7 2 t : d { o e 5 9 t : d { o e 4 2 t : d { o e 7 5 t : d { o e 4 0 t : d { o e 9 8 t : d { o e 6 2 t : d { o e 3 3 t : d { o e 2 1 t : d { o e 8 8 t : d { o e 8 2 " / 4 " g r p e / : e e w o e m u s i s 8 3 u s i s 4 1 u s i s 4 7 u s i s 1 2 u s i s 4 4 u s i s 2 8 u s i s 5 9 u s i s 5 3 u s i s , 3 u s i s 0 3 u s i s 0 3 u s i s 3 4 u s i s 7 3 u s i s 3 9 u s i s 4 5 u s i s 2 9 u s i s 2 8 u s i s 6 5 u s i s 4 4 u s i s 6 7 u s i s 0 6 u s i s 9 1 u s i s 0 9 u s i s 4 7 u s i s 6 3 u s i s 3 7 u s i s 2 8 , a e , / g i f / / S c i l o { i r { " n " 2 r { " n " 9 r { " n " 9 r { " n " 6 r { " n " 3 r { " n " , r { " n " 2 r { " n " 8 r { " n " r { " n " 8 r { " n " 1 r { " n " 4 r { " n " 8 r { " n " 4 r { " n " 1 r { " n " 7 r { " n " 5 r { " n " 5 r { " n " 7 r { " n " , r { " n " 1 r { " n " , r { " n " 1 r { " n " 6 r { " n " 3 r { " n " 5 r { " n " 5 n a n / / e i / e t d l r a e : t : , e : t : , e : t : , e : t : , e : t : , e : t : e : t : , e : t : , e : t : e : t : , e : t : , e : t : , e : t : , e : t : , e : t : , e : t : , e : t : , e : t : , e : t : , e : t : e : t : , e : t : e : t : , e : t : , e : t : , e : t : , e : t : , n 9 s g p r i i r o t e e l " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " " o " / e r e i i v r h c f " , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ , [ . , a o e n f i i " = t e , j n j s c . f c , \ i r s n s e i d . e " o e o o o n n l d 2 1 n n n . n t g . l " 8 " c l j - a " i . 4 , i d s l t , t i 1 n " o d i c t 5 g n / o . c \ " l g n u . " , d e - u " 3 t - h , j / o t e s c k o i o o y k g n n o y h - t . o t c e a . = o x c a \ n t . c " t . j . 1 e j p j 2 x s / p 9 t o i / 1 . n i i 1 j " i i \ s f i " o / f > n 2 / < l / 2 p d a / o " g a l , r g y i r g c i o u c n l u t l p u t o r u i e r n _ e t r _ s e r = % e \ 2 % " F 2 0 n F , o n 0 u o _ u 0 t _ , a t 1 t a 2 e t 9 m e 1 o m 1 n o o n 1 c o 8 h c 4 o h 1 k o 5 a k , n a 1 z n 2 u z 9 % u 1 2 % 1 F 2 0 F 1 0 0 8 0 0 4 2 0 1 . 2 5 t . , i t 0 f i \ / f " f " u , l l / / f s u v l g l > / " 0 / d e f a u l t . j p g " , まとめ IIIF対応画像に対するジオリファレンスを行うにあたり、参考になりましたら幸いです。 ...

2023年12月7日 · 21 分 · Nakamura

Universal Viewer v4を使ったページの作成例

概要 以下のように、ページ全体にUniversal Viewerが表示されるページを作成しましたので、その備忘録です。Universal Viewer v4を使用しています。 https://nuxt3-demo-nine.vercel.app/uv/?manifest=https://dl.ndl.go.jp/api/iiif/3437686/manifest.json ソースコード 以下のソースコードを参考にしてください。 https://github.com/nakamura196/nuxt3-demo/blob/main/public/uv/index.html 以下のページにある https://github.com/UniversalViewer/universalviewer/wiki/UV-Examples 以下のサンプルを参考に、ページのリサイズに応じて、ビューアのサイズも変更されるようにしています。 https://codesandbox.io/s/uv-url-adapter-example-9d6x8 また、manifestというクエリパラメータを受け取る記述も含めています。 参考 以下を参考に、cdnを利用しない形でのNuxt3への導入を試みましたが、うまく動作させることができませんでした。こちらについては、引き続き調査を行いたいと思います。 https://codesandbox.io/s/uv-vite-example-9ie3rh まとめ 以下のページで、v3を用いた全画面表示の例が公開されていますが、本記事執筆時点では、v4の例が見当たりませんでした。 https://universalviewer.io/examples/uv/uv.html#?manifest=https://dl.ndl.go.jp/api/iiif/3437686/manifest.json 参考になりましたら幸いです。

2023年11月24日 · 1 分 · Nakamura

Cantaloupe: サービスとして実行する

概要 Cantaloupe Image Serverは以下のコマンドで実行できます。 j a v a - D c a n t a l o u p e . c o n f i g = c a n t a l o u p e . p r o p e r t i e s - X m x 2 g - j a r c a n t a l o u p e - 5 . 0 . 5 . j a r しかしこの方法では、ssh接続が切れた場合など、Cantaloupeサーバが止まってしまいます。 ...

2023年11月16日 · 5 分 · Nakamura

Cantaloupe: Amazon S3に格納した画像を配信する

概要 IIIFイメージサーバの一つであるCantaloupe Image Serverについて、Amazon S3に格納した画像を配信する方法の備忘録です。 なお、Amazon S3に格納した画像を配信する別の方法として、以下の記事で紹介した方法もありますので、参考になりましたら幸いです。(記事執筆時点からツールが更新されているようで、記事通りに進められないかもしれません。) 設定 以下に公式マニュアルが公開されています。 https://cantaloupe-project.github.io/manual/5.0/sources.html#S3Source 以下のファイルを編集します。 /cantaloupe-5.0.5/cantaloupe.properties まず、source.staticをS3Sourceに変更しました。 # # # # # # s # # o # S # U ` s u # O # s H o r # U # e t u c # R # s t r e # C # p c . # E # o S e s # S # n o . t # # e u s a # # r t t # # s c a i # # o e t c # # u ` i # # r , c = # # c # # e ` = S # # J 3 # # f d F S # # o b i o # # r c l u # # S e r # # a o s c # # l u y e # # l r s # # c t # # r e e # # e ` m # # q , S # # u o # # e ` u # # s S r # # t 3 c # # s S e # # . o # # u # # A r # # v c # # a e # # i ` # # l , # # a # # b a # # l n # # e d # # # # v ` # # a A # # l z # # u u # # e r # # s e # # S # # a t # # r o # # e r # # a # # ` g # # F e # # i S # # l o # # e u # # s r # # y c # # s e # # t ` # # e . # # m # # S # # o # # u # # r # # c # # e # # ` , 次に、S3Source.access_key_id、S3Source.secret_key、S3Source.BasicLookupStrategy.bucket.nameを設定します。 ...

2023年11月16日 · 6 分 · Nakamura

フリーハンドのアノテーションを矩形に変換するPythonライブラリを作成しました。

フリーハンドのアノテーションを矩形に変換するPythonライブラリを作成しました。 以下のようなフリーハンドで作成したアノテーションを入力として、 以下のような矩形のアノテーションに変換します。 『田中芳男・博物学コレクション』(東京大学総合図書館所蔵)を使用しています。 具体的な使用方法は、以下のノートブックをご確認ください。 https://github.com/nakamura196/000_tools/blob/main/フリーハンドのアノテーションを矩形に変換する.ipynb IIIFのアノテーションの活用にあたり、参考になりましたら幸いです。

2023年11月2日 · 1 分 · Nakamura