0

我正在使用 libvips 来获取 .ndpi 图像的金字塔。

通过这个答案并搜索文档我找到了这个命令

vips extract_area myimage.ndpi[level=0] mypyramid.dz 0 0 10000 10000

它将从 0 0 和大小 10000 10000 开始的裁剪提取到 dzi 文件。

参数为放大倍率,level0为最高。

问题是 ndpi 内部有以下图像:

  • myimage_macro.tif
  • myimage_map.tif
  • myimage_x0.15625_z0.tif
  • myimage_x0.625_z0.tif
  • myimage_x10_z0.tif
  • myimage_x2.5_z0.tif
  • myimage_x40_z0.tif

myimage_macro.tif我需要的时候vips正在服用myimage_x40_z0.tif

应该有一个像 level 这样的参数来从我想要的 OpenSlide (ndpi) 内的图像中选择哪个。

有人问。为什么不提取 tif 然后运行 ​​vips?

好吧,因为 vips 告诉我:

openslide2vips: opening slide: No such value: directory 0, tag 278

这意味着使用ndpisplit提取 tif 不会以某种方式保存元数据以允许 vips 识别图像

所以我处于一个有点讨厌的境地。我有巨大的图像,我需要提取一个稍微不那么大的部分,然后得到它的金字塔。

请帮助我,现在我基本上都是自己编写代码,它可以工作,但速度非常慢。

4

1 回答 1

0

我已经写了这个作为答案,虽然它不是一个真正的答案。只是评论似乎太长了。

libvipsopenslideload操作允许您选择要加载的关联图像。您可以从slide-associated-images元数据标签中获取相关图像的列表。例如:

$ vipsheader -f slide-associated-images 2013_09_20_29.ndpi 
macro
$ vipsheader -f slide-associated-images CMU-1.svs
label, macro, thumbnail

然后,您可能会选择一个关联的图像:

$ vips crop CMU-1.svs[associated=label] x.jpg 10 10 100 100

获取标签的一小部分。

所以......检查您的幻灯片的相关图像openslide报告。如果你能得到你需要的,用associated参数选择它。如果您需要的图片没有列出,我会联系 openslide 项目,因为他们需要添加支持。

您还可以查看 openslide 命令行工具,它们可能会提供更多选项。

于 2018-11-22T09:36:39.180 回答