Skip to content

VIRAC-SPACE/Maser-Data-Processing-Suite

Repository files navigation

MDPS - Maser Data Processing Suite

Table of Contents

Capabilities of MDPS

MDPS is maser data processing suite, with user-friendly GUI. Currently, it allows users to perform:

  • Process SDR output
  • Display monitoring
  • Visualize data for publications and presentation

Dependencies

Configuration of MDPS

MDPS consist of two configuration files: 1) config.cfg, 2) plot.cfg, both are located in the directory config. Configuration file plot.cfg have only one section main that contain matplotlib configuration see more in https://matplotlib.org/3.2.1/tutorials/introductory/customizing.html. Configuration file config.cfg have these sections paths, parameters, velocities, sources, cuts, base_frequencies_SDR, base_frequencies_DBBC, stations, gauss_lines, Full_source_name. The paths sections contain all of the data input and output paths. The parameters section are a collection of hardcoded parameters used in the data processing. The velocities section is to use to find the local maximum that is monitored. The section sources contain RA, DEC and epoch for observed source. The cuts section is signal regions that are used to compute signal to noise. The sections base_frequencies_SDR and base_frequencies_DBBC is used to compute the Doppler effect. The section stations contain stations coordinates. The section gauss_lines is used to compute Gauss approximation of spectre. Section Full_source_name is used for visualizing data.

Directory structure

MDPS use 5 (dataFilePath, logPath, outputFilePath, resultFilePath, prettyLogsPath) different directories. The directory dataFilePath contains SDR output, directory logPath contain SDR logs, directory outputFilePath contain script sdr_fs.py and script total_spectrum_analyzer_qt5.py outputs, directory resultFilePath contains monitoring files, directory prettyLogsPath contains ExperimentsLogReader output products.

Processing SDR output

SDR for each scan creates four files r0 r1 s0 s1. File name is <source> __f<frequency> _<station label> _<iteration> _no<scan number><r0, r1, s0, s1>.dat file type is ASCII. Script sdr_fs.py us frequency shifting algorithm described by publication:

VIRAC SDR back-end is described in this publication:

It creates output file with name _ _ _.h5 that file, has hdf5 format. With table amplitude, that have colons velocity and amplitude for left and right polarization.

Script total_spectrum_analyzer_qt5.py smooth data and create output for monitoring. It appends sdr_fs.py output with these tables amplitude_corrected, amplitude_corrected_not_smooht.

The main.py script has source and line mandatory parameters. The main.py script can be run with additional options:

-v or --version to display the current version

-h or --help for help

-c or --config to point to configuration file. Default path is: config/config.cfg

Scripts Description
main.py Automatically call sdr_fs.py and total_spectrum_analyzer_qt5.py
main_gui.py Automatically call sdr_fs.py and total_spectrum_analyzer_qt5.py and show the progress of data processing
sdr_fs.py Process four output files from SDR
total_spectrum_analyzer_qt5.py Process sdr_fs.py output

Monitoring

To view monitoring script monitoring.py must be executed, this script has no parameters. After executing this script users will see GUI form that will ask to set observed source and frequency, after user will see flux density (Jy) of average polarization as function of time. By clicking on each point user will see spectre of that observation. User have options to change polarizations from average to left or right. User also two other options plot periods and plot maps. The option plot periods show Lomb-Scargle Periodogram using https://docs.astropy.org/en/stable/api/astropy.timeseries.LombScargle.html. The option plot maps create map of monitoring x axis is velocity, y axis is time color is flux density (Jy).
An additional option is to use script multiple_line_monitoring.py, this script show monitoring of multiple stable sources, currently these source and thay compunents are selected - g32p745 (30.49, 39.18), w51 (59.29), g59p783 (19.2), on1 (14.64), s252 (10.84), ngc7538 (-58.04), w3oh (-44.6).

Scripts Description
monitoring.py Show how amplitude change in time for given source
multiple_line_monitoring.py Show how amplitude change in time for calibrator source

Publication and presentation of observations

This package contains various scripts that allow creating visualisations for presentations and publications, these scripts should be executed from publications_and_presentations folder.

Scripts Description
maser_hist.py Has parameter spectr_files_for_all_sources.py, that contain list for each source, in that list are three output file names(for observation with lowest, middle and high amplitude) for all the source spectral low middle and high density is computed and histogram computed.
monitoring_for_publication.py Create LATEX table for source with variability statistics
spectr_monitoring.py Create a plot for publications where spectra and monitoring plot are viewed side by side
spectr_movie.py Show how spectr changes over time and allow to create movie

Changelog

Version 2.0

Changes since version 2.0 are:

  • Fix plot saving problem
  • created main GUI that show the progress of data processing

First release. Changes since version pre1.0 are:

  • Enable SDR data processing
  • Enable to view monitoring
  • Enable to create visualisations for presentations and publications

Getting Help

Bug reports, feature requests and make contributions (e.g. code patches) can be reported by opening a "new issue" ticket on GitHub. Please give as much information (e.g. the software component, version) as you can in the ticket. For bugs, it is extremely useful if a small self-contained code snippet that reproduces the problem is provided.

Acknowledgements

This software was written by Jānis Šteinbergs under the supervision of Artis Aberfelds. If you make use of this software to get results that appear in a publication or presentation please include this acknowledgement: "We have made use of MDPS, a tool developed by Janis Steinbergs."

This work was supported by Latvian Council of Science Project “Research of Galactic Masers” Nr.: lzp-2018/1-0291.

About

Data Processing tools for Radio Astronomy for Maser Observation

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •