Skip to main content

Python package for GRB analysis

Project description

pygrb_lc

Package to load and handle GRB (Gamma-ray bursts) light curves, their furie transformations and various other functions.

To install run the following command

pip install --upgrade pygrb_lc

or

pip3 install --upgrade pygrb_lc

Light curves

Main object in this package is LightCurve object and its children. Start by creating one

from pygrb_lc.light_curves import LightCurve # base class for ligth curve

lc = LightCurve()
print(lc)

It is created but empty, semplest way to provide data is by data argument, that requires numpy.ndarray with 2 (time, signal) or 4 (time, time_err, signal, signal_err) columns

import numpy as np

data = np.loadtxt('test.txt')
lc = LightCurve(data = data)
print(lc)

Base class can rebin data, subtract polynomial function, filter peaks, set intervals and load and save data to LIGHT_CURVE_SAVE folder in pickle format.

There are specific classes for INTERAL/SPI-ACS and Fermi/GBM instruments. They are able to load actual data from web, you need to specify it in loading_method parameter

from pygrb_lc.light_curves import SPI_ACS_LightCurve, GBM_LightCurve

lc1 = SPI_ACS_LightCurve('2020-01-01 00:00:00', 500, loading_method = 'web')
lc2 = GBM_LightCurve('2020-01-01 00:00:00', ['na'], duration = 500, loading_method = 'web')

Furie transformations

Furie transformation is performed by FurieLightCurve class. It requires LightCurve object as an argument

from pygrb_lc.furie import FurieLightCurve

lc = LightCurve(data = np.loadtxt('test.txt'))
flc = FurieLightCurve(lc, interval_t90 = (0, 10))

flc.plot()

All classes have plot method, you can provide matplotlib.pyplot.Axes object as an argument to plot on existing plot

fig,(ax1,ax2) = plt.subplots(2,1)
lc.plot(ax = ax1)
flc.plot(ax = ax2)

Catalog

Catalog class is an extension of pandas.DataFrame. It provides simplicity of manipulations and visualization and extend it with crossmatching functionality. Easiest way to start using it is to create it from existing tabular data. It is important to provide event_column argument, it is the name of column that will be used for crossmatching and comparison

from pygrb_lc.catalogs import Catalog
import pandas as pd
import numpy as np

data = np.loadtxt('test.txt')
cat = Catalog(data, columns = ['datetime','duration'], event_column = 'datetime')
cat.find_event(pd.Timestamp('2023-01-01 00:00:00'), precision = 10)

precision (in seconds) controls uncertainity that is allowed for the event. If there is no such event method will return None. There is a method of crossmatching two catalogs crossmatch, it works like inner join for SQL tables, but compares only corresponding event_column columns and allows uncertainity via precision. precision = 0 equals to exact match.

Roadmap

Add support of LightCurve class in Catalog Add support of spectra (based on current photon_data in GBM_LightCurve class) Add typical functions for approximation: Band function, power law, etc. and their interaction with LightCurve and FurieLightCurve classes.

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

pygrb_lc-0.1.4.tar.gz (19.6 kB view details)

Uploaded Source

Built Distribution

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

pygrb_lc-0.1.4-py3-none-any.whl (20.4 kB view details)

Uploaded Python 3

File details

Details for the file pygrb_lc-0.1.4.tar.gz.

File metadata

  • Download URL: pygrb_lc-0.1.4.tar.gz
  • Upload date:
  • Size: 19.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pygrb_lc-0.1.4.tar.gz
Algorithm Hash digest
SHA256 591bd240df009f250028ebca69fbe0ea5ea63ba0345950a8a5b1171ce3c72f63
MD5 504d6bb38a2889a7e5ac2b846fef896a
BLAKE2b-256 c442501e2095bea5d7a787d13dd11b931022c2fdba1d8b3a28b7d0e158e28db6

See more details on using hashes here.

File details

Details for the file pygrb_lc-0.1.4-py3-none-any.whl.

File metadata

  • Download URL: pygrb_lc-0.1.4-py3-none-any.whl
  • Upload date:
  • Size: 20.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.4

File hashes

Hashes for pygrb_lc-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 580dea9241d5b9fb0fad130790d77df1189ffd7a3e9bf5e51a8124368498a10b
MD5 42c2103046a14a5c7c82b3875470604e
BLAKE2b-256 5905017bbbcb3b3acb71ad2c44ed3679e588f1821a3b7b7236e5cdb22e3c199e

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