man*_*nan 6 python tiff image openslide
我正在使用openslide-python打开svs图像,我遇到了以下问题:
>> import openslide as osi
>> a = osi.OpenSlide('image.svs')
Run Code Online (Sandbox Code Playgroud)
产生错误
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
Run Code Online (Sandbox Code Playgroud)
我无法在网上找到任何解决方案; 我已检查过libopenjpeg任何其他相关库,以确保它们处于最新版本.
如果你看代码: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;
}
Run Code Online (Sandbox Code Playgroud)
您将看到它使用libtiff:该函数TIFFIsCODECConfigured由底层libtiff库提供(参见手册页).
压缩标签设置为7; 这是不常见的JPEG ('new-style' JPEG)压缩方案 - 有时也被称为JPEG-in-TIFF; 您需要为其安装编解码器.
如果您仍然使用幻灯片并使用例如Kodak Imaging,那么您可以使用不同的压缩再次扫描它们; 但这将是一种反复的方式.尝试添加编解码器并启用它可能更容易libtiff.
来自libtiff文档:
JPEG压缩支持JPEG_SUPPORT.libtiff附带的JPEG编解码器设计用于Independent JPEG Group免费提供的软件发行版的5或更高版本.可以从ftp.uu.net:/graphics/jpeg/目录中检索该软件.
因此支持是可选的,您可能需要重建libtiff(请参阅说明).
默认情况下,未配置JPEG支持.
参考文献: