uvex_transients.surveys.base.SurveySchedule.compute_control_time#
- SurveySchedule.compute_control_time(timescale: Quantity, minimum_factor: float | None = None, maximum_factor: float | None = None, visibility_factor: float | None = None, start_time: Time | None = None, end_time: Time | None = None, nside: int | None = None, order: str | None = None) tuple[Quantity, Quantity][source]#
Compute transient control time as a function of sky position.
For each HEALPix pixel, the control time is the total duration over which a transient with characteristic timescale
timescalecould begin and still receive useful temporal sampling from the survey: at least one pair of observations separated byminimum_factor * timescale <= dt <= maximum_factor * timescale,with the later observation occurring within
visibility_factor * timescaleof transient onset. Overlapping intervals of allowed start times are merged before summing, so no candidate start time is counted twice.This is the statistic to reach for when you need to know not just whether a pixel can ever catch a timescale-
Ttransient (seecompute_pair_counts(), which only answers that existence question), but for how much of the survey it remains able to – important once a pixel is revisited many times (e.g. across repeated full-sky passes), since a pixel hit by one lucky pair and a pixel with continuous cadence support look identical under an existence-only statistic but very different here.Built on
compute_visit_times()and_pixel_control_time(), both the per-visit interval construction and the interval merge are fully vectorized (no Python-level loop over visits), so cost stays O(n log n) per pixel rather than the O(n) sequential Python loop the original implementation of this statistic used.- Parameters:
timescale (
Quantity) – Characteristic transient timescale.minimum_factor (
float, optional) – Minimum useful observation separation relative totimescale, or None (the default) to useconfig["surveys.cadence.minimum_factor"].maximum_factor (
float, optional) – Maximum useful observation separation relative totimescale, or None (the default) to useconfig["surveys.cadence.maximum_factor"].visibility_factor (
float, optional) – Duration over which the transient is assumed useful for temporal characterization, relative totimescale, or None (the default) to useconfig["surveys.cadence.visibility_factor"].start_time (
Time, optional) – Optional survey interval over which to calculate control time.end_time (
Time, optional) – Optional survey interval over which to calculate control time.nside (
int, optional) – HEALPix resolution parameter, or None to useconfig["healpix.default_nside"].order (
str, optional) – HEALPix ordering scheme, either"nested"or"ring", or None to useconfig["healpix.default_order"].
- Returns: