📚
Cantaloupeでinfo.jsonに値を追加する
概要
以下を参考に、Cantaloupeが返却するinfo.jsonに値を追加してみました。
方法
上記のページを参考に、extra_iiif3_information_response_keys
を以下のように修正してみました。
/home/ubuntu/cantaloupe-5.0.5/delegates.rb
def extra_iiif3_information_response_keys(options = {})
{
'rights' => 'http://example.org/license.html',
'service' => [
{
'@id': 'https://example.org/auth/login',
'@type': 'AuthCookieService1',
'profile': 'http://iiif.io/api/auth/1/login',
'label': 'Log In'
}
],
'exif' => context.dig('metadata', 'exif'),
'iptc' => context.dig('metadata', 'iptc'),
'xmp' => context.dig('metadata', 'xmp_string')
}
end
結果、以下のようなinfo.jsonを取得できました。
{
"@context": "http://iiif.io/api/image/3/context.json",
"id": "https://cantaloupe.aws.ldas.jp/iiif/3/converted.tif",
...
"rights": "http://example.org/license.html",
"service": [
{
"@id": "https://example.org/auth/login",
"@type": "AuthCookieService1",
"profile": "http://iiif.io/api/auth/1/login",
"label": "Log In"
}
],
"exif": {
"tagSet": "Baseline TIFF",
"fields": {
"ImageWidth": 13300,
"ImageLength": 10400,
"BitsPerSample": 8,
"Compression": 7,
"PhotometricInterpretation": 6,
...
ライセンス表示やIIIF Auth APIとの組み合わせに使用できるものかと思われます。
IIIF Auth APIについては、以下の記事も参考にしてください。
まとめ
CantaloupeのマニュアルのEndpoints
の一部を試してみました。
他の方の参考になりましたら幸いです。
Discussion