Синтез радиоизображений с помощью пакета srhdata
Установка
Рекомендуется использовать с 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__I.fit 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