Извлечение изображения в масштабе из файла формата SVS в C ++ - PullRequest
0 голосов
/ 17 ноября 2018

Я пытаюсь извлечь масштабное изображение из файла SVS в C ++.

Я видел объяснение от домашней страницы OpenSlide . В нем говорится, что формат SVS - это «TIFF с одним пирамидальным мозаичным файлом».

Таким образом, я попытался извлечь полноразмерное изображение, как я сделал для изображения TIFF: я прочитал все IFD из файла SVS, но нет тега 273, который содержит адрес, указывающий на целое изображение масштаба.

Вот почему я теперь немного растерялся, у формата SVS нет полного масштаба изображения внутри файла?

Я обнаружил неопределенный закрытый тег из файла SVS с номером 34675. Этот тег предназначен для изображения в полном масштабе? Или есть правильный способ извлечь его?

Ответы [ 2 ]

0 голосов
/ 22 ноября 2018

Вы можете считать уменьшенное изображение (это то, что вы подразумеваете под изображением в полном масштабе?) В качестве изображения, связанного с открытой горкой.

Например, libvips имеет удобную привязку к открытому слайду, написанную авторами 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 голосов
/ 17 ноября 2018

Aperio SVS - это мозаичный формат.Все уровни пирамиды представляют собой мозаичные изображения.Базовый слой - это первый каталог TIFF. На этой странице документации LibTiff показано, как читать мозаичные изображения.

Короче говоря, вам нужно искать тег 324 (TIFFTAG_TILEOFFSETS), а также теги 322 и 323 (TIFFTAG_TILEWIDTH, TIFFTAG_TILELENGTH).Я настоятельно рекомендую вам использовать LibTiff для этого, и не пытайтесь свернуть свой собственный.

Пользовательский тег в файле SVS содержит метаданные, включая физический размер пикселя в микронах (SVS не устанавливаетразрешение тегов TIFF).

...