punchbowl.level3.f_corona_model#

Functions#

model_fcorona_for_cube(→ numpy.ndarray)

Model the F corona given a list of times and a corresponding data cube.

fill_nans_with_interpolation(→ numpy.ndarray)

Fill NaN values in an image using interpolation.

_load_file(→ tuple[numpy.ndarray, datetime.datetime, str])

construct_f_corona_model(...)

Construct a full F corona model.

subtract_f_corona_background(...)

Subtract f corona background.

subtract_f_corona_background_task(...)

Subtracts a background f corona model from an observation.

create_empty_f_background_model(→ numpy.ndarray)

Create an empty background model.

Module Contents#

punchbowl.level3.f_corona_model.model_fcorona_for_cube(cube: numpy.ndarray) numpy.ndarray[source]#

Model the F corona given a list of times and a corresponding data cube.

Parameters:
  • xt (np.ndarray) – Unused

  • reference_xt (float) – Unused

  • cube (np.ndarray) – observation array

  • args (list) – Kept for signature compatibility

  • kwargs (dict) – Kept for signature compatibility

Returns:

  • np.ndarray – The F-corona model at the central point in time. If return_full_curves is True, this is instead the F-corona model at all points in time covered by the data cube

  • None – Nothing

punchbowl.level3.f_corona_model.fill_nans_with_interpolation(image: numpy.ndarray) numpy.ndarray[source]#

Fill NaN values in an image using interpolation.

punchbowl.level3.f_corona_model._load_file(path: str, data_destination: punchbowl.util.ShmPickleableNDArray) tuple[numpy.ndarray, datetime.datetime, str][source]#
punchbowl.level3.f_corona_model.construct_f_corona_model(filenames: list[str], reference_time: str | None = None, num_workers: int = 8, num_loaders: int | None = None, fill_nans: bool = False, polarized: bool = False) list[punchbowl.data.punchcube.PUNCHCube][source]#

Construct a full F corona model.

punchbowl.level3.f_corona_model.subtract_f_corona_background(data_object: punchbowl.data.punchcube.PUNCHCube, before_f_background_model: punchbowl.data.punchcube.PUNCHCube, after_f_background_model: punchbowl.data.punchcube.PUNCHCube, allow_extrapolation: bool = False) punchbowl.data.punchcube.PUNCHCube[source]#

Subtract f corona background.

punchbowl.level3.f_corona_model.subtract_f_corona_background_task(observation: punchbowl.data.punchcube.PUNCHCube, before_f_background_models: list[punchbowl.data.punchcube.PUNCHCube | str], after_f_background_models: list[punchbowl.data.punchcube.PUNCHCube | str], allow_extrapolation: bool = False) punchbowl.data.punchcube.PUNCHCube[source]#

Subtracts a background f corona model from an observation.

This algorithm linearly interpolates between the before and after models.

Parameters:
  • observation (PUNCHCube) – an observation to subtract an f corona model from

  • before_f_background_models (list[PUNCHCube | str]) – PUNCHCube f corona background maps before the observations

  • after_f_background_models (list[PUNCHCube | str]) – PUNCHCube f corona background maps after the observations

  • allow_extrapolation (bool) – If true, allow extrapolation beyond the time range spanned by the two F corona models

Returns:

A background subtracted data frame

Return type:

PUNCHCube

punchbowl.level3.f_corona_model.create_empty_f_background_model(data_object: punchbowl.data.punchcube.PUNCHCube) numpy.ndarray[source]#

Create an empty background model.