В 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-файл, содержащий все плитки. Вы найдете его в три или четыре раза быстрее, а почтовым индексом, очевидно, легче управлять.