首页 文章

从C中的SVS格式文件中提取整个比例图像

提问于
浏览
0

我试图从C中的SVS文件中提取整个比例图像 .

我在the OpenSlide homepage看到了一个解释 . 它说SVS格式是"single-file pyramidal tiled TIFF" .

所以我尝试像提取TIFF图像那样提取整像图像:我从SVS文件中读取所有IFD,但是没有273标记包含指向整个比例图像的地址 .

这就是为什么我现在很困惑,SVS格式在文件中没有整个比例图像?

我从SVS文件中找到了一个未定义的私有标记,其编号为34675.此标记是否适用于整个比例图像?还是有正确的方法来提取它?

2 回答

  • 1

    您可以读取缩略图图像(这是整个比例图像的含义吗?)作为开放式相关图像 .

    例如,libvips具有由openslide作者编写的方便的openslide绑定:

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

    列出SVS文件中的图像 . macro 是默认情况下获得的巨大金字塔, thumbnail 是小概述, label 是幻灯片标签的镜头 .

    得到这样的缩略图:

    $ vips copy CMU-1.svs[associated=thumbnail] x.jpg
    

    读作JPG图像 .

    在C中,你可以写:

    VImage thumb = VImage::new_from_file("CMU-1.svs", 
        VImage::option()->set("associated", "thumbnail"));
    thumb.write_to_file("x.jpg");
    
  • 0

    Aperio SVS是一种平铺格式 . 金字塔的所有级别都是平铺图像 . 基础层是第一个TIFF目录 . This page of the LibTiff documentation显示了如何阅读平铺图像 .

    简而言之,您需要查找标签324( TIFFTAG_TILEOFFSETS ),以及标签322和323( TIFFTAG_TILEWIDTHTIFFTAG_TILELENGTH ) . 我强烈建议您使用LibTiff,不要尝试自己动手 .

    SVS文件中的自定义标记包含元数据,包括以微米为单位的像素的物理大小(SVS不设置分辨率TIFF标记) .

相关问题