I used the Lasair API Client object() call with a specific diaObjectId to download the details for that particular object. In the object() call I set lite=False. I see in the returned object the key ‘diaSourcesList’ and within each item in that array the key ‘snr’. How can I write a query/filter for objects where the snr is greater than a particular value? I tried the expression below but received an error that diaSourcesList is not a column in the objects table:
SELECT
objects.diaObjectId,
JSON_EXTRACT(objects.diaSourcesList, ‘$[0].snr’) as snr
FROM objects
WHERE
JSON_EXTRACT(objects.diaSourcesList, ‘$[0].snr’) > 25
Hi Scott –
Rather than SNR, Lasair has concentrated on the reliability value that Rubin offers with each diaSource. This goes from 0 to 1, with 1 most reliable. Your filter might be reframed as objects.latestR > 0.9. Another feature you might use is medianR, which is the median of the reliability values of all the diaSources.
– Roy
This real/bogus score looks at reliability, SNR, separation from host and a bunch of other things but SNR is the dominant factor at the minute (because R is a bit hit and miss).
Maybe in future we can add an SNR feature but in the mean time it’s your best bet alongside the reliability score Roy mentioned