Skip to main content

Automatic supernova discovery with deep learning

Project description

BTSbot Logo

arXiv arXiv arXiv

BTSbot is a multi-modal deep vision model for automating supernova identification and follow-up in the Zwicky Transient Facility (ZTF) Bright Transient Survey (BTS).

BTSbot contributed to the first supernova to be fully automatically discovered, confirmed, classified, and shared (AstroNote, press release) as well automated space-based supernova follow-up (AstroNote). See this animated walkthrough of the fully-automated BTS workflow.

Presented at the ML for Astrophysics workshop at ICML 2023 (Extended abstract)

The training set for the original production model is available on Zenodo.

Installation

Install with pip:

pip install btsbot

Usage

BTSbot models are now available on the HuggingFace Hub and can be downloaded and loaded into Python automatically. Here's how simple it is to get started:

import btsbot

# This will automatically download the model if not already present locally
model = btsbot.load_HF_model(
    architecture="convnext",  # or "maxvit"
    multi_modal=True,         # Set to False for image-only models
    pretrain="galaxyzoo"      # or "imagenet", "randinit"
)

The model object can then be used for inference. For a complete inference example, see inference_example.py which demonstrates:

  • Loading example data (triplets and metadata)
  • Running inference on batches
  • Processing predictions

Citing BTSbot

If you use or reference BTSbot please cite Rehemtulla et al. 2024 (ADS).

@ARTICLE{Rehemtulla+2024,
       author = {{Rehemtulla}, Nabeel and {Miller}, Adam A. and {Jegou Du Laz}, Theophile and {Coughlin}, Michael W. and {Fremling}, Christoffer and {Perley}, Daniel A. and {Qin}, Yu-Jing and {Sollerman}, Jesper and {Mahabal}, Ashish A. and {Laher}, Russ R. and {Riddle}, Reed and {Rusholme}, Ben and {Kulkarni}, Shrinivas R.},
        title = "{The Zwicky Transient Facility Bright Transient Survey. III. BTSbot: Automated Identification and Follow-up of Bright Transients with Deep Learning}",
      journal = {\apj},
     keywords = {Time domain astronomy, Sky surveys, Supernovae, Convolutional neural networks, 2109, 1464, 1668, 1938, Astrophysics - Instrumentation and Methods for Astrophysics},
         year = 2024,
        month = sep,
       volume = {972},
       number = {1},
          eid = {7},
        pages = {7},
          doi = {10.3847/1538-4357/ad5666},
archivePrefix = {arXiv},
       eprint = {2401.15167},
 primaryClass = {astro-ph.IM},
       adsurl = {https://ui.adsabs.harvard.edu/abs/2024ApJ...972....7R},
      adsnote = {Provided by the SAO/NASA Astrophysics Data System}
}

If you use or reference a pre-trained BTSbot model like the updated ConvNeXt-based BTSbot or any BTSbot output from 2026 or beyond, please also cite our follow-up publication.

@ARTICLE{Rehemtulla+2025,
      title={Pre-training vision models for the classification of alerts from wide-field time-domain surveys}, 
      author={Nabeel Rehemtulla and Adam A. Miller and Mike Walmsley and Ved G. Shah and Theophile Jegou du Laz and Michael W. Coughlin and Argyro Sasli and Joshua Bloom and Christoffer Fremling and Matthew J. Graham and Steven L. Groom and David Hale and Ashish A. Mahabal and Daniel A. Perley and Josiah Purdum and Ben Rusholme and Jesper Sollerman and Mansi M. Kasliwal},
      year={2025},
      eprint={2512.11957},
      archivePrefix={arXiv},
      primaryClass={astro-ph.IM},
      url={https://arxiv.org/abs/2512.11957}, 
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

btsbot-2.0.7.tar.gz (32.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

btsbot-2.0.7-py3-none-any.whl (34.7 kB view details)

Uploaded Python 3

File details

Details for the file btsbot-2.0.7.tar.gz.

File metadata

  • Download URL: btsbot-2.0.7.tar.gz
  • Upload date:
  • Size: 32.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for btsbot-2.0.7.tar.gz
Algorithm Hash digest
SHA256 6e16e132f617f4acac5a89f7051f3e1fd5f8d0be09b1a21e09f86107552e8573
MD5 19d45921f19daa7747044a78f0a1cf76
BLAKE2b-256 7e1dd65ebdaef1c4abc2728319b802b0c2b22c3ae373bfd5035bb8f2d610a462

See more details on using hashes here.

File details

Details for the file btsbot-2.0.7-py3-none-any.whl.

File metadata

  • Download URL: btsbot-2.0.7-py3-none-any.whl
  • Upload date:
  • Size: 34.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.14

File hashes

Hashes for btsbot-2.0.7-py3-none-any.whl
Algorithm Hash digest
SHA256 de33691e73c42090928f84a56aabb9127c000a6ceb529d2a48b20a38b78b9447
MD5 e680cd5e5d2e6ee2e5f87a1e18471286
BLAKE2b-256 2cd15f3b42811c3bfd7e18508143841dced1e1f022677414f65ce97836a86b5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page