Как отображать изображения всего слайда (виртуальные слайды) с помощью библиотеки OpenSlide Python? (Без использования веб-программы просмотра)

Я пишу приложение, которое может просматривать и взаимодействовать с изображениями всего слайда в формате .svs, используя библиотеку python OpenSlide.

Используя Flask и предоставленный пример веб-просмотра, я в состоянии создать веб-приложение, которое позволяет мне взаимодействовать с данными.

Однако мое окончательное приложение не должно быть веб-интерфейсом. Я изо всех сил пытаюсь найти решение о том, как отображать изображения openslide и взаимодействовать с ними в простом графическом интерфейсе (например, PyQt).

Большое спасибо!


person ceso    schedule 06.03.2020    source источник
comment
Я знаю, что это не очень полезно, но если вы не можете найти решение, не связанное с Интернетом, вы всегда можете использовать веб-просмотр или Electron. В любом случае, надеюсь, вы найдете то, что ищете!   -  person iangilman    schedule 06.03.2020


Ответы (2)


Я сделал крошечную демонстрационную программу, используя GTK для отображения изображения слайда, используя libvips и openslide:

https://github.com/libvips/vipsdisp-tiny

Всего 300 строк кода. Это асинхронно, поэтому вы можете прокручивать изображение, и отображение будет обновляться в фоновом режиме пулом потоков по мере распаковки фрагментов слайда.

Он написан на C, но его довольно легко переделать на Python.

Здесь есть полная программа просмотра:

https://github.com/jcupitt/vipsdisp

Это выглядит так:

введите здесь описание изображения

Он имеет ряд полезных функций, например. диапазонное масштабирование, логарифмическое масштабирование, поддержка широкого спектра форматов, преобразование форматов и т. д.

person jcupitt    schedule 08.03.2020

это старый пост, поэтому он может быть уже не актуален, но я написал приложение PyQt, которое использует openslide. Заставить его компилироваться было абсолютным кошмаром, особенно в Windows, поскольку вам нужно включить все открытые двоичные файлы слайдов, но это выполнимо.

Я скомпилировал его с помощью pyinstaller, где вы можете включить файл dylib openslide в команду для компиляции. Ниже приведены команды, которые я бы использовал для каждой ОС, чтобы заставить pyinstaller работать:

# DEPLOY MAC
# sudo pyinstaller -F --windowed -p /Users/callum/callum/QuArray/scripts --add-data "/Users/callum/callum/QuArray/scripts:scripts" --add-binary "/Users/callum/Library/Application Support/pyinstaller/bincache00_py37_64bit/libopenslide.0.dylib:." --icon=scripts/icons/icon.icns QuArray.py
# Windows
# pyinstaller -F --windowed -p C:/Users/callum/QuArray/scripts --add-data "C:/Users/callum/QuArray/scripts;scripts" --icon=scripts/icons/icon.ico QuArray.py
# Linux
# pyinstaller -F -p ~/Documents/QuArray/scripts/ --add-data "scripts:scripts" QuArray.py

Как и следовало ожидать, Linux был самым простым, поскольку ему даже не нужна опция --add-binary! Windows, конечно, больше всего раздражала, так как вам нужно переместить все файлы dylib в рабочий каталог...

Если вы все еще работаете над этим, то удачи!

person Callum    schedule 02.07.2021