Skip to content

virgil.amigo

AMIGO mixed-DISCO data products.

An AMIGO reduction stores, per filter, a record of DISCO coefficients (linear combinations of log-amplitudes and phases whose errors are independent) with the operators that map model visibilities to them. :func:load_oi_data reads such a product into OIData objects; OIData(record) also accepts a single record directly.

load_oi_data(path, filter_name=None)

Load one or all filters from an AMIGO mixed-DISCO NumPy product.

The file is a pickled dictionary loaded with allow_pickle=True, which can run arbitrary code: only load files you trust.

Parameters:

Name Type Description Default
path str or PathLike

.npy file holding a {filter_name: record} dictionary.

required
filter_name str

Filter to load. By default every filter is loaded.

None

Returns:

Type Description
OIData or dict[str, OIData]

The chosen filter, or a dictionary of all filters.

is_mixed_disco_record(data)

Whether a dictionary is an AMIGO mixed-DISCO record.

validate_mixed_disco_record(record)

Raise if an AMIGO mixed-DISCO record is incomplete or inconsistent.

mixed_disco_fields(record)

Validate a mixed-DISCO record and return the OIData field values.