astrohack.antenna.telescope

Classes

Telescope

Base telescope class containing IO methods and attributes that are common to all telescopes.

RingedCassegrain

Derived class containing description and methods pertaining to telescope whose panels are distributed in concentric

NgvlaPrototype

Derived class to contain ngVLA prototype specific methods and attributes.

Functions

get_proper_telescope(name[, antenna_name])

Retrieve the proper telescope object based on the name

Module Contents

class Telescope[source]

Base telescope class containing IO methods and attributes that are common to all telescopes.

data_array_keys = ['point_cloud', 'qps_coefficients'][source]
data_array_dims = [['point_axis', 'xyz'], ['qps_coefficients']][source]
excluded_keys = ['filepath', 'filename', 'z_cos_image'][source]
diameter = None[source]
antenna_list = None[source]
file_name = None[source]
file_path = None[source]
array_center = None[source]
comment = None[source]
inner_radial_limit = None[source]
outer_radial_limit = None[source]
name = None[source]
el_axis_offset = None[source]
station_distance_dict = None[source]
gain_wavelengths = None[source]
read(filename)[source]

Read the telescope object from an X array .zarr telescope configuration file :param filename: name of the input file

read_from_distro(name)[source]

Read telescope info from files distributed with astrohack. :param name: Name of the telescope to be read.

Returns:

None

write(filename)[source]

Write the telescope object to an X array .zarr telescope configuration file :param filename: Name of the output file

write_to_distro()[source]
class RingedCassegrain[source]

Bases: Telescope

Derived class containing description and methods pertaining to telescope whose panels are distributed in concentric rings from the dish center.

panel_inner_radii = None[source]
panel_outer_radii = None[source]
focus = None[source]
arm_shadow_rotation = None[source]
arm_shadow_width = None[source]
magnification = None[source]
n_panel_per_ring = None[source]
panel_numbering = None[source]
screw_description = None[source]
screw_offset = None[source]
secondary_distance_to_focus = None[source]
secondary_support_shape = None[source]
surp_slope = None[source]
n_rings_of_panels = None[source]
classmethod from_name(name)[source]

Initialize and read from the distro a telescope object. :param name: Name of the telescope to be read.

Returns:

RingedCassegrain object

consistency_check()[source]

Make a simple check to test that some of its attributes are :returns: None

build_panel_list(panel_model, panel_margins)[source]

Construct a list of panel objects according to the telescope description :param panel_model: Type of panel model to be fitted. :param panel_margins: how much of the panel

Returns:

List containing RingPanel objects

attribute_pixels_to_panels(panel_list, u_axis, v_axis, radius, phi, deviation, mask)[source]

Attribute pixels in deviation image to the panels in the panel_list :param panel_list: The panel list must have been created by build_panel_list for the same instrument :param u_axis: Aperture U axis :param v_axis: Aperture V axis :param radius: Aperture radius map :param phi: Aperture phi angle map :param deviation: Aperture deviation :param mask: Aperture mask

Returns:

map of panel attributions

create_aperture_mask(u_axis, v_axis, use_detailed_mask=True, return_polar_meshes=False, use_outer_limit=False)[source]
phase_to_deviation(u_axis, v_axis, _, phase, wavelength)[source]

Transform phase image to physical deviation image based on wavelength. :param u_axis: Aperture U axis :param v_axis: Aperture V axis :param _: dummy argument for interface compatibility :param phase: Phase image in Radians :param wavelength: Observation wavelength in meters

Returns:

Deviation image.

deviation_to_phase(u_axis, v_axis, _, deviation, wavelength)[source]

” Transform deviation image to physical phase image based on wavelength. :param u_axis: Aperture U axis :param v_axis: Aperture V axis :param _: dummy argument for interface compatibility :param deviation: Deviation image in meters :param wavelength: Observation wavelength in meters

Returns:

Phase image.

class NgvlaPrototype[source]

Bases: Telescope

Derived class to contain ngVLA prototype specific methods and attributes.

panel_dict = None[source]
screw_description = None[source]
point_cloud = None[source]
qps_coefficients = None[source]
aperture_polygon = None[source]
z_cos_image = None[source]
classmethod from_name(name)[source]
build_panel_list(panel_model, panel_margins)[source]
static attribute_pixels_to_panels(panel_list, u_axis, v_axis, radius, _, deviation, mask)[source]
create_aperture_mask(u_axis, v_axis, use_detailed_mask=True, return_polar_meshes=False, use_outer_limit=False)[source]
phase_to_deviation(u_axis, v_axis, mask, phase, wavelength)[source]
deviation_to_phase(u_axis, v_axis, mask, deviation, wavelength)[source]
get_proper_telescope(name: str, antenna_name: str = None)[source]

Retrieve the proper telescope object based on the name :param name: Name of the telescope :param antenna_name: Name of the antenna, significant for heterogenius arrays.

Returns:

A telescope object of one of the proper subclasses