OpenSeaDragon не отображает несколько изображений в файле dzc_output.xml - PullRequest
0 голосов
/ 08 ноября 2019

Я пытаюсь отобразить несколько изображений с OpenSeaDragon. Я использовал Deep Zoom Composer для создания файлов изображений, и он создал следующий XML-файл (сокращенно):

dzc_output.xml:

<?xml version="1.0" encoding="utf-8"?>
<Collection MaxLevel="8" TileSize="256" Format="jpg" NextItemId="5" ServerFormat="Default" xmlns="http://schemas.microsoft.com/deepzoom/2009">
  <Items>
    <I Id="0" N="0" Source="dzc_output_images/ft1.xml">
      <Size Width="825" Height="584" />
      <Viewport Width="5.2402050398801272" X="-0" Y="-0" />
    </I>
    <I Id="1" N="1" Source="dzc_output_images/ft2.xml">
      <Size Width="824" Height="583" />
      <Viewport Width="5.2375806686733934" X="-1.0500455705877254" Y="-0" />
    </I>
    <!--3 more images not shown as not necessary-->
  </Items>
</Collection>

Я создал очень простую HTML-страницу для отображениязритель (я планирую использовать Django для финального проекта). Я создал программу просмотра со следующим кодом:

var viewer = OpenSeadragon({
                id: "openseadragon1",
                prefixUrl: "openseadragon/images/",
                tileSources: "imagesources/dzc_output.xml",
                sequenceMode: true
            });

Я использую python -m http.server для обслуживания папки, в которой находится html-страница. Она отлично работала для отдельных изображений. Однако в этом файле dzc_output.xml, содержащем несколько изображений, средство просмотра отображает «Невозможно открыть [объект]: невозможно загрузить TileSource» при загрузке страницы. Прокрутка изображений приводит к этой ошибке: «Невозможно открыть [объект Object]: HTTP 404 пытается загрузить TileSource»

Я не уверен, в чем здесь проблема. Любая помощь будет хорошей.

1 Ответ

0 голосов
/ 15 ноября 2019

Действительно ... это «Коллекция глубокого увеличения», которая отличается от формата «Deep Zoom Image», который поддерживает OpenSeadragon. У нас есть проблема с поддержкой DZC: https://github.com/openseadragon/openseadragon/issues/67,, но до сих пор не было никаких действий с ней.

На данный момент у вас есть различные варианты:

  • Вместо этого экспортируйте изображения в виде DZI из Deep Zoom Composer.
  • Напишите сценарий для преобразования вывода DZC в серию DZI для использования в OSD.
  • Помогите нам реализовать поддержку DZC изначально дляOSD.

Теперь, когда у нас есть настоящее мультиизображение, поддержка DZC не должна быть слишком сложной. Один аспект, как обсуждено в https://github.com/openseadragon/openseadragon/issues/67,, заключается в том, что DZC также включает в себя дополнительную пирамиду тайлов с миниатюрами для изображений (см. https://docs.microsoft.com/en-us/previous-versions/windows/silverlight/dotnet-windows-silverlight/cc645077(v=vs.95)#collections для получения дополнительной информации). Это хорошая оптимизация (экономит сетевой трафик), но мы можем ее пропустить для начала и просто использовать DZC в качестве каталога DZI.

Обратите внимание, что эта проблема также обсуждается в https://github.com/openseadragon/openseadragon/issues/1735.

...