dirac-institute / kbmod

KBMOD (Kernel-Based Moving Object Detection)
BSD 2-Clause "Simplified" License
45 stars 14 forks source link

Automate Known Object Searching #93

Closed jbkalmbach closed 2 years ago

jbkalmbach commented 5 years ago

@smotherh You can close this if what you showed today already does this.

This issue is for code to query available imaging for previously found KBOs and then search with KBMOD for those objects as a testing procedure.

jeremykubica commented 2 years ago

Checking in on this issue: Is this request still open? Or has it been solved?

jbkalmbach commented 2 years ago

@smotherh I know you've been doing a lot of this but is what you've been doing just something you have in a notebook or do we have those tools coded up in KBMOD in a way that will make this easy for future users?

smotherh commented 2 years ago

Yeah, what I have are just survey-specific notebooks, rather than something general. So I think the goal of this issue (properly marked as an "enchancement") has not yet been fulfilled.

I think what we envisioned was just a tool where you can say "python recover_known_objects.py" and it pulls the known objects from skybot, checks which ones are on a CCD, generates stamps along the predicted trajectory, runs a KBMOD search for all of those objects, and compares the results.

stevenstetzler commented 2 years ago

FYI that I've found that using sbident, based on a JPL query tool, provides a more complete catalog of the objects in a field of view in comparison to Skybot. The API is similar to Skybot, at least at the python level.

Also, I've made a workflow for the DECam DDF survey that does part of this, but it assumes a Butler repository of exposures to check for exposure ids and check what CCD an object lands on. An example workflow:

python exposure_table.py /path/to/repo --collections "DECam/raw/science/*" > exposure_table.csv
python sbident_query.py exposure_table.csv > sbident_objects.csv
# or python skybot_query.py exposure_table.csv > skybot_objects.csv
python find_in_visit.py /path/to/repo sbident_objects.csv -o sbident_objects_matched_to_detectors.csv

I can share these code if desired, but only the sbident_query.py doesn't have a LSST Pipelines/Butler dependence, and it can easily be recreated using the sbident Python API.

moeyensj commented 2 years ago

Want to strongly second what @stevenstetzler said about SkyBot. We have found several instances where SkyBot says there isn't a known object present when there in fact is. For our first THOR submission, we submitted 30 objects. Each object had about ~10-15 observations. For each observation, SkyBot did not find a known object consistently near the positions of our objects (our search radius was set to a full degree). However, after we submitted these objects to the MPC, the MPC told us that 15 of them were already known.

jeremykubica commented 2 years ago

Thanks for the recommendations. I will look into switching over to JPL and what is required. Hayden also suggested: 1) using Horizons for prediction 2) using Horizons to compute approximate SNR in image So I will look into both of those as well.