Skip to main content

Fitting multiband lightcurves with a Bazin-Blackbody surface

Project description

The BazinBlackBody package (BBB)

Time-Wavelength fit to find fast rising transients. BazinBlackBody or ExponentialBlackBody

The algorithm is motivated and defined here

The input is either a ZTF or LSST alert structure, and the output is the temperature T and rise rate kr or k, and perhaps the fall rate kf. The k and kr are rise rate in mags per day, and T is black body temperature in kiloKelvin. How to use the package:

  • Copy the settings_bbb_template.py into your own settings.py. Most of this is intended for using the 'annotate' feature of BBB, which pulls filtered alerts from Lasair, runs BBB, then pushes them back to Lasair as annotations.

  • Decide which survey you will use: LSST or ZTF. This decides the schema that BBB will use to get its inputs from the alert packet. What is wanted are in the first column, and the idiosyncratic survey name in other columns.

name ZTF LSST
MJD mjd midpointMjdTai
Object diaObject
Sources diaSourceList candidates
Forced forcedphot diaForcedSourcesList
Band index fid band
Flux converted from magpsf psfFlux
Flux error converted from sigmapsf psfFluxError
Forced Flux forcediffimflux psfFlux
Forced Flux error forcediffimfluxunc psfFluxErr

Now the code can be called as follows:

import BBBEngine
BE = BBBEngine.BBB('ZTF', verbose=True)
(dicte, dictb) =  BE.make_fit(alert)
if dicte:
    BE.plot(alert, dicte, 'image/%s.png'%objectId)
if dictb:
    BE.plot(alert, dictb, 'image/%s.png'%objectId)

In addition to the survey names (mandatory), and the verbose flag, the class instantiation can have other parameters for the initial conditions of the fitting process:

nforced=4, ebv=0, A=10000, T=8, t0=-6, kr=1, kf=0.1

Where

  • nforced is the number of forced phot points utilised before discovery
  • ebv is the E(B-V) extinction, default zero
  • A is the overall scale (in nanoJanskies for LSST and microJanskies for ZTF)
  • and T is the initial guess for the temparature in kiloKelvins
  • and kr and kf are initial guesses for the rise rate per day and the fall rate per day.

The return from make_fit may contain two dictionaries, one for the Exponential-Blackbody fit to the lightcurve (linear in magnitude), and the other the result of the Bazin-Blackbody fit.

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

bazinblackbody-0.8.tar.gz (20.1 kB view details)

Uploaded Source

File details

Details for the file bazinblackbody-0.8.tar.gz.

File metadata

  • Download URL: bazinblackbody-0.8.tar.gz
  • Upload date:
  • Size: 20.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for bazinblackbody-0.8.tar.gz
Algorithm Hash digest
SHA256 84c67f6870cf2b1500875ef5024b0b602c41808d80b243a7dd03a8de64789021
MD5 9452d80494a508017d4a43f7bb76d36b
BLAKE2b-256 e572a0f701b170f53d7c050bfff9280552a07ce7359c221a785a740017b4cf5e

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