astrohack.mds

Module Contents

Classes

AstrohackDataFile

Base class for the Astrohack data files

AstrohackImageFile

Data class for holography image data.

AstrohackHologFile

Data Class for extracted holography data

AstrohackPanelFile

Data class for holography panel data.

AstrohackPointFile

Data Class for holography pointing data.

AstrohackLocitFile

Data Class for extracted gains for antenna location determination

AstrohackPositionFile

Data Class for extracted antenna location determination

class AstrohackDataFile(file_stem: str, path: str = './')[source]

Base class for the Astrohack data files

class AstrohackImageFile(file: str)[source]

Data class for holography image data.

Data within an object of this class can be selected for further inspection, plotted or outputed to FITS files.

property is_open(self)bool[source]

Check whether the object has opened the corresponding hack file.

Returns

True if open, else False.

Return type

bool

open(self, file: str = None)bool[source]

Open holography image file.

Parameters

file (str, optional) – File to be opened, if None defaults to the previously defined file

Returns

True if file is properly opened, else returns False

Return type

bool

summary(self)[source]

Prints summary of the AstrohackImageFile object, with available data, attributes and available methods

select(self, ant: str, ddi: int, complex_split: str = 'cartesian')object[source]

Select data on the basis of ddi, scan, ant. This is a convenience function.

Parameters
  • ddi (int) – Data description ID, ex. 0.

  • ant (str) – Antenna ID, ex. ea25.

  • complex_split (str, optional) – Is the data to b left as is (Real + imag: cartesian, default) or split into Amplitude and Phase (polar)

Returns

Corresponding xarray dataset, or self if selection is None

Return type

xarray.Dataset or AstrohackImageFile

export_to_fits(self, destination: str, complex_split: str = 'cartesian', ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', parallel: bool = False)None[source]

Export contents of an AstrohackImageFile object to several FITS files in the destination folder

Parameters
  • destination (str) – Name of the destination folder to contain plots

  • complex_split (str, optional) – How to split complex data, cartesian (real + imag, default) or polar (amplitude + phase)

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • parallel (bool, optional) – If True will use an existing astrohack client to export FITS in parallel, default is False

Export the products from the holog mds onto FITS files to be read by other software packages

Additional Information The image products of holog are complex images due to the nature of interferometric measurements and Fourier transforms, currently complex128 FITS files are not supported by astropy, hence the need to split complex images onto two real image products, we present the user with two options to carry out this split.

Available complex splitting possibilities:

  • cartesian: Split is done to a real part and an imaginary part FITS files

  • polar: Split is done to an amplitude and a phase FITS files

The FITS files produced by this function have been tested and are known to work with CARTA and DS9

plot_apertures(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', plot_screws: bool = False, amplitude_limits: Union[List[float], Tuple, numpy.array] = None, phase_unit: str = 'deg', phase_limits: Union[List[float], Tuple, numpy.array] = None, deviation_unit: str = 'mm', deviation_limits: Union[List[float], Tuple, numpy.array] = None, panel_labels: bool = False, display: bool = False, colormap: str = 'viridis', figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300, parallel: bool = False)None[source]

Aperture amplitude and phase plots from the data in an AstrohackImageFIle object.

Parameters
  • destination (str) – Name of the destination folder to contain plots

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • plot_screws (bool, optional) – Add screw positions to plot, default is False

  • amplitude_limits (numpy.ndarray, list, tuple, optional) – Lower than Upper limit for amplitude in volts default is None (Guess from data)

  • phase_unit (str, optional) – Unit for phase plots, defaults is ‘deg’

  • phase_limits (numpy.ndarray, list, tuple, optional) – Lower than Upper limit for phase, value in phase_unit, default is None (Guess from data)

  • deviation_unit (str, optional) – Unit for deviation plots, defaults is ‘mm’

  • deviation_limits (numpy.ndarray, list, tuple, optional) – Lower than Upper limit for deviation, value in deviation_unit, default is None (Guess from data)

  • panel_labels (bool, optional) – Add panel labels to antenna surface plots, default is False

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • colormap (str, optional) – Colormap for plots, default is viridis

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

  • parallel (bool, optional) – If True will use an existing astrohack client to produce plots in parallel, default is False

Produce plots from astrohack.holog results for analysis

plot_beams(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', complex_split: str = 'polar', angle_unit: str = 'deg', phase_unit: str = 'deg', display: bool = False, colormap: str = 'viridis', figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300, parallel: bool = False)None[source]

Beam plots from the data in an AstrohackImageFIle object.

Parameters
  • destination (str) – Name of the destination folder to contain plots

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • angle_unit (str, optional) – Unit for L and M axes in plots, default is ‘deg’.

  • complex_split (str, optional) – How to split complex beam data, cartesian (real + imag) or polar (amplitude + phase, default)

  • phase_unit (str) – Unit for phase in ‘polar’ plots, default is ‘deg’.

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • colormap (str, optional) – Colormap for plots, default is viridis

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

  • parallel (bool, optional) – If True will use an existing astrohack client to produce plots in parallel, default is False

Produce plots from astrohack.holog results for analysis

class AstrohackHologFile(file: str)[source]

Data Class for extracted holography data

Data within an object of this class can be selected for further inspection or plotted for calibration diagnostics.

property is_open(self)bool[source]

Check whether the object has opened the corresponding hack file.

Returns

True if open, else False.

Return type

bool

open(self, file: str = None, dask_load: bool = True)bool[source]

Open extracted holography file. :param file: File to be opened, if None defaults to the previously defined file :type file: str, optional :param dask_load: Is file to be loaded with dask?, default is True :type dask_load: bool, optional

Returns

True if file is properly opened, else returns False

Return type

bool

summary(self)None[source]

Prints summary of the AstrohackHologFile object, with available data, attributes and available methods

select(self, ddi: int, map_id: int, ant: str)object[source]

Select data on the basis of ddi, scan, ant. This is a convenience function.

Parameters
  • ddi (int) – Data description ID, ex. 0.

  • map_id (int) – Mapping ID, ex. 0.

  • ant (str) – Antenna ID, ex. ea25.

Returns

Corresponding xarray dataset, or self if selection is None

Return type

xarray.Dataset or AstrohackHologFile

property meta_data(self)[source]

Retrieve AstrohackHologFile JSON metadata.

Returns

JSON metadata for this AstrohackHologFile object

Return type

dict

plot_diagnostics(self, destination: str, delta: float = 0.01, ant: Union[str, List[str]] = 'all', ddi: Union[str, List[str]] = 'all', map_id: Union[int, List[int]] = 'all', complex_split: str = 'polar', display: bool = False, figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300, parallel: bool = False)None[source]

Plot diagnostic calibration plots from the holography data file.

Parameters
  • destination (str) – Name of the destination folder to contain diagnostic plots

  • delta (float, optional) – Defines a fraction of cell_size around which to look for peaks., defaults to 0.01

  • ant (list or str, optional) – antenna ID to use in subselection, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – data description ID to use in subselection, defaults to “all” when None, ex. 0

  • map_id (list or int, optional) – map ID to use in subselection. This relates to which antenna are in the mapping vs. scanning configuration, defaults to “all” when None, ex. 0

  • complex_split (str, optional) – How to split complex data, cartesian (real + imaginary) or polar (amplitude + phase), default is polar

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

  • parallel (bool, optional) – Run in parallel, defaults to False

Additional Information The visibilities extracted by extract_holog are complex due to the nature of interferometric measurements. To ease the visualization of the complex data it can be split into real and imaginary parts (cartesian) or in amplitude and phase (polar).

Available complex splitting possibilities:

  • cartesian: Split is done to a real part and an imaginary part in the plots

  • polar: Split is done to an amplitude and a phase in the plots

plot_lm_sky_coverage(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', map_id: Union[int, List[int]] = 'all', angle_unit: str = 'deg', time_unit: str = 'hour', plot_correlation: Union[str, List[str]] = None, complex_split: str = 'polar', phase_unit: str = 'deg', display: bool = False, figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300, parallel: bool = False)None[source]

Plot directional cosine coverage.

Parameters
  • destination (str) – Name of the destination folder to contain plots

  • ant (list or str, optional) – antenna ID to use in subselection, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – data description ID to use in subselection, defaults to “all” when None, ex. 0

  • map_id (list or int, optional) – map ID to use in subselection. This relates to which antenna are in the mapping vs. scanning configuration, defaults to “all” when None, ex. 0

  • angle_unit (str, optional) – Unit for L and M axes in plots, default is ‘deg’.

  • time_unit (str, optional) – Unit for time axis in plots, default is ‘hour’.

  • plot_correlation (str, list, optional) – Which correlation to plot against L and M, default is None (no correlation plots).

  • complex_split (str, optional) – How to split complex data, cartesian (real + imaginary) or polar (amplitude + phase), default is polar

  • phase_unit (str) – Unit for phase in ‘polar’ plots, default is ‘deg’.

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

  • parallel (bool, optional) – Run in parallel, defaults to False

Additional Information The visibilities extracted by extract_holog are complex due to the nature of interferometric measurements. To ease the visualization of the complex data it can be split into real and imaginary parts (cartesian) or in amplitude and phase (polar).

Available complex splitting possibilities:

  • cartesian: Split is done to a real part and an imaginary part in the plots

  • polar: Split is done to an amplitude and a phase in the plots

Plotting correlations:

  • RR, RL, LR, LL: Are available for circular systems

  • XX, XY, YX, YY: Are available for linear systems

  • all: Plot all correlations in dataset

export_to_aips(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', map_id: Union[int, List[int]] = 'all', parallel: bool = False)None[source]

Export data compatible to AIPS’s HOLOG task

Parameters
  • destination (str) – Name of the destination folder to contain SCII files

  • ant (list or str, optional) – antenna ID to use in subselection, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – data description ID to use in subselection, defaults to “all” when None, ex. 0

  • map_id (list or int, optional) – map ID to use in subselection. This relates to which antenna are in the mapping vs. scanning configuration, defaults to “all” when None, ex. 0

  • parallel (bool, optional) – Run in parallel, defaults to False

Additional Information

This method converts the data for an Antenna mapping to the ASCII format used by AIPS’s HOLOG task. Currently only stokes I is supported.

class AstrohackPanelFile(file: str)[source]

Data class for holography panel data.

Data within an object of this class can be selected for further inspection, plotted or exported to FITS for analysis or exported to csv for panel adjustments.

property is_open(self)bool[source]

Check whether the object has opened the corresponding hack file.

Returns

True if open, else False.

Return type

bool

open(self, file: str = None)bool[source]

Open panel holography file. :param file: File to be opened, if None defaults to the previously defined file :type file: str, optional

Returns

True if file is properly opened, else returns False

Return type

bool

summary(self)None[source]

Prints summary of the AstrohackPanelFile object, with available data, attributes and available methods

get_antenna(self, ant: str, ddi: int)astrohack._utils._panel_classes.antenna_surface.AntennaSurface[source]

Retrieve an AntennaSurface object for interaction

Parameters
  • ant (str) – Antenna to be retrieved, ex. ea25.

  • ddi (int) – DDI to be retrieved for ant_id, ex. 0

Returns

AntennaSurface object describing for further interaction

Return type

AntennaSurface

export_screws(self, destination: str, ant: Union[str, List[str]] = None, ddi: Union[int, List[int]] = None, unit: str = 'mm', threshold: float = None, panel_labels: bool = True, display: bool = False, colormap: str = 'RdBu_r', figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300)None[source]

Export screw adjustments to text files and optionally plots.

Parameters
  • destination (str) – Name of the destination folder to contain exported screw adjustments

  • ant (list or str, optional) – List of antennas/antenna to be exported, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be exported, defaults to “all” when None, ex. 0

  • unit (str, optional) – Unit for screws adjustments, most length units supported, defaults to “mm”

  • threshold (float, optional) – Threshold below which data is considered negligible, value is assumed to be in the same unit as the plot, if not given defaults to 10% of the maximal deviation

  • panel_labels (bool, optional) – Add panel labels to antenna surface plots, default is True

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • colormap (str, optional) – Colormap for screw adjustment map, default is RdBu_r

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the screw adjustment map size in inches

  • dpi (int, optional) – Screw adjustment map resolution in pixels per inch, default is 300

Produce the screw adjustments from astrohack.panel results to be used at the antenna site to improve the antenna surface

plot_antennas(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', plot_type: str = 'deviation', plot_screws: bool = False, amplitude_limits: Union[Tuple, List[float], numpy.array] = None, phase_unit: str = 'deg', phase_limits: Union[Tuple, List[float], numpy.array] = None, deviation_unit: str = 'mm', deviation_limits: Union[Tuple, List[float], numpy.array] = None, panel_labels: bool = False, display: bool = False, colormap: str = 'viridis', figure_size: Union[Tuple, List[float], numpy.array] = (8.0, 6.4), dpi: int = 300, parallel: bool = False)None[source]

Create diagnostic plots of antenna surfaces from panel data file.

Parameters
  • destination (str) – Name of the destination folder to contain plots

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • plot_type (str, optional) – type of plot to be produced, deviation, phase, ancillary or all, default is deviation

  • plot_screws (bool, optional) – Add screw positions to plot

  • amplitude_limits (numpy.ndarray, list, tuple, optional) – Lower than Upper limit for amplitude in volts default is None (Guess from data)

  • phase_unit (str, optional) – Unit for phase plots, defaults is ‘deg’

  • phase_limits (numpy.ndarray, list, tuple, optional) – Lower than Upper limit for phase, value in phase_unit, default is None (Guess from data)

  • deviation_unit (str, optional) – Unit for deviation plots, defaults is ‘mm’

  • deviation_limits (numpy.ndarray, list, tuple, optional) – Lower than Upper limit for deviation, value in deviation_unit, default is None (Guess from data)

  • panel_labels (bool, optional) – Add panel labels to antenna surface plots, default is False

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • colormap (str, optional) – Colormap for plots, default is viridis

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

  • parallel (bool, optional) – If True will use an existing astrohack client to produce plots in parallel, default is False

Produce plots from astrohack.panel results to be analyzed to judge the quality of the results

Additional Information .. rubric:: Available plot types: - deviation: Surface deviation estimated from phase and wavelength, three plots are produced for each antenna

and ddi combination, surface before correction, the corrections applied and the corrected surface, most length units available

  • phase: Phase deviations over the surface, three plots are produced for each antenna and ddi combination,

    phase before correction, the corrections applied and the corrected phase, deg and rad available as units

  • ancillary: Two ancillary plots with useful information: The mask used to select data to be fitted, the

    amplitude data used to derive the mask, units are irrelevant for these plots

  • all: All the plots listed above. In this case the unit parameter is taken to mean the deviation unit, the

    phase unit is set to degrees

export_to_fits(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', parallel: bool = False)None[source]

Export contents of an Astrohack MDS file to several FITS files in the destination folder

Parameters
  • destination (str) – Name of the destination folder to contain plots

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • parallel (bool, optional) – If True will use an existing astrohack client to export FITS in parallel, default is False

Export the products from the panel mds onto FITS files to be read by other software packages

Additional Information

The FITS fils produced by this method have been tested and are known to work with CARTA and DS9

class AstrohackPointFile(file: str)[source]

Data Class for holography pointing data.

property is_open(self)bool[source]

Check whether the object has opened the corresponding hack file.

Returns

True if open, else False.

Return type

bool

open(self, file: str = None, dask_load: bool = True)bool[source]

Open holography pointing file. :param file: File to be opened, if None defaults to the previously defined file :type file: str, optional :param dask_load: Is file to be loaded with dask?, default is True :type dask_load: bool, optional

Returns

True if file is properly opened, else returns False

Return type

bool

summary(self)None[source]

Prints summary of the AstrohackPointFile object, with available data, attributes and available methods

class AstrohackLocitFile(file: str)[source]

Data Class for extracted gains for antenna location determination

property is_open(self)bool[source]

Check whether the object has opened the corresponding hack file.

Returns

True if open, else False.

Return type

bool

open(self, file: str = None, dask_load: bool = True)bool[source]

Open antenna location file. :param file: File to be opened, if None defaults to the previously defined file :type file: str, optional

Parameters

dask_load (bool, optional) – Is file to be loaded with dask?, default is True

Returns

True if file is properly opened, else returns False

Return type

bool

print_source_table(self)None[source]

Prints a table with the sources observed for antenna location determination

print_array_configuration(self, relative: bool = True)None[source]

Prints a table containing the array configuration

Parameters

relative (bool, optional) – Print relative antenna coordinates or geocentric coordinates, default is True

Print arrayx configuration in the dataset. Also marks the reference antenna and the antennas that are absent from the dataset. Coordinates of antenna stations can be relative to the array center or Geocentric (longitude, latitude and radius)

plot_source_positions(self, destination: str, labels: bool = False, precessed: bool = False, display: bool = False, figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300)None[source]

Plot source positions in either FK5 or precessed right ascension and declination.

Parameters
  • destination (str) – Name of the destination folder to contain plot

  • labels (bool, optional) – Add source labels to the plot, defaults to False

  • precessed (bool, optional) – Plot in precessed coordinates? defaults to False (FK5)

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

Plot the sources on the source list to a full 24 hours 180 degrees flat 2D representation of the full sky. If precessed is set to True the coordinates precessd to the midpoint of the observations is plotted, otherwise the FK5 coordinates are plotted. The source names can be plotted next to their positions if label is True, however plots may become too crowded if that is the case.

plot_array_configuration(self, destination: str, stations: bool = True, zoff: bool = False, unit: str = 'm', box_size: Union[int, float] = 5000, display: bool = False, figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300)None[source]

Plot antenna positions.

Parameters
  • destination (str) – Name of the destination folder to contain plot

  • stations (bool, optional) – Add station names to the plot, defaults to True

  • zoff (bool, optional) – Add Elevation offsets to the plots, defaults to False

  • unit (str, optional) – Unit for the plot, valid values are length units, default is km

  • box_size (int, float, optional) – Size of the box for plotting the inner part of the array in unit, default is 5 km

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

summary(self)None[source]

Prints summary of the AstrohackLocitFile object, with available data, attributes and available methods

class AstrohackPositionFile(file: str)[source]

Data Class for extracted antenna location determination

property is_open(self)bool[source]

Check whether the object has opened the corresponding hack file.

Returns

True if open, else False.

Return type

bool

open(self, file: str = None, dask_load: bool = True)bool[source]

Open antenna location file. :param file: File to be opened, if None defaults to the previously defined file :type file: str, optional

Parameters

dask_load (bool, optional) – Is file to be loaded with dask?, default is True

Returns

True if file is properly opened, else returns False

Return type

bool

export_fit_results(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', position_unit: str = 'm', time_unit: str = 'hour', delay_unit: str = 'nsec')None[source]

Export antenna position fit results to a text file.

Parameters
  • destination (str) – Name of the destination folder to contain exported fit results

  • ant (list or str, optional) – List of antennas/antenna to be exported, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be exported, defaults to “all” when None, ex. 0

  • position_unit (str, optional) – Unit to list position fit results, defaults to ‘m’

  • time_unit (str, optional) – Unit for time in position fit results, defaults to ‘hour’

  • delay_unit (str, optional) – Unit for delays, defaults to ‘ns’

Produce a text file with the fit results from astrohack.locit for better determination of antenna locations.

plot_sky_coverage(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', time_unit: str = 'hour', angle_unit: str = 'deg', display: bool = False, figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300, parallel: bool = False)None[source]

Plot the sky coverage of the data used for antenna position fitting

Parameters
  • destination (str) – Name of the destination folder to contain the plots

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • angle_unit (str, optional) – Unit for angle in plots, defaults to ‘deg’

  • time_unit (str, optional) – Unit for time in plots, defaults to ‘hour’

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot size in inches

  • dpi (int, optional) – plot resolution in pixels per inch, default is 300

  • parallel (bool, optional) – If True will use an existing astrohack client to produce plots in parallel, default is False

This method produces 4 plots for each selected antenna and DDI. These plots are: 1) Time vs Elevation 2) Time vs Hour Angle 3) Time vs Declination 4) Hour Angle vs Declination

These plots are intended to display the coverage of the sky of the fitted data

plot_delays(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', time_unit: str = 'hour', angle_unit: str = 'deg', delay_unit: str = 'nsec', plot_model: bool = True, display: bool = False, figure_size: Union[Tuple, List[float], numpy.array] = None, dpi: int = 300, parallel: bool = False)None[source]

Plot the delays used for antenna position fitting and optionally the resulting fit.

Parameters
  • destination (str) – Name of the destination folder to contain the plots

  • ant (list or str, optional) – List of antennas/antenna to be plotted, defaults to “all” when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • angle_unit (str, optional) – Unit for angle in plots, defaults to ‘deg’

  • time_unit (str, optional) – Unit for time in plots, defaults to ‘hour’

  • delay_unit (str, optional) – Unit for delay in plots, defaults to ‘nsec’

  • plot_model (bool, optional) – Plot the fitted model results alongside the data.

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot size in inches

  • dpi (int, optional) – plot resolution in pixels per inch, default is 300

  • parallel (bool, optional) – If True will use an existing astrohack client to produce plots in parallel, default is False

This method produces 4 plots for each selected antenna and DDI. These plots are: 1) Time vs Delays 2) Elevation vs Delays 3) Hour Angle vs Delays 4) Declination vs Delays

These plots are intended to display the gain variation with the 4 relevant parameters for the fitting and also asses the quality of the position fit.

plot_position_corrections(self, destination: str, ant: Union[str, List[str]] = 'all', ddi: Union[int, List[int]] = 'all', unit: str = 'km', box_size: Union[int, float] = 5, scaling: Union[int, float] = 250, figure_size: Union[Tuple, List[float], numpy.array] = None, display: bool = True, dpi: int = 300)None[source]

Plot Antenna position corrections on an array configuration plot

Parameters
  • destination (str) – Name of the destination folder to contain plot

  • ant (list or str, optional) – Select which antennas are to be plotted, defaults to all when None, ex. ea25

  • ddi (list or int, optional) – List of ddis/ddi to be plotted, defaults to “all” when None, ex. 0

  • unit (str, optional) – Unit for the plot, valid values are length units, default is km

  • box_size (int, float, optional) – Size of the box for plotting the inner part of the array in unit, default is 5 km

  • scaling (int, float, optional) – scaling factor to plotting the corrections, default is 250

  • display (bool, optional) – Display plots inline or suppress, defaults to True

  • figure_size (numpy.ndarray, list, tuple, optional) – 2 element array/list/tuple with the plot sizes in inches

  • dpi (int, optional) – dots per inch to be used in plots, default is 300

Plot the position corrections computed by locit on top of an array configuration plot. The corrections are too small to be visualized on the array plot since they are of the order of mm and the array is usually spread over km, or at least hundreds of meters. The scaling factor is used to bring the corrections to a scale discernible on the plot, this plot should not be used to estimate correction values, for that purpose use export_fit_results instead.

summary(self)None[source]

Prints summary of the AstrohackpositionFile object, with available data, attributes and available methods