Вновь привет всем в моём красноглазом блоге. Давно не писал, потому что было мало причин, чтобы сделать хороший и крупный пост, но теперь в жизни накопилось достаточно событий, чтобы обо всём рассказать.
Отдельно прошу прощения у народа из IDEC, потому что пост в основном откладывался из-за того, что мне было лень ответить на фидбек к предыдущему посту =)
## Картинка для привлечения внимания
Уже традиционно скидываю в блог некоторые красивые картинки поняш, которые попадают под настроение поста и которые лично мне западают в мозги на какое-то время; в этот раз ловите одну няшку в космическом стиле:
[https://ii-net.tk/ii/ii-point.php?q=/f/f/alicorn.blog/O0ZeeDOV6JA416dmvZLj]( https://www.deviantart.com/opalacorn/art/Comet-832894932 )
## Ещё немного про социальные проекты
N недель назад опять погрузился в упаднические состояния на фоне своих обычных неуспехов в общении со многими людьми, и в поиске решения решения снова просидел в одном приложении для психологической помощи анонимусам. Долго думал, стоит ли его здесь пиарить в блоге, но всё-таки расскажу, потому что в своё время познакомился там со многими хорошими людьми.
#### Идея кратко:
1. Люди с психологическими проблемами (или жизненными трудностями) хотят выговориться, получить поддержку, пообщаться с такими же людьми, они создают что-то вроде тем на форуме, где рассказывают анонимно свою историю и ждут отклика
2. Ты можешь либо ответить на обсуждение в виде комментария, либо зайти в отдельное приложение, через которое можно поддержать этого человека в приватном чате
3. В отличие от классических соцсетей и сайтов знакомств, через такое приложение легко подружиться и сблизиться с человеком, потому что вы изначально подходите друг к другу с "уязвимой" стороны и пытаетесь наладить доверительный контакт
#### О приложениях
* Разрабатывается всё одним человеком, русскоязычное
* Проприетарщина
* Ссылка: https://olympapp.com/install/ru
* В магазинах приложений есть аналоги, но их крайне немного
Лично я всегда принимал участие в Олимпе в качестве "поддерживающего" (через приложение Друг). Почему? Наверное, потому что в моих личных проблемах достаточно трудно разобраться и ещё труднее их решить. И, кроме этого, когда я читаю о чужих проблемах и пытаюсь подбодрить человека, то становится легче самому, и собственные переживания отступают на задний план.
Знаю, что среди читателей этих постов есть народ, который интересуется социальными проектами, системами обмена сообщениями, взаимоотношениями людей в интернете, поэтому оставлю эту тему заценить вам на досуге. Может быть, кто-нибудь ответит и выскажет своё личное мнение.
### Небольшое видео для размышлений
Выступление на TED Talks о зависимости от соцсетей, о цифровом дауншифтинге и ему подобных вещах. Запостил один товарищ из группы физиков, но разговор на эту тему среди наших не развился
https://www.youtube.com/watch?v=S_1sRvNpkdg
## Учёба, контрольные, домашки, это вот всё
По учёбе постепенно накапливаются долги, которые нужно в спешке закрывать, чтобы не нарваться на ещё большие проблемы. Это утомляет. В данный момент у меня накопилось
1. Домашка по термодинамике; сдавать, начиная со следующей недели
2. Несколько лабораторных по физике плазмы, расчёты, обоснование + защита
3. Несложные, но отнимающие время лабораторные по компьютерным практикумам в пятницу
4. Физика сплошных сред
5. Начинает поджимать статистическая физика, там куча жести
## по Солнцу родимому
На совещании коллаборации уже начали писать (пока без меня) черновик научной статьи, которая пойдёт для проекта по гирорезонансному излучению. Формулировать ключевые вопросы и вещи, о которых следует упомянуть.
## Список событий на 100 000 Кельвин
Из 82 событий выжило всего **около десятка** интересных кандидатов в гирорезонанс, примерно треть данных оказались испорченными из-за особенностей работы алгоритма.
События с порченными данными появляются из-за того, что алгоритм работает на основе анализа шумов на корреляционных кривых и радиояркостей, и если радиояркость сильно и высоко прыгает, а на корреляционной кривой выше шума ничего не поднимается, то такой подход обязательно гарантирует ложноположительные срабатывания. К счастью, отсекать Bad Data достаточно просто, и никаких неоднозначностей это за собой не несёт. Так что проехали =)
## Проверка на рентген
Чтобы проверить оставшихся кандидатов в гирорезонансные события, имеет смысл проверять их на вспышки не только "тупо на глаз", но и по более весомым признакам, для чего требуется использовать другие приборы, а не только радиотелескоп.
#### Обыкновенные вспышки
1. Длятся на более 2-3 часов, часто сильно меньше
2. "Экспоненциально" затухают и не держатся весь день
3. **Сильно фонят в рентгеновских лучах**
4. Могут не иметь стабильных активных областей
А это означает, что нужно провести ещё и проверки по максимальной яркости в рентгеновском диапазоне, сравнив их с корреляционными кривыми и с графиками максимальной радиояркости. Написал скрипт для загрузки данных с Geostationary Operational Environmental Satellites (GOES), благо, в библиотеке Sunpy уже есть готовые инструменты, которые загружают оттуда графики и позволяют их отобразить.
#### Пример графика GOES X-Ray Imager
На нижнем графике те же самые данные, что и на верхнем, только в логарифмическом масштабе. По оси есть пересчёт в шкалу классов вспышек, и этим заведует библиотека SunPy.
https://ii-net.tk/ii/ii-point.php?q=/f/f/alicorn.blog/uN0tkBA5WBr7nIoTzSIw
#### Jupyter Widgets
Так как мне хотелось сделать построение графиков для нужных дат наиболее простым и удобным способом, и чтобы не было путаницы, решил сделать менюшку, в которой можно подцепить конкретную дату и построить график точно по времени корреляционной кривой. Так как код пишу в среде разработки JupyterLab, то решил воспользоваться встроенной фишкой Jupyter Widgets, которая позволяет делать простенькое GUI прямо посреди кода с графиками и расчётами. И вот что получилось:
https://ii-net.tk/ii/ii-point.php?q=/f/f/alicorn.blog/Fw4NOOhnAHfqoV9cpTxK
#### Код виджетов с примера выше
import ipywidgets as widgets from IPython.display import display, clear_output dates = [] dates29 = [] for crv in curves_100k_filtered: tm = crv["times"][-1] dates.append("%d-%02d-%02d" % (tm.year,tm.month, tm.day)) for crv in curves_29events: tm = crv["times"][-1] dates29.append("%d-%02d-%02d" % (tm.year,tm.month, tm.day)) choose = widgets.Select(options = dates) choose29 = widgets.Select(options = dates29) button = widgets.Button(description="Plot xray") button29 = widgets.Button(description="Plot for 29events") output = widgets.Output() def on_button_clicked(b): with output: clear_output() cc = curves_100k_filtered[dates.index(choose.value)] # строим график goes_plotter.ccflares(cc) def on_button_clicked29(b): with output: clear_output() cc = curves_29events[dates29.index(choose29.value)] goes_plotter.ccflares(cc) button.on_click(on_button_clicked) button29.on_click(on_button_clicked29) left_box = widgets.VBox([choose, button]) right_box = widgets.VBox([choose29, button29]) hbox = widgets.HBox([left_box, right_box]) display(hbox, output)
Ознакомиться с виджетами Jupyter можно в официальной документации: https://ipywidgets.readthedocs.io/en/latest/, а ещё вот здесь: https://jupyter.org/widgets
Кстати, внезапно, посты в этот блог я тоже теперь пишу в JupyterLab, потому что там классный редактор Markdown. А ещё это оказалось удобно, потому что теперь можно писать посты с любого устройства, продолжая с того же места, на котором остановился.
## Line of sight, угол обзора
Поскольку магнитные поля имеют выделенное направление, количество обнаруженных случаев гирорезонанса должно зависеть от угла зрения на солнечный диск. Для каждой гармоники излучения эта зависимость своя, и в данный момент передо мной стоит задача вытащить координаты каждой активной области на солнечном диске и найти их распределение
1. По углу луча зрения наблюдателя
2. По истинной долготе на Солнце
В случае 2 распределение должно получиться равновероятным. Это один из видов проверки на дурака, что исследование корректно. В случае 1 всё должно быть смещено по координатам ближе к краю диска Солнца
## Корреляционная кривая - это сумма только по высоким частотам
Как ни странно, корреляционные кривые оказались не **полной** разницей потока радиоизлучения от Солнца, как я думал раньше, а лишь таковой разницей **по высоким пространственным частотам**. Поэтому некоторые всплески яркости на них не отражаются. И это одна из причин, по которым алгоритм часто захватывает обычные солнечные вспышки и порченные данные.
Кажется, сама суть корреляционной кривой может создавать проблемы на источниках определённого размера, и некоторые найденные случаи неплохо было бы проанализировать на эту тему. Это тоже войдёт в статью
Если кто-то не понял про высокие пространственные частоты, то срочно смотреть инфу про преобразование Фурье и разложение в спектр =) Вот когда кто-то сжимает картинки в JPEG ("Давай, сжимай, е***ий шакал"), то высокие частоты отсекаются, из-за чего мелкие детали на картинке становятся плохо различимыми, теряется чёткость. А при составлении корреляционных кривых для радиотелескопа, я предполагаю, отсекают наоборот низкие частоты, чтобы пренебречь изменениями фоновых яркостей диска Солнца.
Этот пост в блоге: https://blog.alicorn.tk/posts/procrast.html