Linking tracklets across nights

One night fixes where a moving object is and how fast it is crossing the sky. It does not fix how far away the object is. Cataloguing it means deciding which tracklets on other nights belong to the same body. This page records that measurement as each stage is run.

The development field is the Low Ecliptic Latitude field (sv387), the same visits described on the moving-objects page. Five nights, drawn from Rubin Data Preview 1.

StageQuestionState
0. Within one night Can the tracklets be rebuilt, and how complete are they? Measured
1. Classical link Joined across nights, how many objects come back, at what cost? Measured
1a. Next-night search Does predicting ahead and checking the patch recover the objects? Measured
3a. Which tracklet When several tracklets sit in the patch, does the one on the line win? Measured
2. Distance prior Does a learned distance cut the search without losing objects? Measured
3. Link scorer Does a scorer beat a physical cut on purity? Measured
4. Full span Do the same numbers hold across the 129 nights of DP2? Measured

Phase 0. Tracklets inside one night

Measured

Static sources are removed first. Every remaining pair of detections whose implied rate lies between 12 and 90 arcsec/hour proposes a straight trajectory. The trajectory is projected to every exposure of the night and kept when at least 3 detections fall within 0.8 arcsec of it. Catalogue identifications are opened only after the tracks exist.

An object is linkable when the night contains at least 3 of its detections. Anything shorter cannot clear the threshold, so it is a cadence limit rather than a miss. On that definition the linker recovers 812 of 833 linkable objects (97.5%), and 812 of 919 objects in total (88.4%).

Night Detections Linkable found Of linkable All objects Of all No identification Chance tracks
6063714,295152 / 15697.4%152 / 17387.9%2291
6064012,175191 / 19797.0%191 / 21091.0%1300
6064113,629177 / 18098.3%177 / 20885.1%2030
6064212,739183 / 18598.9%183 / 20091.5%2591
6065117,279109 / 11594.8%109 / 12885.2%8813

The last column is a null test. Rotating each visit about the field centre by its own random angle keeps the source density and destroys the motion between visits. It leaves 5 tracks across the five nights. The column before it is not that test: 1,702 tracks, against 817 that match one catalogued object, simply have no ssObjectId. Night 60651 contributes most of them. A linker that finds a real object the pipeline never labelled will land in that column, so it cannot be read as a false-positive rate.

Track Count Median rate, arcsec/hr Median residual, arcsec Median SNR Median detections
Catalogued object81725.60.0521.26
No identification1,70214.60.188.63
Mixed4317.10.2642.94

The unlabelled tracks are fainter and shorter than the catalogued ones. They are kept in the catalogue. Purity for the later stages will be measured by injecting synthetic objects and by the rotation null, not by treating a missing label as evidence that a track is false.

Each kept track is stored as an attributable: epoch, sky position, and the two on-sky rates, plus the residual of the straight-line fit. Distance is still absent. That is the input the next stage has to work with.

Phase 1. A classical link across nights

Measured

For each guessed heliocentric distance and radial velocity, every tracklet becomes a full state and is propagated to one epoch under two-body motion. Tracklets that land on top of each other, and agree in velocity, are one candidate object. The grid is 67 distances from 1.2 to 4.5 AU in steps of 0.05, and 9 radial velocities in steps of 0.001 AU/day. 603 hypotheses in all, 1,611,216 states propagated, in 16 seconds. The match tolerance is 0.008 AU and 0.001 AU/day.

Completeness is measured on objects planted into the catalogue with known orbits, aimed through this field, with a hundredth of an arcsecond of noise. For 28 of 30 injected objects (93.3%), the three nights land in one cluster. Requiring that cluster to contain no second identified object leaves 16 of 30 (53.3%). The nights are being found. They are often being found glued to a neighbour.

The catalogue shows the same split. Of 167 objects that already had a pure tracklet on three or more nights, 156 are gathered (93.4%) and 105 are exclusive (62.9%). Objects seen on two or more nights, exclusive: 137 of 204 (67.2%).

Accepted clusters, three or more nightsCount
One catalogued object112
Injected object16
No identification48
Mixed objects37
Chance, from rotating each night36

The chance row is the same idea as the within-night null: each night is rotated about the field centre, so real orbits are destroyed and whatever still clusters is accidental. The grid stops at 4.5 AU and does not reach the close, fast objects the within-night rate window already drops.

Phase 1a. The next night

Measured

Each tracklet is moved forward by the rate measured on its own night. A tracklet on a later night joins it when it lies inside 3 arcmin per day of that prediction and its rate agrees to within 5 arcsec/hour. A further tracklet joins the group only when it agrees with every member already there, so the third night has to match both earlier ones. 6,993 pairs fell in a patch, of 2,707,787 pairs of tracklets on different nights, in 0.3 seconds.

On the same planted objects as Phase 1, 26 of 30 (86.7%) land in one group, and 24 of 30 (80.0%) do so with no second identified object. The grid gathered 28 and kept 16 exclusive. Of the catalogued objects with pure tracklets on three or more nights, 146 of 167 are gathered (87.4%) and 130 are exclusive (77.8%). The grid gathered 156 and kept 105 exclusive. Of objects with a pure tracklet on two or more nights, 171 of 204 are exclusive; the grid kept 137. Fewer planted objects are gathered than by the grid, and more of the ones that are gathered stay free of a second object. The chance count is lower too.

Accepted groups, three or more nightsCount
One catalogued object141
Injected object28
No identification27
Mixed objects25
Chance, from rotating each night11

The chance row uses the same rotation as Phase 1. The grid's chance count on that rotation was 36.

Phase 3a. Which tracklet in the patch

Measured

The patch and the rate tolerance are Phase 1a's: 3 arcmin per day and 5 arcsec/hour, and a candidate still has to agree with every member already in the group. Nights are attached in time order. A group of one tracklet still takes the closest tracklet in its patch. Once the group holds two nights, the tracklet kept on the new night is the closest to the straight line through the group. 6,993 pairs fell in a patch, in 1.0 seconds.

On the same planted objects as Phase 1a, 22 of 30 (73.3%) land in one group, and 21 of 30 (70.0%) do so with no second identified object. Phase 1a gathered 26 and kept 24 exclusive. Of the catalogued objects with pure tracklets on three or more nights, 138 of 167 are gathered (82.6%) and 127 are exclusive (76.0%). Phase 1a gathered 146 and kept 130 exclusive. Of objects with a pure tracklet on two or more nights, 174 of 204 are exclusive; Phase 1a kept 171. It gathers fewer of the planted objects than taking the closest edge.

Accepted groups, three or more nightsCount
One catalogued object139
Injected object25
No identification36
Mixed objects23
Chance, from rotating each night18

The chance row uses the same rotation as Phase 1a. Phase 1a's chance count on that rotation was 11.

Phase 2. A distance prior

Measured

Phase 1 asks every tracklet all 603 cells of the grid. A window keeps the cells near an estimated distance and radial velocity. Both windows were widened on held-out synthetic tracklets until the true grid cell was inside for at least 98% of them (physical 98%, learned 98%). The synthetics are near-circular orbits, so the on-sky rate is the rate of the orbit. 1,600 train the regression; the rest set the window width. The scored injections are a fresh draw of the same orbits, seeded apart from the training set, and the full grid is run on that same draw: 1,614,834 states, 16 seconds.

The physical window keeps a distance when its relative vis-viva residual is below 0.18, and keeps radial velocities within 0.0025 AU/day of zero. It keeps 132.7 cells per tracklet on average, 355,490 states, 4.5 times fewer than the full grid, in 4 seconds. Injected objects gathered: 21 of 30 (70.0%), exclusive 16 (53.3%). Labelled objects on three or more nights, gathered 74 of 167 (44.3%), exclusive 48 (28.7%).

The learned window is a quantile regression from rate, solar elongation and ecliptic latitude onto distance and radial velocity. It keeps 128.2 cells per tracklet, 343,457 states, 4.7 times fewer than the full grid, in 3 seconds. Injected objects gathered: 17 of 30 (56.7%), exclusive 13 (43.3%). Labelled, gathered 76 of 167 (45.5%), exclusive 48 (28.7%).

The two windows are about the same size, and both miss objects the full grid had gathered. The learned model lands in the same place as the circular-orbit cut. The full grid, run on the catalogue alone, gathers a catalogued object at a cell with median vis-viva residual 0.25. 77 of those 112 cells sit outside the physical window. The nights come together at a larger residual than the circular-orbit window allows. On this draw the full grid gathered 26 of 30 injected objects and 155 of 167 labelled objects.

Phase 3. A link scorer

Measured

Every hypothesis that produces a group of tracklets is kept, and then one group is allowed to claim its tracklets. The unfiltered linker claims more nights first and a tighter group second. A mixture that wins that race is the group those tracklets stay in. The scorer ranks the same groups first, by how much they resemble one planted object, and claims in that order. It was trained on 16531 pure planted linkages and 15000 other groups, from objects seeded apart from the ones scored here. The residual cut and the probability floor were both set on a further held-out planting, at the strictest value that still gathered every object the unfiltered linker gathered there.

Rule Injected, gathered Injected, exclusive Labelled, gathered Labelled, exclusive Mixed clusters Chance clusters
Unfiltered 28 / 30 16 156 / 167 105 37 43
Residual below 0.0030 AU 28 / 30 18 141 / 167 112 25 12
Learned score 25 / 30 18 135 / 167 115 19 12

The residual cut is the stronger rule on the planted objects. Both cut the chance clusters from 43 to 12 and 12. Chance clusters are three-night groups that survive when each night has been rotated about the field centre.

Phase 4. The full DP2 span

Measured

The detections are the 8,136,150 DiaSource rows in Data Preview 2 that already carry an ssObjectId. On each night, an object with at least three of those detections becomes one tracklet. 753,148 tracklets, from 60790 to 61047. Detections Rubin never labelled are not in this table. The cross-night step does not read the identifier until the groups are scored.

Linking uses the Phase 1 grid and runs in 9 non-overlapping windows of 30 days, so the propagation stays inside the stretch where two-body motion is adequate. An object is counted once in each window where it has tracklets on three or more nights. 1,175,868,693 states, 7841 seconds. Gathered: 91,913 of 103,284 (89.0%). Exclusive: 48,399 (46.9%). The residual cut at 0.0030 AU gathers 79,291 and leaves 57,782 exclusive.

Planted objects, 160 across the windows, test the same linker away from the identifiers that built the tracklets. Gathered 160 (100.0%), exclusive 135 (84.4%). With the residual cut: gathered 141, exclusive 131. One window, rotated, produced 4717 three-night clusters by chance (453,205 tracklets in that window).

The misses and the mixed groups in the crowded window are separated here. That window, MJD 60850 to 60880, holds three quarters of the objects above.

On-sky rate

Bin Object-windows Gathered Exclusive Gathered, residual cut Exclusive, residual cut
Under 12 arcsec/hr216931882492881703211424
12 to 253060526908143932298716582
25 to 404861643869228043699027691
40 to 9023262278188122492053
Over 90 arcsec/hr4434333332

Ecliptic latitude

Bin Object-windows Gathered Exclusive Gathered, residual cut Exclusive, residual cut
Under 10 degrees9901587770452867564854633
10 to 30 degrees41364013299335133025
Over 30 degrees133130120130124

Signal to noise

Bin Object-windows Gathered Exclusive Gathered, residual cut Exclusive, residual cut
SNR under 10100628880498374025457
SNR 10 to 305008144456230753839727856
SNR over 304314138577203413349224469

Longest gap between nights

Bin Object-windows Gathered Exclusive Gathered, residual cut Exclusive, residual cut
Gap under 2 days37853668227035232597
Gap 2 to 7 days4455042881246003639727611
Gap 7 to 14 days4898141274195683591825089
Gap over 14 days59684090196134532485

What this page is so far. Phases 0–3 are five nights of one DP1 field. Phase 4 is the labelled solar-system detections of DP2, linked in 30-day windows. The commissioning cadence is not the survey cadence, and the identifications are the output of Rubin’s own linking. Both limits are why the later stages do not trust ssObjectId as ground truth.

Data: Rubin Observatory Data Preview 1, Low Ecliptic Latitude field, accessed through the Rubin Science Platform. The tracklet catalogue for Phases 0–3 is rebuilt from that field’s difference-image detections; labels are applied afterwards. Phase 4 uses Data Preview 2.