Как использовать Openslide- PHP -Bindings для создания файла .dzi - PullRequest
1 голос
/ 03 марта 2020

Я пытаюсь создать файл .dzi из файла .svs (загруженного из openslide.org для проверки биомедицинских данных). Мы нашли пару библиотек, включая vips, php -vips и собственную библиотеку openslide lib openslide, написанную на скриптах python, c ##, а также на php: (https://github.com/BlakSneil/Openslide-PHP-Bindings)

Openslide- php -привязки показались наиболее простыми, поэтому я скачал и опробовал их, но мне не удалось добиться прогресса в создании файла .dzi из файла .svs. При тестировании скрипта он выдает эту ошибку.

( ! ) Fatal error: Uncaught Error: Call to undefined function openslide_open() in C:\wamp\www\xxxxxx

любая помощь от вас, ребята, будет отличной, так как я полностью застрял в том, как конвертировать этот файл .svs в .dzi в течение нескольких дней подряд. .

Редактировать: согласно jcuppit, мы пытаемся php -vips. Основываясь на инструкциях по установке https://github.com/libvips/php-vips, пытаясь установить php -vips на наш linux centos aws ec2 сервер, мы обнаружили эту ошибку в cli

[root@xx /]# yum install libvips-dev
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: d36uatko69830t.cloudfront.net
 * epel: mirrors.piconets.webwerks.in
 * extras: d36uatko69830t.cloudfront.net
 * remi: mirror.23media.com
 * remi-php55: mirror.23media.com
 * remi-php56: mirror.23media.com
 * remi-safe: mirror.23media.com
 * updates: d36uatko69830t.cloudfront.net
No package libvips-dev available.
Error: Nothing to do

1 Ответ

0 голосов
/ 05 марта 2020

В php -vips вы бы сделали это:

$image = Vips\Image::newFromFile("some-slide-image.svs");
$image->dzsave("my-pyramid-name");

Документы здесь:

https://libvips.github.io/libvips/API/current/Making-image-pyramids.md.html

Однако php -vips не будут работать на Windows, который, похоже, является платформой, которую вы используете.

Если вы не можете сменить платформу, лучше всего выложить на vips.exe и вместо этого сделать это в командной строке. Загрузите сборку libvips Windows отсюда:

https://github.com/libvips/libvips/releases

Вам необходимо vips-dev-w64-all-8.9.1.zip, чтобы получить поддержку openslide.

Попробуйте запустить ее в терминале, чтобы убедиться, что он работает:

vips.exe dzsave some-slide-image.svs my-pyramid-name

Затем просто запустите это с php.

Вы обнаружите, что создание пирамиды очень медленное на Windows, потому что Windows Файловая система ненавидит множество маленьких файлов в одном каталоге. Вы увидите драматическое ускорение c, если вместо этого напишите в большой zip-файл. Попробуйте:

vips.exe dzsave some-slide-image.svs my-pyramid-name.zip

Теперь dzsave создаст несжатый zip-файл, содержащий все плитки. Вы найдете его в три или четыре раза быстрее, а почтовым индексом, очевидно, легче управлять.

...