class rubin_sim.maf.metrics.LightcurveColorOuterMetric(snr_limit=None, num_req=30, num_sec_filt=20, filterlist=('u', 'g', 'r', 'i', 'z', 'y'), **kwargs)

Bases: BaseMoMetric

This metric is appropriate for outer solar system objects, such as TNOs and SDOs.

This metric evaluates whether the number of observations is sufficient to fit a lightcurve in a primary and secondary bandpass. The primary bandpass requires more observations than the secondary. Essentially, it’s a complete lightcurve in one or both bandpasses, with at least a semi-complete lightcurve in the secondary band.

The lightcurve/color can be calculated with any two of the bandpasses in filterlist. Contributed by Wes Fraser.

snr_limit: float or None, optional

If snr_limit is set as a float, then requires object to be above snr_limit SNR in the image. If snr_limit is None, this uses the probabilistic ‘visibility’ calculated by the vis stacker, which means SNR ~ 5. Default is None.

num_req: int, optional

Number of observations required for a lightcurve fitting. Default 30.

num_sec_filt: int, optional

Number of observations required in a secondary band for color only. Default 20.

filterlist: list of str, optional

Filters that the primary/secondary measurements can be in.


A flag that indicates whether a color/lightcurve was generated in: 0 = no lightcurve (although may have had ‘color’ in one or more band) 1 = a lightcurve in a single filter (but no additional color information) 2+ = lightcurves in more than one filter (or lightcurve + color) e.g. lightcurve in 2 bands, with additional color information in another = 3.

Methods Summary

run(sso_obs, orb, hval)

Calculate the metric value.

Methods Documentation

run(sso_obs, orb, hval)

Calculate the metric value.

sso_obs: np.ndarray

The input data to the metric (same as the parent metric).

orb: np.ndarray

The information about the orbit for which the metric is being calculated.


The H value for which the metric is being calculated.

float or np.ndarray or dict