Loading
Пропустить Навигационные Ссылки.

Авторизоваться
Для зарегистрированных пользователей

Модернизация модуля растеризации изображений

Создание тайлового веб-интерфейса потребовало разработки нового, более эффективного программного решения для формирования отображаемых в нем тайлов изображений, которое позволило бы при сохранении имеющегося функционала существенно повысить скорость выполнения операций. С этой целью был разработан новый универсальный модуль растеризации изображений. Он полностью реализован на языке программирования Python и использует для работы с изображениями свободно распространяемый программный пакет GDAL. Необходимые вычисления в процессе формирования изображений производятся с использованием высокоэффективной библиотеки NumPy, являющейся свободно распространяемой альтернативой пакета MATLAB. В результате, несмотря на использование интерпретируемого языка программирования, основные операции по обработке данных производятся с высокой эффективностью, характерной для компилируемых языков программирования.

В 2022 году велись работы по устранению выявленных в процессе эксплуатации недостатков в работе модуля растеризации, а также по повышению его функционала и быстродействия. В частности, были устранены возникавшие при работе с некоторыми проекциями ошибки формирования изображений, пересекающих меридиан 180 градусов. Также была устранена выявленная в ряде случаев пикселизация изображений, которая была связана с неверным выбором уровня в пирамиде разрешений. На основе метода ndimage.correlate, реализованного в библиотеке c открытым исходным кодом SciPy, были реализованы матричные фильтры для повышения резкости изображений или их размытия. Кроме этого был проведен детальный анализ времени выполнения различных операций, используемых для формирования разных типов изображений, и выявлены фрагменты программного кода, которые нуждались в доработке. Модернизация программного кода позволила в ряде случаев существенно повысить скорость формирования требуемых изображений.