A A A A Автор Тема: Python для любителей астрономии  (Прочитано 5621 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Python для любителей астрономии
« : 06 Фев 2016 [10:58:40] »
Python все чаще используется для решения самых разных задач. Около 50% профессиональных астрономов используют Python для своих нужд. От обработки данных до моделирования.
Язык прост, любой, кто имел хоть минимальный опыт программирования, легко освоит его. Огромное количество пакетов уже написано, достаточно просто спросить в Google и почти все можно найти. Хорошо проработанная документация и огромное количество примеров. Если у вас есть вопрос, то наверняка на него уже есть ответ на Stackoverflow!
В отличии от IDL совершенно бесплатно!
Скрипты Python не привязаны к операционной системе и работают как в Linux, так и в Windows и iOS.

Я использую Python для своей работы. Но некоторые из скриптов могут быть полезны и любителям астрономии. Вряд ли вам будет интересна экстракция эшелле-спектров, но работа с картинками может заинтересует.

Первая партия Python для любителей астрономии:

http://optlab.astro.usu.ru/Python/Python_main/
сам Python и стандартные пакеты.

http://optlab.astro.usu.ru/Python/fits_utils/
утилиты для работы с fits-файлами.

в ближайшее время: астрометрия с использованием astrometry.net (astrotortilla для потоковой астрометрии)

Оффлайн d_w

  • *****
  • Сообщений: 1 947
  • Благодарностей: 131
    • Сообщения от d_w
Re: Python для любителей астрономии
« Ответ #1 : 06 Фев 2016 [20:46:40] »
Цитата
PYWCS, некорректно работающего в Windows.

А в чем некорректность?

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #2 : 06 Фев 2016 [21:11:33] »
 
Цитата
PYWCS, некорректно работающего в Windows.

А в чем некорректность?


в моей версии он просто не доступен.
проходит импорт, но дальше постоянно лезут ошибки.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Re: Python для любителей астрономии
« Ответ #3 : 06 Фев 2016 [21:15:32] »
в ближайшее время: астрометрия с использованием astrometry.net (astrotortilla для потоковой астрометрии)
С онлайновыми или оффлайновыми звёздными картами? Очень интересно!
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #4 : 06 Фев 2016 [21:33:28] »
в ближайшее время: астрометрия с использованием astrometry.net (astrotortilla для потоковой астрометрии)
С онлайновыми или оффлайновыми звёздными картами? Очень интересно!

Только оффлайн. Собственно ставится тортилла = (cygwin+astrometry.net).
Я всего лишь пишу простую GUI для работы с astrometry с поддержкой списков файлов (папок).
Тортилла у меня так и не захотела работать, а возможности запустить потоковою обработку там нет вовсе. Сделано чтобы не запускать Linux каждый раз.

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #5 : 06 Фев 2016 [21:37:23] »
добавил на сервер простую измерялку FWHM. Ищет звезды, фитирует гауссианой, выдает среднее значение по кадру.
так же функцию для вычисления юлианской даты и звездного времени.
сейчас полный список выглядит так:
fits_transform.py
простейшие преобразования фитс-кадров с сохранением астрометрической привязки (WCS).
SIP (полиноминальное представление дисторсии) не используется!

simple_WCS.py
преобразования X-Y координат снимка в Ra-Dec и обратно в соответствии с WCS-шапкой.
сделано как затычка вместо пакета PYWCS, некорректно работающего в Windows.
SIP не используется!

fits_to_RGB.py
выравнивание трех изображений и сложение в одно цветное в соответствии с WCS-шапкой.
тестовые картинки в приложении.

core.py
пример использования функций.

calibrator.py
простая функция для массовой калибровки кадров.
требуется указать путь к папке с кадрами, имя супердарка и суперфлэта, имя объекта.
для работы необходимо, чтобы фитс-шапка была заполнена правильно.
легко модифицируется.

UTtoJD.py
вычисление юлианской даты и звездного времени из UT.

fwhmeter.py
GUI приложение.
поиск звезд на кадре, порог задается параметром sigma.
определение среднего значения FWHM.
возможна модификация с визуализацией.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Re: Python для любителей астрономии
« Ответ #6 : 06 Фев 2016 [22:23:14] »
Странно, при попытке пройти по ссылкам пишет, что сервер не найден -- и на основной адрес тоже.
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #7 : 06 Фев 2016 [22:26:55] »
Странно, при попытке пройти по ссылкам пишет, что сервер не найден -- и на основной адрес тоже.

http://optlab.astro.usu.ru/Python/

только что попробовал из дома - все работает.

Оффлайн 1212Lupus

  • *****
  • Сообщений: 3 094
  • Благодарностей: 196
  • Мне стал не очень нравиться этот форум...
    • Сообщения от 1212Lupus
    • http://belastro.net
Re: Python для любителей астрономии
« Ответ #8 : 06 Фев 2016 [23:03:01] »
Из Беларуси блокирует, через российский анонимайзер заходит нормально.
Радиоастрономы-любители -- объединяемся!


Если утро наступает в три -
Через два часа уже зажгут фонари.
Уже кончился день, а я только встал,
А я только что встал и уже устал.
(с) НОЛЬ

Оффлайн xd

  • *****
  • Сообщений: 17 982
  • Благодарностей: 378
    • Skype - deimos.belastro.net
  • Награды Открытие комет, астероидов, сверхновых звезд, научно значимые исследования.
    • Сообщения от xd
    • Белорусская любительская астрономическая сеть
Re: Python для любителей астрономии
« Ответ #9 : 07 Фев 2016 [09:20:28] »
У меня всё нормально из той же Беларуси :)
У природы нет плохой погоды, у неё просто на нас аллергия.

Учение без размышления бесполезно, но и размышление без учения опасно /Конфуций/
Слово есть поступок. /Л. Толстой/

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #10 : 08 Фев 2016 [15:40:46] »
добавил GUI для работы с astrometry.net на cygwin.
http://optlab.astro.usu.ru/Python/Astrometry/

там же папа с тортиллой, индекс-файлами и тестовыми кадрами.

tortilla_win.py
простая GUI для работы с astrometry.net установленной под cygwin.

Можно обработать одиночный файл или же сразу содержимое папки.
Параметры:
примерные координаты центра снимка (если есть возможность, то считываются из заголовка обрабатываемого файла),
радиус поиска (устаановите прмерно 1/2-1/5 размера поля зрения),
количество испльзуемых звезд (50-100, можно сделать так: 20,40,100)
порог для обнаружения звезд на снимке (чем выше, тем меньше звезд),
бинирование (ускоряет обработку больших (>1000pix) кадров),
примерная оценка масштаба (угловых секунд на пиксель)

программка формирует строку для запуска astrometry.net - astrom.sh.
параметры запуска считываются из графического окна программы.

Оффлайн Андрей Курилов

  • *****
  • Сообщений: 7 385
  • Благодарностей: 170
  • homo homini lupus est
    • Сообщения от Андрей Курилов
Re: Python для любителей астрономии
« Ответ #11 : 08 Фев 2016 [16:15:43] »
программка формирует строку для запуска astrometry.net - astrom.sh.
Вот как погромист-питонщик со стажем скажу вам, что это - херовый, непереносимый код.
В текущем виде приложение перекладывает работу на shell (в данном случае цыгвин). Если те же действа делать средствами питона (что даже проще, чем на шелле), то приложенье будет одинаково замечательно работать под вендой и линуксом, а влачить за собой цыгвин не потребуется.

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #12 : 08 Фев 2016 [16:23:23] »
программка формирует строку для запуска astrometry.net - astrom.sh.
Вот как погромист-питонщик со стажем скажу вам, что это - херовый, непереносимый код.
В текущем виде приложение перекладывает работу на shell (в данном случае цыгвин). Если те же действа делать средствами питона (что даже проще, чем на шелле), то приложенье будет одинаково замечательно работать под вендой и линуксом, а влачить за собой цыгвин не потребуется.

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

Оффлайн Андрей Курилов

  • *****
  • Сообщений: 7 385
  • Благодарностей: 170
  • homo homini lupus est
    • Сообщения от Андрей Курилов
Re: Python для любителей астрономии
« Ответ #13 : 08 Фев 2016 [16:49:19] »
хорошо, напишите, буду очень рад)
Как бы вам объяснить... Мне за это неплохие деньги платят. Примите мои замечания как добрый и ценный совет и будьте этим довольны.
собственно в линуксе этот костыль вообще не нужен. там все проще).
сделано для людей у которых стоит Win и лень запускать виртуальную машину.
Для этого есть кроссплатформенные языки программирования, к которым и относится Python. Вызывать сатанушеллскрипты из приложения - дурной тон. Равно не использовать возможностей языка Python.

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #14 : 08 Фев 2016 [16:55:19] »
хорошо, напишите, буду очень рад)
Как бы вам объяснить... Мне за это неплохие деньги платят. Примите мои замечания как добрый и ценный совет и будьте этим довольны.
собственно в линуксе этот костыль вообще не нужен. там все проще).
сделано для людей у которых стоит Win и лень запускать виртуальную машину.
Для этого есть кроссплатформенные языки программирования, к которым и относится Python. Вызывать сатанушеллскрипты из приложения - дурной тон. Равно не использовать возможностей языка Python.


хорошо, я уже все понял) удачно заработать!

Оффлайн Андрей Курилов

  • *****
  • Сообщений: 7 385
  • Благодарностей: 170
  • homo homini lupus est
    • Сообщения от Андрей Курилов
Re: Python для любителей астрономии
« Ответ #15 : 08 Фев 2016 [17:10:54] »
Нет, погодите, у меня уже любопытство разыгралось. А какого вида команду генерирует ваша программуля для сигвина? Какой у неё шаблон?

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #16 : 08 Фев 2016 [17:49:27] »
Нет, погодите, у меня уже любопытство разыгралось. А какого вида команду генерирует ваша программуля для сигвина? Какой у неё шаблон?

прожка запускает терминал cygwin:
C:\cygwin\bin\mintty.exe /bin/bash -l '/cygdrive/путь/shell.sh'

в котором выполняется скрипт shell.sh:
solve-field бла-бла /cygdrive/D/Work/Python/tortilla_comm/temp/0001495332.fit

Оффлайн krusshАвтор темы

  • *****
  • Сообщений: 2 461
  • Благодарностей: 112
  • http://www.soulfulbits.com/
    • Сообщения от krussh
Re: Python для любителей астрономии
« Ответ #17 : 08 Фев 2016 [19:36:46] »
разговор навел на мысль сделать немного проще и лучше.
в версии tortilla_win_2.py не пишутся промежуточные файлы .bat и .sh. из двух всплывающих окон оставил только одно - с информацией о работе astrometry.net.

Оффлайн Андрей Курилов

  • *****
  • Сообщений: 7 385
  • Благодарностей: 170
  • homo homini lupus est
    • Сообщения от Андрей Курилов
Re: Python для любителей астрономии
« Ответ #18 : 08 Фев 2016 [19:39:28] »
Я доберусь до компутера - поковыряю на предмет костылей. С телефона программировать не удобно :)

Оффлайн Андрей Курилов

  • *****
  • Сообщений: 7 385
  • Благодарностей: 170
  • homo homini lupus est
    • Сообщения от Андрей Курилов
Re: Python для любителей астрономии
« Ответ #19 : 08 Фев 2016 [23:59:56] »
solve-field бла-бла /cygdrive/D/Work/Python/tortilla_comm/temp/0001495332.fit
Не понял, а команда solve-field откуда берётся? Для этого надо устанавливать программулю из екзешника?