Page:SATCON2 Algorithms Report.pdf/14

 Training data

The deep learning approach itself can run in several different modes. A pretrained model will be available as part of TrailMask. If the given input data are close enough for the model to be expected to perform well, this mode can be used without requiring any additional inputs. If not, appropriate training data can be used to generalize the model. These can be provided by the user (optional inputs f, or g+h), found in the test data suite if it contains images from a similar instrument, or be simulated in place by feeding input b to ImageSimulate (section 3.3.2 below).

TrailMask and the test data suite

To keep improving the pretrained model that is shipped with each TrailMask version, data from the test suite can be used. Conversely, in those cases where a user provides their own training data and at their discretion, these could be added to the test suite. This would require a certain level of interaction between TrailMask and the test suite, such that the former can query the suite, and potentially upload new data to it.

The use of processes that rely on databases of satellites will be inherently limited by the lack of availability of accurate orbits. Mitigation strategies for imaging should not rely on weakly available information. In addition, the goal of ‘TrailMask’ is twofold:


 * Flag noise from satellite trails to reduce corruption in science analysis.
 * Reduce/remove the noise that satellite trails insert into images.

Making images “look pretty” with various blending techniques is less important to the science mission. However, visual inspection of images is often important for analysis. Removal of satellite trails to allow deeper visual inspection (while ensuring the pixels impacted by the removal are flagged) is an important capability.

3.1.3. Relevant existing software


 * Rubin Observatory’s satellite trail finder maskStreaks.py — all open software.
 * Inputs: images with detection footprints
 * Outputs: images, with an additional mask bit for pixels that fall within streaks
 * Rough outline of the algorithm:
 * Uses Canny filter to make binary image of edges (the user could also provide a binary image instead of an image with detections and bypass this step)
 * Uses Kernel Hough Transform to find clusters of points and fit lines to each cluster
 * Takes sets of nearby lines as identifying the same streak
 * Fits a translated Moffat profile to the final lines
 * Adds mask bits

Rh