BaseBasisFunction

class rubin_sim.scheduler.basis_functions.BaseBasisFunction(nside=None, filtername=None, **kwargs)

Bases: object

Class that takes features and computes a reward function when called.

Methods Summary

__call__(conditions, **kwargs)

Parameters:

add_observation(observation[, indx])

Parameters:

add_observations_array(observations_array, ...)

Like add_observation, but for loading a whole array of observations at a time

check_feasibility(conditions)

If there is logic to decide if something is feasible (e.g., only if moon is down), it can be calculated here.

label()

Creata a label for this basis function.

Methods Documentation

__call__(conditions, **kwargs)
Parameters:
conditionsrubin_sim.scheduler.features.conditions object

Object that has attributes for all the current conditions.

Return a reward healpix map or a reward scalar.
add_observation(observation, indx=None)
Parameters:
observationnp.array

An array with information about the input observation

indxnp.array

The indices of the healpix map that the observation overlaps with

add_observations_array(observations_array, observations_hpid)

Like add_observation, but for loading a whole array of observations at a time

Parameters:
observations_array_innp.array

An array of completed observations (with columns like rubin_sim.scheduler.utils.empty_observation). Should be sorted by MJD.

observations_hpid_innp.array

Same as observations_array_in, but larger and with an additional column for HEALpix id. Each observation is listed mulitple times, once for every HEALpix it overlaps.

check_feasibility(conditions)

If there is logic to decide if something is feasible (e.g., only if moon is down), it can be calculated here.

Helps prevent full __call__ from being called more than needed.

label()

Creata a label for this basis function.

Returns:
labelstr

A string suitable for labeling the basis function in a plot or table.