Crate mwalib

Source
Expand description

A library to simplify reading Murchison Widefield Array (MWA) raw visibilities, voltages and metadata.

Re-exports§

pub use fitsio;
pub use fitsio_sys;

Modules§

built_info

Macros§

fits_open
Open a fits file.
fits_open_hdu
Open a fits file’s HDU by index.
fits_open_hdu_by_name
Open a fits file’s HDU by name.
get_fits_col
Get a column from a fits file’s HDU.
get_fits_float_image_into_buffer
Given a FITS file pointer and a HDU, read the associated float image.
get_fits_image
Given a FITS file pointer and a HDU, read the associated image.
get_hdu_image_size
Get the size of the image on the supplied FITS file pointer and HDU.
get_optional_fits_key
Given a FITS file pointer, a HDU that belongs to it, and a keyword that may or may not exist, pull out the value of the keyword, parsing it into the desired type.
get_optional_fits_key_long_string
Given a FITS file pointer, and a keyword to a long string keyword that may or may not exist, pull out the long string of the keyword. This deals with FITSs CONTINUE mechanism by calling a low level fits function.
get_required_fits_key
Given a FITS file pointer, a HDU that belongs to it, and a keyword, pull out the value of the keyword, parsing it into the desired type.
get_required_fits_key_long_string
Given a FITS file pointer, and a keyword to a long string keyword, pull out the long string of the keyword. This deals with FITSs CONTINUE mechanism by calling a low level fits function.

Structs§

Antenna
Structure for storing MWA antennas (tiles without polarisation) information from the metafits file
Baseline
This is a struct for our baselines, so callers know the antenna ordering
CoarseChannel
This is a struct for coarse channels
CorrelatorContext
This represents the basic metadata and methods for an MWA correlator observation.
MetafitsContext
Metafits context. This represents the basic metadata for an MWA observation.
Rfinput
Structure for storing MWA rf_chains (tile with polarisation) information from the metafits file
SignalChainCorrection
Signal chain correction table
TimeStep
This is a struct for our timesteps NOTE: correlator timesteps use unix time, voltage timesteps use gpstime, but we convert the two depending on what we are given
VoltageContext
This represents the basic metadata and methods for an MWA voltage capture system (VCS) observation.

Enums§

CableDelaysApplied
The type of cable delays applied to the data
CoarseChannelError
CoarseChannelError subtypes
FitsError
FitsError subtypes - mainly used by CorrelatorContext
GeometricDelaysApplied
The type of geometric delays applied to the data
GpuboxError
GpuboxError subtypes - mainly used by CorrelatorContext
MWAMode
The MODE the system was in for this observation
MWAVersion
Enum for all of the known variants of file format based on Correlator version
MetafitsError
Metafits error subtypes - used by MetafitsContext
MwalibError
MwalibError subtypes
Pol
Instrument polarisation.
ReceiverType
ReceiverType enum.
RfinputError
EfinputError subtypes
VisPol
Visibility polarisations
VoltageFileError
VoltageFileError subtypes - mainly used by VoltageContext

Constants§

MWALIB_MWA_ALTITUDE_METRES
The MWA’s altitude in metres.
MWALIB_MWA_COAX_V_FACTOR
the velocity factor of electic fields in RG-6 like coax cable
MWALIB_MWA_LATITUDE_RADIANS
NOTE: the below constants are here for FFI compatibility If you are using Marlu, then it’s recommended to use the constants from that library
MWALIB_MWA_LONGITUDE_RADIANS
The MWA’s longitude on Earth in radians. This is 116d40m14.93485s.
MWALIB_SPEED_OF_LIGHT_IN_VACUUM_M_PER_S
speed of light in m/s

Functions§

as_u8_slice
convert_gpstime_to_unixtime
Returns a UNIX time given a GPStime
convert_unixtime_to_gpstime
Returns a UNIX time given a GPStime
dms_to_degrees
Function to take d m s and return the decimal degrees.
eq_with_nan_eq_f32
Returns True if the f32’s are equal even if one or both are NaNs. Code is from https://stackoverflow.com/questions/40767815/how-do-i-check-whether-a-vector-is-equal-to-another-vector-that-contains-nan-and
eq_with_nan_eq_f64
Returns True if the f64’s are equal even if one or both are NaNs. Code is from https://stackoverflow.com/questions/40767815/how-do-i-check-whether-a-vector-is-equal-to-another-vector-that-contains-nan-and
get_antennas_from_baseline
Given a baseline index, return a tuple of (ant1,ant2) for a std right upper triangle e.g. (where N is num antennas) Returns None if baseline was not found (your baseline is out of range) 0,0 0,1 … 0,N-1 1,1 1,2 1,N-1 … 2,2 … N-1,N-1
get_baseline_count
Given the number of antennas, calculate the number of baselines (cross+autos)
get_baseline_from_antenna_names
Given two antenna names and the vector of Antenna structs from metafits, return the baseline index.
get_baseline_from_antennas
Given two antenna indicies, return the baseline index.
has_whitening_filter
Returns a bool based on whether this cable flavour has a whitening filter. (Used by rfinput::new())
is_fitsio_reentrant
Returns True if CFITSIO was compiled with the REENTRANT directive
pretty_print_vec_to_string
Returns a formatted string to ‘pretty print’ a vector Example 1: show_first_elements = 2
read_cell_array_f32
Pull out the array-in-a-cell values. This function assumes that the output datatype is f32, and that the fits datatype is E (f32), so it is not to be used generally!
read_cell_array_f64
Pull out the array-in-a-cell values. This function assumes that the output datatype is f64, and that the fits datatype is D (f64), so it is not to be used generally!
read_cell_array_u32
Pull out the array-in-a-cell values. T
read_cell_value
vec_compare_f32
Returns True if the Vec’s are equal even if one or both contain NaNs. Code is from https://stackoverflow.com/questions/40767815/how-do-i-check-whether-a-vector-is-equal-to-another-vector-that-contains-nan-and
vec_compare_f64
Returns True if the Vec’s are equal even if one or both contain NaNs. Code is from https://stackoverflow.com/questions/40767815/how-do-i-check-whether-a-vector-is-equal-to-another-vector-that-contains-nan-and