Skip to main content

Синтез радиоизображений с помощью пакета srhdata

Установка

Для установки требуется ОС Linux/MacOS. В библиотеке используются пакеты casatools и casatasks, которые не выпускаются для Windows.

Рекомендуется использовать с Anaconda/Miniconda. Для начала нужно создать среду с версией Python 3.12:

conda create -n myenv python=3.12

Затем нужно активировать среду и установить srhdata c github:

conda activate myenv
pip install git+https://github.com/maria-globa/srhdata
python -m casaconfig --update-all

Для удобства в среду можно установить spyder (при установке среда должна быть активирована):

conda install spyder -c conda-forge

Для проверки выполнить следующие строки:

import srhdata

import ftplib
ftp = ftplib.FTP('ftp.rao.istp.ac.ru', 'anonymous', 'anonymous')
ftp.cwd('SRH/SRH0612/2023/06/12')
filename = 'srh_0612_20230612T030033.fit'
with open( filename, 'wb' ) as file :
    ftp.retrbinary('RETR %s' % filename, file.write)
    file.close()
srh_fits = srhdata.open(file)

Здесь происходит скачивание файла с сырыми данными СРГ с ftp-сервера и создание объекта srh_fits, содержащего данные из файла. Веб-версия архива с данными доступна по ссылке: https://ftp.rao.istp.ac.ru/SRH/. Можно скачать любой другой файл из папок SRH0306, SRH0612 или SRH1224.

Построение изображений

Чтобы построить изображение, нужно вызвать метод makeImage:

srh_fits.makeImage(path = './', scan = 0, average = 20, frequency=0)

После выполнения в рабочей директории должны появиться файлы srh_srh_*_I.fit srh_srh_*_V.fit

Параметры метода makeImage:

  • path (string = './') - путь для сохранения готовых изображений
  • frequency (int = 0) - индекс частоты (от 0 до 15)
  • scan (int = 0) - номер скана (от 0 до 19)
  • average (int = 0) - количество сканов для усреднения
  • RL (bool = False) - если True, то готовые изображения будут построены для левой и правой поляризации, в противном случае I,V.
  • calibtable (string = '') - путь к калибровочной таблице, файл с расширением .JSON или .HDF5
  • clean_disk (bool = True) - опция для чистки диска, по умолчанию True
  • calibrate (bool = True) - параметр, позволяющий отключить калибровку данных. При передачи таблицы в calibtable этот параметр не учитывается
  • naxis (int = 512) - размер готовых изображений
  • cdelt (float = 4.9) - вес пиксела в угловых секундах
  • remove_tables (bool = True) - при построении изображений создается ряд промежуточных файлов (uvfits, Measurement Set и изображения, которые создаетtclean()), которые удаляются после завершения чистки. Если поставить эту опцию в False, эти файлы не будут удаляться
  • save_model (bool = False) - сохранить модель, используемую при чистке, в отдельные фалйы .fit
  • use_mask (bool = True) - использовать маску при чистке для того, чтобы чистились только яркие источники
  • niter (int = 100000) - количетво итераций чистки
  • threshold (float = 40000) - порог чистки
  • **kwargs - аргументы, передаваемые в функцию tclean(). Полный список аргументов по ссылке: https://casadocs.readthedocs.io/en/stable/api/tt/casatasks.imaging.tclean.html