Книга по Open Source процессору спутниковой интерферометрии PyGMTSAR (Python InSAR)

Почти четверть века назад я занимался моделированием интерференции и голографии в оптических нелинейных средах — попросту говоря, фотополимерах —, а сегодня в качестве хобби разрабатываю открытый InSAR процессор PyGMTSAR. Если вам покажется странным, почему в качестве хобби, то это просто — потому, что я могу сделать продукт лучше, чем аналоги от НАСА (JPL ISCE) и Европейского космического агенства (SNAP), а вот гранты на разработку они выдают гражданам США и Евросоюза (коим я не являюсь). Что касается российской науки, то лишь спустя десятилетие после окончания университета я случайно узнал (гугл показал ссылку на меня же в запросе, связанном с интерферограммами в фотополимерах), что моя магистерская работа заняла первое место во всероссийском конкурсе, где ННГУ им. Лобачевского из Нижнего Новгорода, кажется, и вовсе не появлялся (хотя после выпуска и завершения конкурса я еще работал в университете, я даже не знал, что мою работу отправляли на всероссийский конкурс). Наверное, это вполне объясняет, почему же мне интересна тема InSAR. А вот к фотополимерным принтерам, которые с тех пор стали мейнстримом, душа не лежит и мне гораздо интереснее именно теоретическая часть моей давней работы, которая и является основой спутниковой интерферометрии. На хабре я уже публиковал серию статей на русском языке по обработку данных с радарных спутников Sentinel-1, а для тех, кто хочет подробнее, предлагаю обратиться к моей электронной книге на английском. Она доступна во многих онлайн издательствах, включая Амазон, а также значительная часть контента опубликована в открытом PDF (также другие главы можно найти в моих постах на линкедин, когда я выкладывал драфты в процессе написания книги).

o5z0loox_a8lr14m5vbxlug5nde.jpeg


Аннотация

Серия книг «PyGMTSAR: Sentinel-1 Python InSAR» послужит вам ключом для освоению вселенной спутниковой интерферометрии для данных спутников Sentinel-1 с помощью открытой Python-библиотеки для InSAR, PyGMTSAR. Написанные разработчиком, эти книги служат практическими руководствами по работе с PyGMTSAR в Jupyter ноутбуках или консольных Python-скриптах.

Книга «PyGMTSAR: Sentinel-1 Python InSAR. Введение» рекомендует Google Colab, бесплатный облачный сервис, как идеальную платформу для начинающих. Читатели могут исследовать применения PyGMTSAR для отслеживания сейсмической активности, изучения результатов извержений вулканов, оценки состояния инфраструктуры и прочих задач с помощью серии интерактивных блокнотов. Каждый блокнот сопровождается инструкциями для их адаптации к вашим проектам и обучения.

В руководстве также представлен Docker Desktop, популярная открытая платформа для контейнеризации. Docker-образы PyGMTSAR создают рабочее пространство, аналогичное локальной установке системы, позволяя проводить интенсивные вычисления на вашем локальном компьютере и на облачных хостах. Ноутбуки Google Colab доступны в докер образах, а также добавлены более ресурсоемкие примеры.

Этот учебник раскрывает принципы ленивых и отложенных вычислений. Python Dask, распределенный планировщик задач, интеллектуально разбивает и конвейеризирует задачи. Такой подход позволяет эффективно обрабатывать большие данные с помощью PyGMTSAR, будь то на локальном компьютере или облачных системах.

Студент вы, исследователь или профессионал с интересом к дистанционному зондированию и наблюдению за Землей, книга «PyGMTSAR: Sentinel-1 Python InSAR. An Introduction» обеспечивает вас вас необходимыми навыками и знаниями для работы со спутниковой интерферометрией на языке программирования Python.

Update Касаемо больших программных продуктов от коллективов разработчиков я давно не испытываю иллюзий — мне доводилось переписывать на Python огромный пакет моделирования, разрабатываемый много лет десятками разработчиков из крупных университетов на Matlab. Около года эта работа заняла, после чего результат, вычисляемый в оригинале на ~100 ядерном кластере за двое суток (притом, имеющиеся 5 версий продукта выдавали разные результаты, и надо было запустить все версии поочередно, чтобы скомпилировать из результатов корректные итоговые графики), стал считаться за 2 минуты на MacBook Pro 13» 2014 года (и все результаты доступны в единственной версии, конечно же). Разгадка проста — исходная система оперирует огромными 3D растрами, которые в Matlab коде зачем-то реализованы как полиморфные объекты 2D растры, состоящие из полиморфных объектов блоков пикселей, а те, в свою очередь, из полиморфных объектов пикселов (так что даже операция сложения двух небольших растров занимала продолжительное время). И все это обычное дело для научного софта.


Также смотрите


© Habrahabr.ru