Период кодирования Google Summer of Code официально начался 27 мая 2019 года. Для меня это был день, когда началось "погружение" в область кодирования.

Этот пост является вторым в серии постов, которые я пишу каждые две недели, чтобы описать свой путь в качестве студента программы Google Summer of Code, работающего в Sunpy над их набором инструментов для обработки изображений Солнца, Изображение Sunkit.

Почему я называю это погружением, спросите вы? Представьте себе человека в лодке посреди озера, гребущего к дальнему берегу. Он только что начал свое путешествие и надеялся, что сможет добраться до другой стороны, не промокнув, больше, чем это было необходимо. Это было моим условием в начале периода кодирования.

Тогда вы все равно спросите, где погружение. Будьте уверены, я иду к этому. Этот человек не один на лодке, как вы могли подумать. На нем еще два человека. Оба они отличные пловцы и хотят, чтобы этот мужчина научился плавать.

Нельзя научиться плавать, даже не войдя в воду.

Это погружение. Они побуждают человека войти в воду, одновременно поддерживая его, спасая от утопления. Теперь, я надеюсь, вы понимаете, к чему я это веду.

Человек на лодке — это я, два других человека на лодке — мои наставники GSOC — Джек и Набиль, вода — это сложности алгоритмов, а само озеро — это Google Summer of Code.

Первые две недели были именно такими, как я описал выше — наполненными моментами «впервые», которые когда-то были немного пугающими, но с помощью всех — моих наставников, сообщества Sunpy — все идет гладко.

Теперь о том, что было сделано за эти две недели —

  • Реализована многомасштабная нормализация по Гауссу

Многомасштабная нормализация Гаусса (MGN) — это алгоритм для улучшения изображений поверхности и лимба Солнца. Это сложный алгоритм. За эти две недели я написал алгоритм вместе с тестами и примерами к нему.

  • Завершен фильтр радиального градиента, нормализующий Фурье

Я написал код для этого алгоритма до официального запуска GSOC, но предстояло еще многое сделать. За последние недели я написал больше тестов и примеров, исправил документацию. Наряду с этим я также работал над нормализующим радиальным градиентным фильтром, добавляя тесты, примеры и исправления документации.

  • Реализован алгоритм OCCULT-2

Oriented Coronal CUrved Loop Tracing (OCCULT) — это алгоритм автоматического отслеживания петель на поверхности Солнца и в короне. Я только что написал код на данный момент без какого-либо тестирования. Я не могу предоставить какое-либо выходное изображение, потому что код не был проверен и проверен. Это один из самых сложных алгоритмов, и мне потребовалась почти неделя, чтобы полностью понять его, но я уверен, что потребуется еще некоторое время, прежде чем он будет завершен.

Работа, которую предстоит выполнить в ближайшие недели —

  • Подготовьте оба запроса на включение в MGN и FNRGF для слияния.
  • Поработайте над кодом OCCULT-2, проведите всестороннее тестирование кода и убедитесь, что все работает нормально.

Надеюсь, вам понравилось читать. Пожалуйста, перейдите к Часть 3: Отладка, чтобы ознакомиться с дальнейшими обновлениями.