filter_candidates
Search for astronomical candidates by applying filters on classification, redshift, annotation scores, and saved dates. Retrieve paginated results matching your criteria.
Instructions
Search for candidates matching specific criteria on the scanning page.
This performs query-time filtering of existing candidates (not alert-time filtering). Use this to search the scanning page for candidates matching specific properties.
IMPORTANT - Parameter Validation: Before executing this tool, ALWAYS confirm with the user that the filter parameters are reasonable. Explain what the filter will return and ask if they want to proceed. Examples:
"I'll search for SNe Ia with braai score > 0.9 saved after 2024-01-01. Proceed?"
"This will find likely galaxy transients (sgScore < 0.3). OK?"
"Filtering for TDE candidates with ACAI_score > 0.8. Sound good?"
IMPORTANT - After Results: After showing results, offer to display the filter configuration JSON so the user can save it for future use or configure it in the UI.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| group_id | No | Search within specific group ID (optional) | |
| page_number | No | Page number for pagination (default 1) | |
| saved_after | No | Only candidates saved after this date (ISO: "2024-01-15") | |
| max_redshift | No | Maximum redshift (float) | |
| min_redshift | No | Minimum redshift (float) | |
| num_per_page | No | Number of results (default 100, max 500) | |
| saved_before | No | Only candidates saved before this date (ISO) | |
| saved_status | No | Saved status filter. Options: - "all" (default): all candidates - "savedToAllSelected": saved to all selected groups - "savedToAnySelected": saved to any selected group - "savedToAnyAccessible": saved to any accessible group - "notSavedToAnyAccessible": not saved to any accessible group - "notSavedToAnySelected": not saved to any selected group - "notSavedToAllSelected": not saved to all selected groups | all |
| classifications | No | Comma-separated classifications to INCLUDE (e.g., "SN Ia,SN Ib/c,SN II") | |
| annotation_filters | No | JSON-encoded list of annotation filters. Each filter is an object with: - "origin": annotation origin (e.g., "braai", "kowalski", "Kowalski") - "key": annotation key (e.g., "braai", "sgScore", "ACAI_score") - "min": minimum value (optional, for range filters) - "max": maximum value (optional, for range filters) - "value": exact value (optional, for exact match filters) Common examples: - Real/bogus: [{"origin":"braai","key":"braai","min":0.8}] - Star/galaxy: [{"origin":"kowalski","key":"sgScore","max":0.3}] - ACAI score: [{"origin":"Kowalski","key":"ACAI_score","min":0.8}] - Combined: [{"origin":"braai","key":"braai","min":0.9},{"origin":"kowalski","key":"sgScore","max":0.3}] Note: Available annotations depend on your instance. Use get_candidate_filter_reference() or inspect sources to discover annotation origins/keys available. | |
| first_detected_after | No | Only sources first detected after this date | |
| last_detected_before | No | Only sources last detected before this date | |
| classifications_reject | No | Comma-separated classifications to EXCLUDE (e.g., "AGN,varstar,bogus") |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |