Визуализация научных данных на Python. (Александр Киселев)
Для оптимальной работы рекомендуем скачать и установить Anaconda (сборка, которая включает Python и все нужные для лекции библиотеки — numpy, scipy, matplotlib):
https://www.continuum.io/downloads
Дополнительные библиотеки можно установить так (в командной строке):
conda install astropy
Решения задач (Киселев Александр)
Свои решения задач присылайте artem_vesnin@iszf.irk.ru
Задача 1
Дан набор данных:
xdata = np.array([2,1.64,1.33,0.7,0,0.45,1.2,1.64,2.32,2.9])
ydata = np.array([0.699369,0.700462,0.695354,1.03905,1.97389,2.41143,1.91091,0.919576,0.730975,1.42001])
И функция:
def func(x, p1,p2):
return p1*np.cos(p2*x) + p2*np.sin(p1*x)
Необходимо подобрать коэффициенты p1 и p
Задача 2
На сайте имеются глобальные карты ионосферных параметров, например электронной концентрации, полного электронного содержания, ветров и пр. Данные получены с использованием модели GSM TIP(Global numerical
selfconsistent and timedependent model of the thermosphere, ionosphere and protonosphere.). Необходимо написать скрипт, который на вход принимает данные с данного сайта и строит карту в виде контура.
Пример вывода:
Задача 3
В обсерватории NSO(National Solar Observatory) имеется инструмент SOLIS (Synoptic Optical Longterm Investigations of the Sun), который проводит ежедневные наблюдения Солнца. На инструменте установлено несколько телескопов: 50 сантиметровый векторный спектромагнитограф, 14 сантиметровый полнодисковый телескоп и 8 миллиметровый телескоп для наблюдения за Солнцем как звездой. Необходимо написать скрипт, который скачивает последние доступные данные для 50 сантиметрового спектромагнитографа и выводит полнодисковую магнитограмму, область с максимальным значением поля (размером 200 на 200 пикселей), и срезы( вертикальный и горизонтальный) через центр этой области. Ссылка на последние данные: http://solis.nso.edu/pubkeep/vsm_current_m630l_hr.fits.gz (http://solis.nso.edu/pubkeep/vsm_current_m630l_hr.fits.gz) Для скачивания данных можно использовать метод urlretrieve из модуля urllib.request.Данные скачиваются в формате fits запакованными в архив gz. Для открытия можно использовать команду open из модуля astropy.fits. (Распаковывать данные из архива не обязательно). Полнодисковая магнитограмма находится по индексу 0 в fits файле. Примерно то, как должно получиться:
Задача 4
Дано изображение. Необходимо убрать шум. Подсказка: на исходное (чистое изображение был наложен шум) нужно использовать преобразование Фурье что бы выявить шумовые гармоники