Wstęp

W wersji 6.1 systemu dLibra wprowadzona została możliwość prezentowania plików graficznych z wykorzystaniem standardu IIIF (International Image Interoperability Framework), a w szczególności Image API oraz Prezentation API. Standard ten zapewnia mechanizm progresywnego pobierania obrazów wysokiej rozdzielczości, dzięki czemu działa to podobnie do map (np. Google) - użytkownik może szybko zobaczyć caly obraz odpowiednio oddalony, a dodatkowe szczegóły pobierane są po powiększeniu wybranego obszaru. Standardy IIIF są otwarte, dzięki czemu wspiera je wiele narzędzi i systemów, które mogą zostać zintegrowane z dLibrą w celu umożliwienia jeszcze łatwiejszego i bogatszego wykorzystania publikowanych zasobów.

W dLibrze jako część kliencką IIIF, a więc interfejs prezentujący treści użytkownikom, wdrożony został Universal Viewer. Do implementacji części serwerowej wykorzystano program Cantaloupe, który jest zaimplementowany w Javie, podobnie jak dLibra, i może wczytywać wiele formatów graficznych oraz konwertować je na postać oczekiwaną przez protokoły IIIF. 

Konfiguracja IIIF w systemie dLibra

Od wersji 6.2 Cantaloupe jest automatycznie instalowany i konfigurowany wraz z dLibrą i uruchamiany jako osobny proces potomny serwera dLibry w ramach pomocniczego serwisu cl.

Istnieje możliwość dodania wsparcia dla formatu JPEG2000, który uzyskuje wyraźnie mniejsze rozmiary plików niż TIFF, przy zachowaniu wysokiej jakości kompresji oraz szybkości przetwarzania. W tym celu należy zainstalować dekoder JPEG2000 - są dostępne różne rozwiązania, ale polecamy pakiet grokj2k. Stosunkowo łatwo zainstalować go w różnych systemach operacyjnych przy pomocy manadżera pakietów Homebrew. Po zainstalowaniu należy zmienić konfigurację Cantaloupe w pliku dlibra-server/conf/cl/cantaloupe.properties:

  • zmienić processor.selection_strategy na ManualSelectionStrategy
  • zmienić processor.ManualSelectionStrategy.jp2 = GrokProcessor
  • zmienić GrokProcessor.path_to_binaries na ścieżkę katalogu w którym zainstalowane jest polecenie grk_decompress, np. /home/linuxbrew/.linuxbrew/bin

Dodawanie treści

Obsługiwane formaty to TIFF, JPEG, PNG, JPEG2000. Wystarczy utworzyć publikację zawierającą pliki w tych formatach, aby dLibra automatycznie udostępniała je z wykorzystaniem IIIF. W ten sam sposób obsługiwane są tak zwane galerie JPG, czyli znany od starszych wersji dLibry format, w którym plikiem głównym jest wygenerowany w Aplikacji Redaktora plik XML zaiwerający kolejność obrazów oraz ewentualne opisy i komentarze dla każdego obrazu. Plikiem głównym może być manifest zgodny z IIIF Presentation API (plik JSON), co może być przydatne np. do prezentacji zasobów zebranych z innych obiektów w dLibrze lub nawet z innych systemów udostępniających protokół IIIF. Jeśli jako plik główny jest ustawiony plik graficzny, to on jest prezentowany jako pierwszy, a następnie ewentualne inne pliki graficzne są uporządkowane po nazwie w kolejności alfabetycznej.

W przypadku obrazów dużej rozdzielczości warto przed umieszczeniem ich w dLibrze zadbać o to, by były zapisane w sposób umożliwiający szybkie wczytywanie fragmentów obrazu w różnych stopniach powiększenia. Zalecamy w tym celu wykorzystanie programu vips do zapisania obrazu jako tiff piramidalny, np. poleceniem

vips tiffsave input.jpg output.tif --tile --pyramid --compression jpeg --Q 90 --tile-width 512 --tile-height 512

Aby zapisać obraz w formacie JPEG2000, można skorzystać z polecenia grk_compress, które również jest częścią wspomnianego wcześniej pakietu grokj2k:

grk_compress -t 512,512 -r 20 -i input.tif -o output.jp2



  • No labels