Неподдерживаемое сжатие TIFF

Я использую openslide-python открыть svs изображение, и я столкнулся со следующей проблемой:

>> import openslide as osi
>> a = osi.OpenSlide('image.svs')

выдает ошибку

TIFFReadDirectory: Warning, Unknown field with tag 347 (0x15b) encountered.
image.svs: JPEG compression support is not configured.
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/home/manan/anaconda/lib/python2.7/site-packages/openslide/__init__.py", line 154, in __init__
    self._osr = lowlevel.open(filename)
  File "/home/manan/anaconda/lib/python2.7/site-packages/openslide/lowlevel.py", line 178, in _check_open
    raise OpenSlideError(err)
openslide.lowlevel.OpenSlideError: Unsupported TIFF compression: 7

Я не смог найти никаких решений в Интернете по этому вопросу; Я проверил libopenjpeg и любые дополнительные соответствующие библиотеки, чтобы гарантировать, что они в их последних соответствующих версиях.

1 ответ

Решение

Если вы посмотрите на код: https://github.com/openslide/openslide/blob/7b99a8604f38280d14a34db6bda7a916563f96e1/src/openslide-vendor-generic-tiff.c#L222-L226

if (!TIFFIsCODECConfigured(compression)) {
  g_set_error(err, OPENSLIDE_ERROR, OPENSLIDE_ERROR_FAILED,
              "Unsupported TIFF compression: %u", compression);
  goto FAIL;
}

Вы увидите, что он использует libtiff: функция TIFFIsCODECConfigured обеспечивается базовым libtiff библиотека (см. справочную страницу).

Тег сжатия установлен в 7; это необычно поддерживается JPEG ('new-style' JPEG) схема сжатия - иногда также называется JPEG-in-TIFF; для которого вам нужно установить кодек.

Если у вас все еще есть слайды и вы используете, например, Kodak Imaging, то вы сможете снова сканировать их с другим сжатием; но это будет путь назад и обратно. Вероятно, проще попробовать добавить кодек и включить его в libtiff,

От libtiff документация:

Поддержка сжатия JPEG контролируется JPEG_SUPPORT. Кодек JPEG, поставляемый с libtiff, предназначен для использования с выпуском 5 или более поздней версии свободно распространяемого программного обеспечения Independent JPEG Group. Это программное обеспечение можно получить из каталога ftp.uu.net:/graphics/jpeg/.

Так что поддержка не является обязательной, и вам может понадобиться восстановить libtiff (см. инструкции).

По умолчанию поддержка JPEG не настроена.

Рекомендации:

Другие вопросы по тегам