IIIF画像に対する多角形アノテーション支援ツールの改修
概要
IIIF画像に対する多角形アノテーション支援ツール「IIIF Annotator」の改修を行いました。具体的には、以下の2点に取り組みました。
- Image Server未使用のマニフェストファイルへの対応
- アノテーション付きIIIFマニフェストファイルのエクスポート機能
- TEI/XMLファイルのエクスポート機能
以下、これらの改修について説明します。
背景
以下の記事で、アノテーション付与ツールを新規に作成した理由等を説明しました。
今回追加した機能は他のツールでも提供されている機能群になりますが、利便性向上のため追加実装しました。
Image Server未使用のマニフェストファイルへの対応
以下の記事で紹介しているように、IIIFマニフェストファイルにおいて、Image API(Image Server)を使用しないオプションを取ることができます。デメリットもありますが、Cantaloupe Image Serverなどのソフトウェアを導入せずに使用できる点に利点があります。
IIIF Annotatorについて、これまではImage Serverの使用を前提として実装していましたが、今回の改修により、Image Server未使用のマニフェストファイルも読み込めるようにしました。
具体的には以下のように、service
の有無に応じて、OpenSeadragonに渡すtileSources
を調整しました。
const tileSources = canvases
.map((canvas: Canvas) => {
const annotationPage = canvas.items?.[0];
const annotation = annotationPage?.items?.[0];
if (!annotation) return null;
const body = annotation.body as {
id: string;
service?: { "@id": string }[];
};
if (body.service && body.service.length > 0) {
return body.service[0]["@id"] + "/info.json";
} else {
return {
type: "image",
url: body.id,
};
}
})
.filter(
(tileSource: string | { type: string; url: string } | null) =>
tileSource !== null
);
エクスポート機能
アノテーション付きIIIFマニフェストファイル、およびTEI/XMLファイルとしてエクスポートする機能を追加しました。エクスポートボタンを押すと、以下のような選択肢が表示されます。
アノテーション付きIIIFマニフェストファイルの用途としては、ダウンロードしたファイルをMirador等に読み込ませることで、アノテーション結果を確認することができます。
またTEI/XMLファイルについては、Oxygen XML Editorの作者モード等を使って、アノテーション結果を確認することができます。
まとめ
IIIFのアノテーション結果の活用にあたり、参考になりましたら幸いです。
Discussion