CSS Field Study: A NEO in G96 field N18068

Unlike my last CSS field study where I chose an observation field to explore basically at random, this field was suggested by Eric Christensen at Catalina Sky Survey because it contains detections Catalina used to identify NEO 2022 BD6 on February 1st 2022 (first detected by Pan-STARRS the night prior). My HelioLinC implementation seems capable of linking common solar system objects (main belt asteroids mostly) in Catalina's observations, but can it link more novel objects like this NEO? The answer seems to be yes for this particular NEO at least and I'll have more to say about it below. First though I want to briefly outline the process improvements from the last study and show some known object detection images that demonstrate my visual validation process. After that I'll show the NEO plus 4 more candidate links that HelioLinC found that don't match known objects but look interesting and plausibly physical to me.

Process improvements

In the N18061 field study I published last month, I cited the large quantity of candidate links I was generating (903) as the major issue to overcome. While I was able to link all of the known objects in the field with that study, the signal to noise ratio wasn't really good enough. Most of those 903 links were likely non-physical. In this study I wanted to maximize the number of known objects I could link while minimizing the total number of candidate links generated.

To achieve this I required HelioLinC to find candidates with detections in 4 out of 4 observation frames. In the previous study I accepted links with detections in only 3 out of 4 frames. Requiring a detection in each frame is both a physical constraint and a combinatorial constraint and substantially reduces the number of links HelioLinC produces. Yes, you likely lose some interesting potential three detection links with this decision, but at this early stage of development I'm focussed on full recovery of astrometrically well-observed objects with minimal false positives.

After implementing the 4 detection requirement I focused on matching all of the known object detections in the source data (including both source extractor and difference imaging this time) with 1" or less position errors. According to JPL there are 160 known objects with 4 detections in the CSS data that have position errors of 1" or less for all 4 of their detections. With these new constraints I was able to reduce HelioLinC's clustering tolerance (the accuracy of the two detection tracklet initial orbit determination) by a factor of 4.2 from my previous study without losing any known objects. Finally, after OD filtering non-physical orbits (solves with RMS > 1" were rejected), 219 candidate links remained - 160 of which matched known objects in the field. That's 100% recovery of known objects with high quality detections. I'm much happier with 219 candidate links as a starting point than the 903 of my previous study.

A few bright known object matches

With only 219 candidate links, visual validation is now a more approachable task. Since I haven't really looked at CSS' source images before, I'll first highlight a handful of representative object detections as they appear in CSS imaging.

I'll start by describing the visualization I'm using for object validation. In the image below there are 4 rows. Each row shows the detections for a known object. In the left-most square I've plotted the on-sky track of the detections in angular coordinates. The 4 squares to the right of that one show the calibrated observation images around the recorded center of the detection. The red squares in each of these boxes highlights where the centroid position of the detection should be. The brightest pixels should generally be within this red box.

Image 1. Four bright known object matches in the observations. Row 1: 24177 (1999 XJ7) - 17.3 Mag; Row 2: 45151 (1999 XB111) - 18.3 Mag; Row 3: 142184 (2002 RC47) - 19.8 Mag; Row 4: 124530 (2001 RN89) - 20.4 Mag.

The objects shown above range in magnitude from 17.3 in the top row to 20.4 in the bottom row. As we move from the brightest object (top row) to the dimmest object (bottom row), you can see how the detections become slightly less distinct. The detections stand out less from the background in the bottom row than they do in the top row.

A few dim known object matches

Most objects discovered by surveys these days are dimmer than the four above. The image below demonstrates that the task of verifying detections of dimmer objects is usually more difficult. All four of these rows represent real objects, but the detections don't stand out as starkly from the background as they did with the brighter sources. And sometimes there's genuine ambiguity that can't be resolved with 4 observations alone.

Image 2. Four dim known object matches in the observations. Row 1: 282968 (2007 SS) - 21.2 Mag; Row 2: (2022 CL26) - 21.5 Mag; Row 3: (2020 SD59) - 21.7 Mag; Row 4: (2015 TG463) - 21.9 Mag.

The data for all of these images comes from the 1.5 meter telescope on Mt. Lemmon just north of Tucson. For this particular telescope, the limiting magnitude seems to sit somewhere around 22. Objects dimmer than around 22nd magnitude will be difficult or impossible to resolve from background noise although there's some wiggle room depending on the quality of the skies that night and how crowded the region around the potential detection is with other sources. You can see this in the last row of the image above where we're essentially talking about 1 bright pixel relative to all the others around it.

Confirming NEO 2022 BD6

I mentioned above that one of the goals of looking at this particular field was to see if HelioLinC could find NEOs in real data. Since Catalina Sky Survey's primary mission is NEO detection, their observation strategy is particularly tuned for the detection of these kinds of objects. Thankfully, HelioLinC doesn't seem to have a blindspot for linking NEOS - or this particular NEO at least.

Image 3. Near Earth Object 2022 BD6 - 20.8 Mag

2022 BD6 is moving at ~1 degree per day across the sky at the time of these detections. Knowing this I specifically defined the HelioLinC search space to include sources moving at up to 1.5 degrees per day with respect to one another. Ideally you would search for objects moving at any speed, but the computational complexity (the sheer number of combinations to test) varies exponentially as a function of the maximum on-sky velocity you choose. Since there are definitely objects (mostly NEOs presumably) moving at more than 1.5 degrees per day, this is something I'll want to address - probably by segmenting the search into on-sky velocity bins. For example: 1.5-3.5, 3.5-5.5 degrees per day etc...

One other interesting point about this NEO is that it had the highest Find_Orb p_NEO score (93.7854) of all the known objects in the observations that HelioLinC recovered. In one sense, we shouldn't be surprised by that since we know it is in fact a NEO. However, I think it's also noteworthy that in the context of only 4 detections, Find_Orb assigns the highest NEO probability to the one confirmed NEO. To me that's another piece of evidence that OD is able to provide at least some information even for very short arc observations, but it could also just be an artifact of the moderately high on-sky velocity of the detections.

Interesting HelioLinC candidates that don't match known objects

Finally, and most excitingly, let's talk about a few of those 57 candidate links that HelioLinC found that did not match known objects. With the linking constraints nailed down tightly, we might find that one of those candidates is real but as of yet unknown. I don't know that I'm qualified to make that call, but I'll show 4 of the most interesting candidate links that HelioLinC found that didn't match up to JPL's database of known solar system objects. Also, none of these 4 candidates were in Catalina's candidate list (the .mtds) for the field.

Candidate 1. Mean magnitude 22.1. This is the most promising candidate detection I found. I think it compares well to the quality of the detection images for the known object shown in row 4 of the 'dim' object set above. The track in the left-most box is linear and Find_Orb reports a p_NEO score of 99.8948 with an on-sky angular velocity of ~1.43 degrees per day. The OD RMS of 0.8554" is slightly higher than the RMS of known objects, but that's somewhat expected since I define known object matches to be those with individual detection errors of less than 1". It's also moving faster than the known objects in the field.

Candidate 2. Mean magnitude: 20.3. To me, this candidate compares well to the object in the 2nd row of the dim known object detections above despite being notably brighter. Perhaps that's a reason to reject it. There's definitely some noise around each detection, but there are still obvious peaks in the center. It's interesting because it has a 0.62606" RMS error and a 99.9905 p_NEO score along with a nice linear track. This candidate is moving at ~1.22 degrees per day.

Candidate 3. Mean magnitude: 22.1. This seems like one of the ambiguous ones I mentioned above. The track is linear and detections 2, 3 and 4 all seem like quality peaks. However, that first detection is hard to call. This candidate has a 0.9604" RMS - on the higher side - and a p_NEO score of 99.9989 with an on-sky velocity of ~1.3 degrees per day.

Candidate 4. Mean magnitude: 21.76. This candidate represents a category of possible tracks that HelioLinC might enable the discovery of - or that may be universally bad. Look at the track of this one compared to every other track I'm showing in this study; it is not at all linear. Still, it has a low RMS: 0.47554". Its p_NEO score is 42.9223, so it's not the most interesting with respect to NEO-ness, but there are a number of candidate links that HelioLinC found that have non-linear tracks like this. I think I'll need to see known objects with these kind of tracks in the observation data before I can trust candidates like this one.


The goal of this study was to confirm that HelioLinC could find NEOs in Catalina's data. On the very first run I could see that HelioLinC was able to find 2022 BD6 before I even started tuning any linking parameters. 2022 BD6 remained in the candidate set after I lowered the clustering tolerance to ensure more physical initial orbit determination and reduce the candidate count. This hardly means that HelioLinC is capable of detecting all instances and varieties of NEOs, but it's a good early indicator that HelioLinC is not blind to NEOs.

This is also the first study since my TESS work where I was looking at actual images of the sky again. I've been living in a reduced or simulated data world for the last six months. It's a productive world to live in, but looking at real images of the sky to try to understand whether the constituent detections of candidate links are real or not is just plain fun. It's unreasonably enjoyable to see the detections of an unmatched candidate link and not immediately be able to reject it. I expect these new plots I'm generating for this study will be a recurring feature in my future CSS explorations.

Published: 7/10/2022