TEIへの取り組み方

 TEIに取り組むには、一人で取り組むか、プロジェクトとして複数人で取り組むか、という二つのやり方があります。一人で取り組む場合には、とにかく自分で頑張ってみればいいのですが、プロジェクトとして複数人で取り組む場合には、まず、役割分担をする必要があります。「TEIで用意されているタグ(エレメント・アトリビュート)のうち、どれをどう使うか」ということを決めるという役割と、それに従ってマークアップをしていく役割をわけておかねばなりません。これは文化資料に関わる他の規格の多くも同様かもしれないと思いますが、用意されているルールセットをすべてきちんと提供しようとしたら、いくら時間があっても足りません。特にTEIの場合、個々の単語の品詞や原形の情報やら画像の該当箇所とのリンク、校訂情報、来歴情報を含む詳細な書誌情報等々、500を超えるタグが用意されていますので、用途とかけられる時間等に応じて利用するタグを取捨選択する必要があります。

 TEIでは、用途にあわせたタグのモジュール化が行われており、言語学、辞書、書誌学、校訂テクストなど、必要に応じてタグをまとめて取捨選択できるようになっています。また、簡易なタグセットとしてTEI Liteというものも用意されています。さらに、マークアップの深さをレベルとして設定して、かけられるコストに応じてレベルを選択するという考え方を採る Best Practices for TEI in Libraries というサブセットも用意されています。たとえば、一番浅いレベル1では、本文の箇所は単にOCRの結果のテキストデータと画像ファイルをリンクしているだけです。特に図書館でTEIを採用する場合には適しているものだろうと思います。

 ということで、まず、プロジェクトの誰かが「どのタグをどのように使うか」ということを決めなければなりません。これを決める際には、TEIのタグの階層関係にも配慮しながら検討しなければなりません。ここで有益なのが oXygen XML Editor です。これは残念ながら商用ソフトなのですが、TEIのスキーマが最初からインストールされていて、TEIを扱うには大変便利です。30日間のトライアルでフル機能を試せますので、TEIに取り組んでみようと思ったら、まずは使ってみていただきたいところです。oXygen は、TEIの進展にあわせて発展してきたようなソフトウェアであり、画像とテキストをTEIのルールでリンクさせる記述をするためのプラグインも提供されているというなかなかの優れものです。このoXygenでタグの階層関係を確認しながら「どのタグをどのように使うか」を決めていくのが比較的やりやすいものと思われます。それが決まれば、他の人は、それにしたがってマークアップをしていくことになります。もちろん、プロジェクトの皆で民主的にルールを決めていくことも有益です。ただ、その場合、皆でTEIについてそれなりに深く学びながら進めて行かねばならないので、意義は深いですが、コスト的にはちょっと検討が必要かと思います。

 さて、ここでは、「どのタグをどのように使うか」ということを考える立場からTEIについて見ていきたいと思います。

 まず、そのテキストデータはどういう人たちによって使われるのか、どれくらい安定したものを提供する必要があるのか、ということを検討する必要があります。もし、用途をまったく限定せずになるべく誰にでも使えるようにすることをひたすら追究するのであれば、ごく簡素なマークアップのみでもよいでしょう。この場合、たとえば以下のような感じでもよいかもしれません。

 

<TEI xmlns="http://www.tei-c.org/ns/1.0">
  <teiHeader>
      <fileDesc>
         <titleStmt>
            <title>タイトル</title>
         </titleStmt>
         <publicationStmt>
            <p>出版に関する情報</p>
         </publicationStmt>
         <sourceDesc>
            <p>元資料に関する情報</p>
         </sourceDesc>
      </fileDesc>
  </teiHeader>
  <text>
      <body>
         <p>ここに本文</p>
      </body>
  </text>
</TEI>

 

書誌情報に関しては、<fileDesc>~</fileDesc>のところに色々と書いていくことになりますが、既存データがあって、かつ量が多ければ自動変換でやってしまった方がよいでしょう。あとは、本文ですが、単純に、<p>~</p>で段落を記述していくだけでもよいのです。

 

ただ、これだけだとどうも物足りない、あるいは、プロジェクトの目的からするとこれだけでは十分でない、という場合には、用途に応じて様々なタグが用意されています。次回以降は、それらについて少しずつご紹介していきたいと思います。

 

「デジタルアーカイブ」で全文テキストデータをうまく継承していくには

 デジタルアーカイブ学会が設立されて第一回の学術大会が開催され、ジャパンサーチ(仮称)がその姿をみせつつあるなど、デジタルアーカイブが再び脚光を浴びつつあります。しかしながら、我が国ではデジタルアーカイブは以前にもブームになったことがあります。そのときに作ったものはどこに行ってしまったのか、ということも議論されるべきだろうとは思いますが、とりあえず、まず考えるべきことは、これから作ろうとするものが、今度こそはどこかに行ってしまわずに、きちんと、できる限り継承されていくことだろうと思います。そこを踏まえた上で、過去を振り返ることも余裕があればやってみるとよいだろうと思っております。やや狭い範囲ですが、私もかつて過去のデジタルアーカイブの営みについての調査をしたことがありました。

 

 さて、「デジタルアーカイブをできる限り継承する」ことについての一般的な話については、この間、依頼をいただいたので原稿を書いたところです。これは、9月に京都で開催されるデジタルアーカイブサミットで配布されると同時にネットでも公開されるそうですので、そちらをご覧ください。要するに、できる限り継承するためにはなるべく標準的な規格にあわせてデータを作る必要があり、再配布可能なライセンスで公開することとあわせれば、何らかの形で維持していけるだろう、ということを書いております。ただ、そのなかでは、個々の標準的な規格については特に深く言及してはいません。そこで、特に日本語での解説が手薄な、TEI (Text Encoding Initiative) に関する話を、このブログにて数回にわけてご紹介していきたいと思います。

 

 TEI (Text Encodnig Initiative) という呼称は割と広く使われていますが、正確に言えば、TEI協会がTEIガイドラインを作成して、テキストデータの共有に関して共有すべき事柄を提示する、という形になっています。そのいずれもがTEIと呼ばれることがあります。

 TEIは、1987年から欧米で作られてきているテキストデータを効率的効果的に共有するためのガイドラインです。主に、人文学者と情報工学者、図書館情報学者、専門司書といった人々が集まって作っている規格であり、人文学での活用を特に念頭に置いています。いわゆるコミュニティ駆動型の規格になっており、技術の発展とコミュニティの拡大にあわせて、適用範囲を広げてきています。たとえば数年前は、書簡のメタデータに関する議論が流行し、分科会もなかなか盛り上がっていました。TEI自体がどれくらい貢献しているのかはわかりませんが、ゴッホをはじめ、著名人の書簡のやりとりのヴィジュアライゼーションがみられるようになるなど、欧州の書簡のデータもかなり蓄積されつつあるようです。たとえば、アイルランドで書簡のクラウドソーシング翻刻を進めているLetters of 1916プロジェクトでは、クラウドソーシングサイトでTEIを簡単に使えるようにしているようです。

 

 基本的に、TEIは、テキストデータをマークアップする(画像とのリンクも含む)ものであり、現在は主にXMLが用いられています。マークアップと言っても、ただマークアップするだけでは共有がうまくできませんので、マークアップのタグ(エレメント)の種類や属性を定義するとともに、それらがどういう関係において利用できるか、ということも決めています。決められた内容は、スキーマDTD、RelaxNG等で記述される)として配布されていますので、これをXMLエディターに読み込ませれば、入力者はいちいち定義ファイルを見なくてもマークアップの作業がある程度はできるようになります。

 

 ちょっと技術的な込み入った話に入ってしまいましたが、少し戻りますと、全文テキストデータというものがあったとして、それをデジタルアーカイブに載せて公開しようと思ったなら、ベタなプレーンテキストだけを公開する、ということはあまりないと思います。画像とリンクさせたり、注釈をつけてみたり、登場する人名をクリックしてその人についての説明が表示されるようにしてみたり、イニシャルや別名だったとしても、対応する人物の説明がきちんと表示されるようにしてみたり、地名をクリックすると地図が表示されたり…。

 あるいは、書誌情報をなるべく詳しく書きたい、目録情報の記述そのものはいじらずに、しかし検索しやすくしたい(過去記事を参照)、といったニーズもあるでしょう。

 今時は、自動処理的な感じでなんとかならないか、と、つい考えてしまいがちですが、自動処理ではそういった情報の扱いはそれほど正確ではなく、ある程度信頼性のある情報提供をしようとした場合、人が見て手で直すという作業が入ってしまいがちです。さて、ここで問題にしたいのは、この、人が見て手で直したデータなのです。

 

 人が見て手で直したデータ、それは何らかのフォーマットで作られ、公開用システムに読み込ませて、Webブラウザなどに表示されることになります。公開時点では、頑張って作って、見えるようになってよかったよかった、ということになるのですが、この公開用システムは、やがて必ず更新の時期を迎えます。ここで、新しいシステムが今までのシステムと十分に互換性がない場合、データを作り直さなければ同じサービスは提供できない、ということになります。この点は、前回のデジタルアーカイブのブームから続けてらっしゃる方々はよくご存じかと思いますが、システム更新がうまくいかずに消えてしまったサービスは少なくないようです。

 

 更新のたびにデータをほぼ一から作り直すか、そうでなければサービスを停止するか、ということになってしまっては、デジタルアーカイブのコストは高止まりのままです。その仕事の専門性が高ければ高いほど、コストが高くなるだけでなく、貴重な専門家の仕事も消失することになってしまいます。その社会的コストは目立たないかもしれませんが多大なものがあります。しかも、より重要なのは、同じような仕事、つまり、人名を対応づけたり地図の絵を差し挟んだりするようなものを紙の書籍などで作った場合、とりあえず国立国会図書館に納本しておけばずっと残るはずなのです。

 

 そこで出てくるのがTEIの役割なのですが、こういう場合に、まずTEIに準拠する形でテキストデータ+注釈等を作ってから、それを公開システムにあわせて変換する、という風にすると、公開用システムが変わったとしても、改めて新しいシステム用にデータを変換して提供すればよい、ということになります。また、この方法ですと、その時々の公開用システムの制約に引きずられることなく、必要な情報を一通り記述しておくことができますので、もし新しいシステムがよりリッチな表現に対応できるようになった場合には、それにあわせて変換することで、よりリッチなサービスをそれほど手間をかけることなく提供できるようになります。

 特に昨今は、このブログでもご紹介してきているように、IIIFで文化資料の画像を公開することが広まってきていますが、そうすると、これまでTEIに準拠しつつ画像とも関連付けられながら(TEIには画像内のテキストの位置情報を記述するルールがあります)作られてきたテキストデータがIIIFとリンクして公開されるようになってきています。特に今注目に値するのは、スコラ哲学のテキストデータベースでしょう。サイトのフッタにIIIFとTEIのアイコンが掲載されていることからも双方が活用されていることがみてとれますね。

 

 TEIには他にも色々なメリットがありますが、筆者としては、特にこの点、つまり、注釈等も含めたテキストデータをきちんと継承していけるという点に大きなメリットを感じています。MSワードでもできるのでは、とか、Epubはどうか、といった話もあろうかと思いますが、TEIの場合、特に、人文学、つまり、文化資料を研究対象として精密に扱おうとするためのルールが様々に用意されていますので、研究者にとって利便性が高く、また、デジタルアーカイブでは、研究者がよりきちんと活用できる形で文化資料を提供することが、デジタルアーカイブの世界を豊かにしていくと思っておりますので、そのような観点から、TEIはとても有益だと思っております。

 

 ということで、また、次の機会に、具体的なTEIの内容についてご紹介したいと思います。

 

二つの百鬼夜行絵巻をIIIF - Miradorで並べてみてみましょう。

前回と前々回の記事の続きです。

 

百鬼夜行絵巻のつながり方についての議論を少し前に山田奨治先生からおうかがいしたこともあり、国デコ国立国会図書館デジタルコレクション)に百鬼夜行絵巻が二つ入っていることは以前から気になっていました。これも並べて見たらどうなるんだろう、という素人の関心に過ぎませんが、絵柄が面白いということもあり、なんとかしたいとずっと思っていたのでした。

 

色々なご縁で作業効率を上げることになり、ようやく一つできたのですが、そうすると、もう一つもささっとやってしまいたくなるものです。そこで、できたのが以下のURLです。

http://candra.dhii.jp/nagasaki/mirador201706/mirador/hyakki2.html

2つの百鬼夜行絵巻を比較できるビュー

f:id:digitalnagasaki:20170718041658j:plain

ただし、このURLにアクセスするだけでは使い方がよくわからないかもしれません。現状では、少しお作法が必要になります。以下の手順を見てから挑戦してみてください。(特に、以下の手順4. のタイミングが重要です)

 

1.まず、上記のURLにアクセスすると以下のような頁が開くはずです。ここで、二つのウインドウ用にそれぞれアイテムを選択する必要があります。上から一つずつやっていきましょう。

f:id:digitalnagasaki:20170718041746j:plain

 

2.「アイテム追加」をクリックすると、以下のような画面になります。まずは上の方をクリックして選択してみましょう。そうすると・・・

f:id:digitalnagasaki:20170718041823j:plain

 

3.以下のような画面になります。ここではまだ画像表示はされません。もう一つ、下のウインドウの方も同様にしてアイテム追加をしてください。今度は下の方のアイテムを選んでください。

f:id:digitalnagasaki:20170718041915j:plain

 

4.そうすると、以下のような画面になります。ここで、画面左上の「絵巻の全画像を表示」ボタンをクリックしてください。そうすると・・・

f:id:digitalnagasaki:20170718041943j:plain

 

5.以下のような画面になるはずです。ここでは、それぞれの画像をするすると動かしたり拡大縮小したりできます。色々試してみてください。

f:id:digitalnagasaki:20170718042008j:plain

f:id:digitalnagasaki:20170718041658j:plain

f:id:digitalnagasaki:20170718042105j:plain

 

6.なお、左側のサイドパネルを非表示にすることもできます。そうすると以下のようにすっきり見えますね。

f:id:digitalnagasaki:20170718045203j:plain

たったこれだけなのですが、今まで簡単ではなかった色々なことが、IIIFという規格に準拠することによって、割と簡単に、フリーソフトウェアを組み合わせることで実現できるようになりつつあります。まだ少し面倒な手順が残っていますが、それも徐々に改善されていくと思われます。

 

 

なお、この頁にいきなり来てしまった人は、なんだかよくわからない、と思われるかもしれません。すでにそういうサービスがあるのに、と思う人もいらっしゃると思います。

 この話は、バラバラに分割されて公開されている画像を、ビューワ上で統合的して閲覧できるという話であり、そして、それを実現するためにはIIIFという国際的に大きく広まりつつある規格に準拠して公開すればよいという話です。

 まず、基本的に、国際的に広まっている規格があれば、それに乗っておいた方が後々良い展開になるという傾向が最近ますます強まっています。しかしそれだけでなく、この事例の場合には、大きな画像を1つにまとめてから公開するのはハードウェア的にも人的コストとしてもかなり大変ですが、分割画像を公開してからWebブラウザで表示する際に統合するという方法ですと、そういったコストが多少なりとも(あるいはかなり?)節減できるかもしれない、という期待もあります。そのようなことを考えて、前々回からの一連のブログ記事を作成してみています。

 詳しくは、このブログの前回前々回の記事や、IIIFという規格の紹介記事(ただし、1年前の記事です)などを読んでみていただけますと幸いです。

 

 

 

 

Miradorの新機能で国デコの絵巻画像をつなげる(Gimpで位置合わせ編)

今回の記事は、前回の続編ということで、国デコ国立国会図書館デジタルコレクション)の絵巻画像をサーバ上では分割されたままで配信しつつ、IIIF対応ビューワMirador上でつなげて閲覧するための位置情報の取得を比較的効率的に行うための作業手順についてのご紹介です。

< 用意するもの>

ここでは、gimpを使ってみます。これは、GUIによるフリーの画像処理ソフトとしては最強クラスのソフトで、個人的にはこの20年ほどお世話になっております。(開発者のみなさまありがとうございます)

f:id:digitalnagasaki:20170717173241j:plain

 

このソフトは、今時の多くのメジャーなフリーソフトウェアと同様に、機能拡張が簡単にできるようになっており、このソフトに組み込まれていない機能でも、誰かが機能拡張を作成公開している場合が多いです。「自分が困っていることは世界の誰かも同じように困っているはずで、そのなかにはプログラミングが得意な人もいるに違いない。そしてその人が機能拡張を作成しているかもしれない」と思うことは、特にこの数年、正しい想像であることが多くなってきたような気がします。

 

 それから、この作業をするにあたっては、対象となる画像のフルサイズのものが必要になります。なんとかしてダウンロードして入手しておいてください。ここではIIIF対応画像という話なので、画像一括ダウンロードツールもあったと思います。

 

<ここでやりたいこととgimpプラグイン

 さて、ここでやりたいことは、二つの画像をきれいに重ね合わせた上で、重ねた方の画像の相対位置情報を取得することです。きれいに重ねるには、以下のようなことができてほしいところです。

 1.マウスで簡単に画像を動かして位置合わせできる

 2.重ねる画像が透過していて位置合わせが容易

この2つの機能は、gimpの標準機能で実現できます。「レイヤー」機能を使うことになります。

さらに、位置合わせが終わったあとに、

 3.重ねた画像の相対位置情報を簡単に取得したい

 4.1つの作業が終わったあと、次の作業のために画像を定位置に戻したい

という機能があると便利です。この2つの機能は、gimpには標準装備されていないのですが、しかし、探してみると、ありました。プラグインでした。

 gimpにはプラグイン登録サイトがあって、そこに2つの機能のプラグインがそれぞれ登録されています。3.の方は、Layer informations、4.の方は、Move Layer Toでした。

 

 gimpプラグインのインストールは、Windowsの場合、 C:\Program Files\GIMP 2\share\gimp\2.0\scripts にプラグインのファイルを置いてから、gimpを起動すればそのプラグインが読み込まれます。今回のプラグインの場合、メニュー中の「レイヤー」のサブメニューとして以下のように表示されますので確認してみてください。

f:id:digitalnagasaki:20170717174309j:plain

 

さて、とりあえず、gimpプラグインのインストールまで終わったはずですので、次に、位置合わせ作業用の画像を作成します。これは、大きささえ良い案配であれば、真っ白な画像でよいので、とりあえず大きさを検討して作成します。今回は、8630 x 8052というサイズで横につなげていくので、以下のように、大体18000 x 10000くらいで新規画像作成してみます。

f:id:digitalnagasaki:20170717174200j:plain

ここで、画像が大きすぎてうまくソフトが立ち上がらない場合は、縦をもう少し狭めてみたり、色々工夫してみてください。

 

次に、これは、作業してみて勝負の分かれ道だと個人的に思ったのですが、キーボードショートカットを設定します。これはあくまでも好みの問題なのですが、いちいち右クリックしてサブメニューをたどっていくというのは、個人的には単純作業のなかでは心が折れやすい部類の作業です。幸い、gimpはキーボードショートカットを割と自由に設定できるので、以下のメニューから設定してしまいました。

f:id:digitalnagasaki:20170717180736j:plain

私の場合は、

Layer informations は Ctrl + Shift + i

Move Toは Ctrl + Shift + m

に設定しました。

 

 

<実際の作業>

ではいよいよ、具体的な作業に入ります。一番左の画像を、作業用画像の画面にドラッグ&ドロップします。そうすると、その画像が表示されますので、まずはベースとなるこの画像の位置合わせをします。Move To機能を選択すると以下のような画面が表示されますので、ここでは1,1を入力して「OK」です。(これは0,0にはならないようです)

f:id:digitalnagasaki:20170717180931j:plain

次に、これに位置合わせをしたい画像を以下のようにドラッグ&ドロップします。

 

f:id:digitalnagasaki:20170717200930j:plain

 

この状態でもドラッグして位置合わせをすることはできますが、これだけだとちょっと見づらいです。そこで、重ねた画像(レイヤー)を半透明化します。以下のようなサブウインドウが開いているはずですので、そこを見ると、重ねた画像と重ねられた画像がそれぞれ別々のレイヤーとして表示されています。そのうち、重ねた画像(_0033.jpg)の方をクリックしてから「不透明度」というところの100という数字を50に変更します。

f:id:digitalnagasaki:20170717181216j:plain

 

 

そうしますと、以下のように、重ねた方の画像が半透明化します。これで、重ね合わせは格段に楽になりますね。

f:id:digitalnagasaki:20170717181313j:plain

 

なお、レイヤーを移動させる際には、gimp

ツールボックス」で以下のような十字キーを選択しておく必要がありますので、ご注意ください。

 

f:id:digitalnagasaki:20170717181356j:plain

 

さて、重ね合わせに関しては、以下のような感じになりますので、さらに動かして…

f:id:digitalnagasaki:20170717181522j:plain

 

以下のように、大体ぴたっと位置合わせできたら、Layer informationsを起動すると、以下のようにXYの位置情報が表示されます。キーボードショートカットを設定していれば、Ctrl + Shift + i ですね。(私の設定の場合)

 

f:id:digitalnagasaki:20170717181624j:plain

 

ここで、この情報X Y 情報と画像ファイル名をメモします。それを続けていくと、以下のようなリストができていくはずですが・・・

f:id:digitalnagasaki:20170717182006j:plain

 

続きの作業のためにやっておくことをもう少しだけ見ておきましょう。

 

メモが終わったら、次は「レイヤーの削除」をして、位置合わせされる方の画像のレイヤーを削除しておきます。(そうしないと作業パソコンがメモリ不足になりますので)

f:id:digitalnagasaki:20170717181711j:plain

 

次に、今回位置合わせした方の画像を基準にするために、その画像をレイヤーウインドウで選択してから、・・・

f:id:digitalnagasaki:20170717181821j:plain

 

以下のように、Move Toを使って左上に移動しておきます。

f:id:digitalnagasaki:20170717181903j:plain

 

このあとは、同じように、作業していきます。慣れたら1画像あたり1分ほどでできるようになりました。1絵巻あたり40分くらい、ということになると思いますので、資料の希少性を考えるとまあ妥当な線ではないだろうかと思えるような感じになりました。

 

さて、位置情報が一通り集まったら、次は、これにあわせた数値データを作成します。これをどういうツールで実行するかは好みによると思うのですが、私はこういうときにはついエクセルを使ってしまうので、とりあえず以下のような表を作成しました。A列が画像番号、B列とC列が今回手入力した相対位置情報、D列とE列が、IIIF Manifestに書き込むためのShared Canvas上での絶対位置情報ということになります。

 なお、ここでは、途中まではすでに完全手作業でやってしまっていて、その続きからになっているために、D1が16781、E1が272になっていますが、通常はこれらは0となるはずです。

f:id:digitalnagasaki:20170717182104j:plain

 

あとは、これをIIIF Manifestの当該位置に書き込むだけです。ここでは、このデータを使ってIIIF Manifestの一部を作成する以下のような簡単なスクリプトを用意して、できあがったものをIIIF Manifestにコピーするということで完成させました。

 以下のスクリプトでは、上記のエクセル上のデータのタブ区切りファイル(imageloc.txt)を読み込ませて、必要なJSONデータを作成しています。

<?PHP
//% php thisfile imageloc.txt
$arln = file($argv[1]);
$n = 6;
foreach($arln as $ln){
 list($imgn,$x,$y,$x2,$y2) = preg_split("/\t/", trim($ln));
 if($imgn != ""){
  $imgn = sprintf("%02d", $imgn);
print <<<anoJson
                        ,{
                            "@id": "http://dzkimgs.l.u-tokyo.ac.jp/iiif/yang2/2540981/ano$n",
                            "@type": "oa:Annotation",
                            "motivation": "sc:painting",
                            "resource": {
                                "@id": "http://dzkimgs.l.u-tokyo.ac.jp/iiifimgs/yang2/2540981/2540981_00$imgn.tif/full/full/0/default.jpg",
                                "@type": "dctypes:Image",
                                "format": "image/jpeg",
                                "width": 8630,
                                "height": 8052,
                                "service": {
                                    "@context": "http://iiif.io/api/image/2/context.json",
                                    "@id": "http://dzkimgs.l.u-tokyo.ac.jp/iiifimgs/yang2/2540981/2540981_00$imgn.tif",
                                    "profile": "http://iiif.io/api/image/2/level1.json"
                                }
                            },
                            "on": "http://dzkimgs.l.u-tokyo.ac.jp/iiif/yang2/2540981/p1#xywh=$x2,$y2,8630,8052"
                        }
anoJson;
  $n++;
 }// if($imgn != ""){
}//foreach($arln as $ln){
?>

 さて、このような感じの作業をすれば、分割された画像を並べてMirador上で閲覧することができるようになります。横方向だけでなく、縦方向もいけますので、色々な可能性があろうかと思います。

 

ちなみに、全部重ねて一枚の画像にすればよいのに、と思う人もおられるかもしれませんが、横巾15万ピクセル近い画像を作成したりサーバに載せて公開したりするのは今時の普通のコンピュータ環境だと微妙に難しいです。(何度か挑戦してみてあまりうまくいきませんでした)

 

勢いで書いてしまったので、誤字脱字や読みにくいところもあるかもしれませんが、お役に立ちましたら幸いです。

Miradorの新機能で国デコの絵巻画像をつなげる(Manifestの書き方編)

 何度かご紹介してきた、Miradorに新規搭載されたLayer機能ですが、これを応用すると、複数に分割された画像をまとめて表示する、ということもできるようになります。ここでは具体例として、カルガリー大学の楊先生のリクエストにより、国立国会図書館デジタルコレクション(国デコ)の「絵師草紙」を試してみました。これは、以下のように分割撮影・公開されています。

f:id:digitalnagasaki:20170717172112j:plain

 

具体的な手段を省略すると、これらの画像をIIIF Image APIに対応させて、Mirador用にIIIF Manifestファイルを作成すると、以下のようになりました。

f:id:digitalnagasaki:20170717172027j:plain

 

実際にこの画面をMirador上で見てみたい方は、こちらのURLにアクセスしてから、画面の左上にある「絵巻の全画像を表示」というボタンを押してみてください。あとは、通常のMiradorと同じように、すいすいと拡大縮小できたりすると思います。

 

追記(20170718 1:30AM):その後、「百鬼夜行絵巻」も試してみました。以下のURLにてお楽しみください。

http://candra.dhii.jp/nagasaki/mirador201706/mirador/hyakki.html

 

 

これまで、絵巻画像の公開で難しかったことの一つは、横長の超巨大画像をWebからまるごと効率的にアクセスできるようにするためのサーバの準備や画像処理など、だったのですが、このやり方ですと、サーバや画像処理に関しては、通常サイズの画像を扱うのとほぼ同じようにできることになります。まだところどころ課題はありますが、このように、個別画像を公開した上でビューワ段階で統合するという路線は微妙に革命的ではないかと個人的には思っているところです。

 

<IIIF manifestの書き方>

では、実際にこれをどうするか、という話に入りましょう。

まず先にIIIF Manifest全体をみせろ、という方はこちらをご覧ください。

基本的には、IIIF Manifestで、Shared Canvasを大きくとってそこに画像を配置していくという形になります。ここでは、以下のように、150000x8500ピクセルのShared Canvasを設定して、そこに個々の分割画像を配置するようにしています。ちょっと見づらいですが、

http://dzkimgs.l.u-tokyo.ac.jp/iiif/yang2/2540981/p1

というのがこのcanvasのIDで、その下位に各画像の情報が記述されています。

 

f:id:digitalnagasaki:20170717172923j:plain

 

以下に、個別の画像の情報についてもう少しみてみると・・・

 

f:id:digitalnagasaki:20170717173145j:plain

"on": "http....

で始まる行があり、その最後が

/p1#xywh=0,200,8630,8052"

あるいは

/p1#xywh=4415,119,8630,8052"

などとなっています。

 

この箇所で、「canvas上のどの位置にこの画像が来るか」を決めています。 この 位置情報を適切に記述すれば、よい、ということになります。

 

ただ、ここで難しいのは、画像を並べる際の座標情報をどう取得するか、です。特に国デコの場合に難しかったのは、画像の境目がぴたっとあわないことでした。これは、絵巻を浮いたままで押さえつけることなく撮影するという国立国会図書館のデジタル化の方針によるもののようですが(ただしこの話は伝聞です)、とりあえず、ぴたっとあわないので機械処理はちょっと難しそうです。

 

そこで、手で画像の位置合わせをしてその座標情報を取得する、という途方もない作業が必要であるように思えてきます。これをなんとかして効率的にできないものか(しかも手元にあるソフトだけで)、ということで、GIMPを使って比較的効率的に位置合わせ&座標取得をするワークフローを作ってみました。次回記事にて、その詳細をお知らせします。

公開されているIIIFコンテンツを収集・共同編集するツールがリリースされました

メールマガジン人文情報学月報のイベントレポートで何度か触れてきましたが、トロント大学図書館の「写本研究のためのデジタルツール」プロジェクトで開発されていた、「既存のIIIFコンテンツを収集・共同編集するツール」が、ついに公式リリースされました。このツールに関するGithubのページに、使い方に関する説明も一通り用意されていますので(ただし英語ですが)、基本的な使い方はそちらを見ていただくとしまして、ここでは、そのインパクトを感じられるようなご紹介をしてみたいと思います。

 

 これまで筆者はIIIFの紹介をあちこちでしてきておりまして、その時によく言われたことは「Miradorでアノテーション付けられるのはいいけどそれは共有できるの?」ということだったのですが、それについての筆者の答えは

「今のところ標準ではローカルに保存されます。が、ちょっといじればサーバに保存して共有することもできます。詳しい人がいればなんとかなると思いますし、そういうことが簡単にできるツールをどこかで誰かが開発していると思いますのでちょっと待ってください」

というものでした。それは、去年の3月までのことでした。今年の3月に別件でトロント大学に行く機会があったので、すでに話だけは聞いていたこのプロジェクトのチームにアポをとってご訪問して、小さな勉強会を開催していただきました。お互いに自分のプロジェクトの紹介などをしつつも、主眼はこのプロダクトの開発状況でした。実際に聞いてみて、デモを見せてもらって、さらに、プロジェクト全体のなかでのこのプロダクトの位置づけの話を聞いて、これはなかなか良い感じだ、と思ったのでした。その後、テスト用アカウントも発行してもらって、色々試してみる機会も得られたので、上記の返答には

トロント大学図書館でOmekaというメタデータCMSを核にしたシステムが開発されているのでそれを待ってみるといいかもしれません」

という一言が追加されました。

 実はこの数年、前期の授業の最後の方でOmekaを使った実習をしていたので、今年、間に合うなら、このシステムを使って授業をしたいと思い、「できれば6月末にはリリースしてほしいので頑張ってください」という希望を、先方に会うたびにお伝えして(5月にスタンフォード、6月にバチカンで会って話をしていたので)、ついに、ようやく、間に合わせてくださったのでした。予定より数日早くリリースを知らせるメールをいただいて、感動もひとしおでした。

 

このツールでできたものをご紹介(デモあり)

 前置きが長くなりましたが、まずは、これでどういうことができるのか、を画像入りでご紹介したいと思います。まず、こちらの地図(デモ用)を見て、地図上にプロットされたいくつかの青丸をクリックしてみてください。そうすると、以下のような感じのものを見る事ができると思います。

f:id:digitalnagasaki:20170704015202j:plain

 

地図上にプロットされた情報が表示されます。ここでは錦帯橋の画像がMiradorの中に表示されています。

f:id:digitalnagasaki:20170704015241j:plain

 

Miradorですので、以下のように、画像を拡大して錦帯橋の部分に注目することもできますし、地図も拡大することができます。もちろん、この画像の全画面表示もできます。

f:id:digitalnagasaki:20170704015540j:plain

 

ここで出来ていることは大体以下のようなことになろうかと思います。

 

国立国会図書館デジタルコレクションで公開されている電子化古典籍資料画像のIIIF版(次世代ラボより公開)がページごとに地図上にプロットされていてそれぞれの画像にアノテーションもついている

アノテーションやタグで画像の検索ができる」(下記の図を参照してください)

 

アノテーション検索

f:id:digitalnagasaki:20170704015703j:plain

 

タグ検索

f:id:digitalnagasaki:20170704015735j:plain

 

タグ検索結果から「釣り人」のページ&タグの対象領域を表示

f:id:digitalnagasaki:20170704015914j:plain

 

これはこれで良いのですが、しかし、これだけなら、「頑張って作りましたね、でも、デザインをもう少し工夫してもいいかもしれませんね」、ということで済んでしまう話です。このツールの話がそれだけでは済まないのは、

1.「IIIFで公開されているあらゆるコンテンツをアノテーションも含めて取り込んで、さらにそれにアノテーションやタグを追記したりしつつ地図上にプロットできる

2.「この作業を、Web上で共同で、かなり簡単にできてしまう

3.「このツールを含むWebシステムの構築も、かなり簡単にできてしまう

 

という点です。そして、これを実現するためにOmekaとNeatlineという、クラスルームでの教育等にもよく使われているメタデータCMSを採用しているのです。Omekaの紹介インストールの仕方Neatlineのインストールの仕方については、以前にこのブログでもご紹介したことがあります。Omekaがメタデータを中心としつつ画像やその他のマルチメディアコンテンツをパソコンやサーバ上で管理したり公開したりするCMSであるのに対して、そのコンテンツを地図・年表上に簡単にプロットできるようにするプラグインがNeatlineです。Omekaのインストールが簡単であることもすでにご紹介したとおりなのですが、今回は、その簡単インストールと簡単操作で、世界中で公開されているIIIFコンテンツを簡便に扱うことができる、というのが大きなポイントなのです。IIIF Toolkitプラグインに関しても、Omekaに組み込むには、Omekaのpluginsディレクトリにプラグインのファイルを置いてzipファイルを元に戻してから、管理者画面から「Install」ボタンをクリックするだけです。

 

実際の編集作業(デモ無し・ご紹介のみ)

 では、実際にどういう風に操作できるのか、以下に見てみましょう。ただし、これには編集者権限が必要になりますので、デモは無しで、画像と文章のみでのご紹介です。

 

まずは、IIIFコンテンツの取り込みです。

以下の図では、国立国会図書館次世代ラボから公開されている国デコIIIF版のIIIF ManifestのURLを、URL欄にコピペしています。この後、ボタンを押すだけで、IIIF Manifestに含まれる画像・メタデータアノテーションが全部取り込まれて(全部できるのだろうか…と思っていたら、確認できている限りでは全部できていたので感動しています)、Omeka上でメタデータCMSのコンテンツとして操作できるようになります。ここでは練習用に、

国立国会図書館デジタルコレクション - 西遊街道図絵. [2]

IIIF Manifestを使ってみています。

 

f:id:digitalnagasaki:20170704020151j:plain

 

そして、取り込みが終了すると、ステータス画面は以下のようになります。

f:id:digitalnagasaki:20170704020232j:plain

 

 

各ページにアノテーションをつけられるようになっていますので、まずは以下のように図の表題にアノテーションをつけてみます。ついでに、地名に関する情報をタグとしてつけておきます。ここで使っているのはMiradorの標準のアノテーションダイアログですが、ここで「保存」すると、OmekaのコンテンツとしてOmekaに保存されることになります。

 

f:id:digitalnagasaki:20170704022302j:plain

 

 

付けたアノテーションも含めて、この画像を管理するページは以下のようになっています。取り込んだ資料の各画像ごとにこの画面が用意されることになります。

 

f:id:digitalnagasaki:20170704022447j:plain

 

アノテーションのダイアログでつけたタグは、以下の画面で一覧して管理することができるようになっています。

 

f:id:digitalnagasaki:20170704022600j:plain

 

 

さて、アノテーションをつけてみましたので、次はこれを地図上にプロットしてみましょう。地図はNeatlineです。「Create an Exhibit」をクリックしてその作業用の地図を用意します。これはいくつでも作ることができます。以下の図では、すでに一つ作ってあります。地図を編集するときは、地図名をクリックします(この場合は「An Exeercise for a DH Class)。

 

f:id:digitalnagasaki:20170704022630j:plain

 

Neatlineの地図編集モードは、デフォルトでは左側に作業画面が表示され、画面の大部分は地図が表示されます。地図はデフォルトではOpen Street Mapですが、他の地図も設定で選択できます。作業画面では、既存のプロットされたデータと、「レコード新規作成(New Record)」ボタンなどがあります。

 

f:id:digitalnagasaki:20170704033931j:plain

 

とりあえず一つ新規作成ということで、「New Record」をクリックしてから「Item」タブをクリックしてから少し待つと、以下のようにつけた順番でアノテーションが表示されていきます。今回試しに作業している画像には「尼崎城之図」というアノテーションをつけましたが、それが一番上に表示されるので(最新のアノテーションが一番上にくるような感じです)、それを選んでみましょう。

 

f:id:digitalnagasaki:20170704022810j:plain

 

そうすると、選んだだけで、いきなりその画像がMiradorごと表示されます。つまり、そのアノテーションを含む画像がここで選択・表示されることになります。Mirador上では画像を拡大したり全画面表示したりして確認することもできます。とりあえずここでは「Save」を忘れないようにしておきたいところです。

 

f:id:digitalnagasaki:20170704022832j:plain

 

次に、「Text」タブをクリックして情報を色々つけておきましょう。Slugは外部からアクセスできるようにするものですので、ASCIIで入力しておいた方が後々楽です。そして、タイトルや本文(Body)などを・・・

 

f:id:digitalnagasaki:20170704022958j:plain

 

とりあえず以下のように入力してみてから「Save」をしてみました。

 

f:id:digitalnagasaki:20170704023104j:plain

 

さて、次に、いよいよ地図上にプロットします。「Map」タブをクリックすると地図プロットモードになりますので、目当ての場所を探して、地図上に位置情報を入力します。単なる丸でいい場合は「Draw Point」をクリックしてから地図上の目指す場所をクリックします。一応、丸以外にも色々な形を選べるようになっています。

 

f:id:digitalnagasaki:20170704023237j:plain

 

 

「Save」してから編集モードを閉じると(編集画面右上の×印をクリック)、以下のようになります。今、追加した、尼崎城の情報もリストされています。

 

f:id:digitalnagasaki:20170704023328j:plain

 

 

その後、公開画面に戻ってみると、以下のように、尼崎城の位置に青丸がついています。この青丸をクリックすると・・・

 

f:id:digitalnagasaki:20170704023412j:plain

 

 

ダイアログ上にMiradorが表示されてそのなかに画像が表示されますね。

 

f:id:digitalnagasaki:20170704023522j:plain

 

 

もちろん、Mirador上ですので以下のように画像を拡大することもできます。お城の様子を想起させますね。

 

f:id:digitalnagasaki:20170704023549j:plain

 

 

先ほどアノテーションをつけた箇所にカーソルをあわせると、Mirador上で以下のように表示されます。

 

f:id:digitalnagasaki:20170704023616j:plain

 

 

さて、すっかり長くなってしまいましたが、大体このような感じです。このプロジェクト全体としては、ここでつけたアノテーションなどは、半自動的に、より大きなサーバに戻されて統合的に扱えるようにするという話になっているそうです。IIIF、というより、Webに公開されている文化資料・文化資源の高精細画像の活用の幅を大きく広げることになる可能性を感じておりまして、みなさまにも試してみていただく機会をご用意できたらと思っております。

 もちろん、少しでも腕に覚えのある人は、ぜひ試してみていただけたらとも思っております。DockerやVMwareでもばっちり動きましたし、既存環境にインストールするよりも、新しいWAMP/LAMP環境にインストールする方が大変簡単ですので、そういう方向でご検討してみていただくとよいかと思います。

 

なお、上記でリンクを張った、このプロジェクトのgithubのページでは、さらに別の使い方も紹介されていますのでご参考にしてみてください。

 

ということで、まだ、年表へのプロットなど色々あるのですが、そろそろ寝ないとまずいので、ここまでとしたいと思います。今後ともよろしくお願いいたします。

 

 

赤外線写真とX線写真を重ね合わせてみる:IIIFの活用例

前回記事の続きのようなものですが、しかし、これも大きなトピックかもしれないと思いましたので、記事を分割しました。

 

一つの画像に、赤外線写真とX線写真を重ね合わせてみる、というものも、汎用ビューワでできるようになったようです。まずはこちらをご覧ください。以下のような写真が表示されるはずです。

 

f:id:digitalnagasaki:20170703032849j:plain

 

ここで、前回記事と同様に、左上の「Layers」というタブをクリックしてみてください。そうすると、X線と赤外線の画像がそれぞれ選択できる上に、透明度も調整できるようになっています。もちろん、同時に拡大縮小することも可能です。たとえば以下のような感じです。

f:id:digitalnagasaki:20170703032816j:plain

 

このような用途の場合、各地の画像をどうこうするというのとはまた少し違った話になってきそうですが、標準的な規格とツールを使ってこのような表示ができるようになるということには、色々なメリットがありますので、これも今後に期待されるところです。