Sky Sources Added to Single Frame Processing

Sky objects are pseudo-objects injected into the data processing pipeline using the SkyObjectsTask. Using coadded imaging, a number of randomly located sky objects per patch are placed such that their footprints do not overlap with any other detected object footprint. The maximum number of placed sky objects is currently set to 100 per patch, whilst the apparent size of each is currently set to an 8 pixel radius. These parameters are configurable using the nSources and sourceRadius configuration parameters, respectively.

Sky objects provide valuable QA data, allowing us to generate relevant sky statistics for subsequent analysis. Sky objects are generated on coadded imaging, and no equivalent has previously existed for single frame (visit-level) imaging. Following standard naming conventions, objects are detections on combined coadded imaging, whilst sources are detections at the single frame visit level.

Ticket DM-23078 now adds sky sources to visit-level single frame processed imaging. Sky sources are implemented in exactly the same manner as sky objects, with up to nSources sky sources randomly placed for any given CCD. They may be selected (and excluded) from output catalogues using the sky_source flag.

An example image for Visit 1228 (HSC-I), CCD 42 is shown below. All detected sources are identified by small blue circles, whilst placed sky sources are represented by large orange circles. Note, the size of the circles are not to scale with the underlying sources. The underlying image is a calexp image, linearly scaled, and binned into 16x16 super-pixel blocks.

1 Like

For posterity, since I just looked this up: if you want to avoid these rows in code that looks at sources, filter out rows with the sky_source flag field set to True (in src, sourceTable, and sourceTable_visit).

1 Like

Thanks for that Jim, and just to add, you’ll also soon be able to select primary sources (i.e., sources that are not a parent undeblended source and not a sky source) by selecting only those rows where the new detect_isPrimary flag is set to True (implemented in DM-25782).

Just to double check the wording a bit, requiring detect_isPrimary==True is useful for excluding sky sources and sources where deblend_nChild > 0. deblend_nChild==0 are the sources you want to keep, right?

Thanks for the clarification Colin, I’ve updated my comment above to make this clearer.