redback.transient.prompt.PromptTimeSeries

class redback.transient.prompt.PromptTimeSeries(name: str, bin_size: float = 1, ttes: Optional[ndarray] = None, time: Optional[ndarray] = None, time_err: Optional[ndarray] = None, time_rest_frame: Optional[ndarray] = None, time_rest_frame_err: Optional[ndarray] = None, counts: Optional[ndarray] = None, channel_tags: Optional[ndarray] = None, data_mode: str = 'ttes', trigger_number: Optional[str] = None, channels: Union[ndarray, str] = 'all', instrument: str = 'batse', **kwargs: None)[source]

Bases: Transient

__init__(name: str, bin_size: float = 1, ttes: Optional[ndarray] = None, time: Optional[ndarray] = None, time_err: Optional[ndarray] = None, time_rest_frame: Optional[ndarray] = None, time_rest_frame_err: Optional[ndarray] = None, counts: Optional[ndarray] = None, channel_tags: Optional[ndarray] = None, data_mode: str = 'ttes', trigger_number: Optional[str] = None, channels: Union[ndarray, str] = 'all', instrument: str = 'batse', **kwargs: None) None[source]
Parameters:
  • name (str) – Telephone number of GRB, e.g., ‘GRB140903A’ or ‘140903A’ are valid inputs

  • bin_size (float) – Bin size for binning time-tagged event data.

  • ttes (np.ndarray, optional) – Time-tagged events data for unbinned prompt data.

  • time (np.ndarray, optional) – Times in the observer frame.

  • time_err (np.ndarray, optional) – Time errors in the observer frame.

  • time_rest_frame (np.ndarray, optional) – Times in the rest frame. Used for luminosity data.

  • time_rest_frame_err (np.ndarray, optional) – Time errors in the rest frame. Used for luminosity data.

  • counts (np.ndarray, optional) – The number of counts at each given time.

  • channel_tags (np.ndarray, optional) – The channel tag associated with each time.

  • data_mode (str) – Data mode. Must be one from PromptTimeSeries.DATA_MODES.

  • trigger_number (str) – BATSE trigger number.

  • channels (Union[np.ndarray, float]) – Array of channels to use. Use all channels if ‘all’ is given.

  • instrument (str, optional) – Instrument we use. Default is ‘batse’.

  • kwargs (None) – Any other kwargs.

__call__(**kwargs)

Call self as a function.

Methods

__init__(name[, bin_size, ttes, time, ...])

param name:

Telephone number of GRB, e.g., 'GRB140903A' or '140903A' are valid inputs

from_batse_grb_name(name[, trigger_number, ...])

Constructor that loads batse data given a trigger number.

from_lasair_data(name[, data_mode, ...])

Constructor method to built object from LASAIR data.

from_simulated_optical_data(name[, ...])

Constructor method to built object from SimulatedOpticalTransient.

get_colors(filters)

param filters:

Array of list of filters to use in the plot.

get_filtered_data()

Used to filter flux density, photometry or integrated flux data, so we only use data that is using the active bands.

load_batse_data(name, channels)

Load batse data given a transient name.

load_data_generic(processed_file_path[, ...])

Loads data from specified directory and file, and returns it as a tuple.

plot_data(**kwargs)

Simple plot of the data.

plot_different_channels()

plot_lightcurve(model[, axes, save, show, ...])

param model:

The model we are using

plot_multiband([figure, axes, filename, ...])

param figure:

Figure can be given if defaults are not satisfying.

plot_multiband_lightcurve(model[, filename, ...])

param model:

The model used to plot the lightcurve.

plot_residual(model[, filename, outdir, ...])

param model:

The model used to plot the lightcurve.

set_bands_and_frequency(bands, frequency)

Sets bands and frequencies at the same time to keep the logic consistent.

Attributes

DATA_MODES

active_bands

List of active bands used.

bands

data_mode

The currently active data mode (one in Transient.DATA_MODES).

default_filters

Default list of filters to use.

event_table

Gets the event table using a relative path.

filtered_bands

The band names only associated with the active bands.

filtered_frequencies

The frequencies only associated with the active bands.

filtered_indices

The list indices in bands associated with the active bands.

filtered_sncosmo_bands

The sncosmo bands only associated with the active bands.

frequency

Used band frequencies :rtype: np.ndarray

list_of_band_indices

Indices that map between bands in the data and the unique bands we obtain.

t90

The t90 data.

t90_end

The t90 end value.

t90_error

The t90 error value.

t90_start

The t90 start value.

trigger_number

Trigger number getter.

unique_bands

All bands that we get from the data, eliminating all duplicates.

unique_frequencies

All frequencies that we get from the data, eliminating all duplicates.

x

The time values given the active data mode.

x_err

The time error values given the active data mode.

xlabel

xlabel used in plotting functions :rtype: str

y

The y values given the active data mode.

y_err

The y error values given the active data mode.

ylabel

ylabel used in plotting functions :rtype: str

ylabel_dict

property active_bands: list

List of active bands used. :rtype list:

Type:

return

property data_mode: str

The currently active data mode (one in Transient.DATA_MODES). :rtype: str

Type:

return

property default_filters: list

Default list of filters to use. :rtype: list

Type:

return

property event_table: str

Gets the event table using a relative path.

Returns:

The event table.

Return type:

str

property filtered_bands: array

The band names only associated with the active bands. :rtype: np.ndarray

Type:

return

property filtered_frequencies: array

The frequencies only associated with the active bands. :rtype: np.ndarray

Type:

return

property filtered_indices: Optional[list]

The list indices in bands associated with the active bands. :rtype: Union[list, None]

Type:

return

property filtered_sncosmo_bands: array

The sncosmo bands only associated with the active bands. :rtype: np.ndarray

Type:

return

property frequency: ndarray

Used band frequencies :rtype: np.ndarray

Type:

return

classmethod from_batse_grb_name(name: str, trigger_number: Optional[str] = None, channels: Union[ndarray, str] = 'all') PromptTimeSeries[source]

Constructor that loads batse data given a trigger number.

Parameters:
  • name (str) – Name of the transient.

  • trigger_number (str) – BATSE trigger number.

  • channels (Union[np.ndarray, float]) – Array of channels to use. Use all channels if ‘all’ is given.

Returns:

An instance of PromptTimeSeries.

Return type:

PromptTimeSeries

classmethod from_lasair_data(name: str, data_mode: str = 'magnitude', active_bands: Union[ndarray, str] = 'all', use_phase_model: bool = False) Transient

Constructor method to built object from LASAIR data.

Parameters:
  • name (str) – Name of the transient.

  • data_mode (str, optional) – Data mode used. Must be from OpticalTransient.DATA_MODES. Default is magnitude.

  • active_bands (Union[np.ndarray, str]) – Sets active bands based on array given. If argument is ‘all’, all unique bands in self.bands will be used.

  • use_phase_model (bool, optional) – Whether to use a phase model.

Returns:

A class instance.

Return type:

OpticalTransient

classmethod from_simulated_optical_data(name: str, data_mode: str = 'magnitude', active_bands: Union[ndarray, str] = 'all', use_phase_model: bool = False) Transient

Constructor method to built object from SimulatedOpticalTransient.

Parameters:
  • name (str) – Name of the transient.

  • data_mode (str, optional) – Data mode used. Must be from OpticalTransient.DATA_MODES. Default is magnitude.

  • active_bands (Union[np.ndarray, str]) – Sets active bands based on array given. If argument is ‘all’, all unique bands in self.bands will be used.

  • use_phase_model (bool, optional) – Whether to use a phase model.

Returns:

A class instance.

Return type:

OpticalTransient

static get_colors(filters: Union[ndarray, list]) Colormap
Parameters:

filters (Union[np.ndarray, list]) – Array of list of filters to use in the plot.

Returns:

Colormap with one color for each filter.

Return type:

matplotlib.colors.Colormap

get_filtered_data() tuple

Used to filter flux density, photometry or integrated flux data, so we only use data that is using the active bands. :return: A tuple with the filtered data. Format is (x, x_err, y, y_err) :rtype: tuple

property list_of_band_indices: list

Indices that map between bands in the data and the unique bands we obtain. :rtype: list

Type:

return

static load_batse_data(name: str, channels: Union[ndarray, str]) tuple[source]

Load batse data given a transient name.

Parameters:
  • name (str) – Name of the GRB, e.g. GRB123456.

  • channels (Union[np.ndarray, float]) – Array of channels to use. Use all channels if ‘all’ is given.

Returns:

Time, time step size, and counts in the format (time, dt, counts)

Rtype tuple:

static load_data_generic(processed_file_path, data_mode='magnitude')

Loads data from specified directory and file, and returns it as a tuple.

Parameters:
  • processed_file_path (str) – Path to the processed file to load

  • data_mode (str, optional) – Name of the data mode. Must be from [‘magnitude’, ‘flux_density’, ‘all’]. Default is magnitude.

Returns:

Six elements when querying magnitude or flux_density data, Eight for ‘all’.

Return type:

tuple

plot_data(**kwargs: None) None[source]

Simple plot of the data.

Parameters:

kwargs (None) – Placeholder.

plot_different_channels() None[source]
plot_lightcurve(model: callable, axes: Optional[Axes] = None, save: bool = True, show: bool = True, random_models: int = 1000, posterior: Optional[DataFrame] = None, outdir: Optional[str] = None, **kwargs: None) None[source]
Parameters:
  • model (callable) – The model we are using

  • axes (matplotlib.axes.Axes, optional) – Axes to plot into. Currently a placeholder.

  • save (bool, option) – Whether to save the plot. Default is True. Currently, a placeholder.

  • show (bool, optional) – Whether to show the plot. Default is True. Currently, a placeholder.

  • random_models (int, optional) – Number of random posterior samples to use for plots. Default is 1000.

  • posterior (pd.DataFrame, optional) – Posterior from which to draw samples from.

  • outdir (str) – Out directory to save the plot in. Currently, a placeholder.

  • kwargs (None) – All other plotting kwargs. Currently, a placeholder.

plot_multiband(figure: Optional[Figure] = None, axes: Optional[Axes] = None, filename: Optional[str] = None, outdir: Optional[str] = None, ncols: int = 2, save: bool = True, show: bool = True, nrows: Optional[int] = None, figsize: Optional[tuple] = None, filters: Optional[list] = None, **kwargs: None) Axes
Parameters:
  • figure – Figure can be given if defaults are not satisfying.

  • axes – Axes can be given if defaults are not satisfying.

  • filename – Name of the file to be plotted in.

  • outdir – The directory in which to save the file in.

  • save – Whether to save the plot. (Default value = True)

  • show – Whether to show the plot. (Default value = True)

  • ncols – Number of columns to use on the plot. Default is 2.

  • nrows – Number of rows to use on the plot. If None are given this will be inferred from ncols and the number of filters.

  • figsize – Size of the figure. A default based on ncols and nrows will be used if None is given.

  • filters – Which bands to plot. Will use default filters if None is given.

  • kwargs – Additional keyword arguments to pass in the Plotter methods.

Available in the online documentation under at redback.plotting.Plotter.

Keyword Arguments:
  • capsize – Same as matplotlib capsize.

  • bands_to_plot – List of bands to plot in plot lightcurve and multiband lightcurve. Default is active bands.

  • legend_location – Same as matplotlib legend location.

  • legend_cols – Same as matplotlib legend columns.

  • color – Color of the data points.

  • band_colors – A dictionary with the colors of the bands.

  • band_labels – List with the names of the bands.

  • band_scaling – Dict with the scaling for each band. First entry should be {type: ‘+’ or ‘x’} for different types.

  • dpi – Same as matplotlib dpi.

  • elinewidth – same as matplotlib elinewidth

  • errorbar_fmt – ‘fmt’ argument of ax.errorbar.

  • model – str or callable, the model to plot.

  • ms – Same as matplotlib markersize.

  • axis_tick_params_padpad argument in calls to ax.tick_params when setting the axes.

  • max_likelihood_alphaalpha argument, i.e. transparency, when plotting the max likelihood curve.

  • random_sample_alphaalpha argument, i.e. transparency, when plotting random sample curves.

  • uncertainty_band_alphaalpha argument, i.e. transparency, when plotting a credible band.

  • max_likelihood_color – Color of the maximum likelihood curve.

  • random_sample_color – Color of the random sample curves.

  • bbox_inches – Setting for saving plots. Default is ‘tight’.

  • linewidth – Same as matplotlib linewidth

  • zorder – Same as matplotlib zorder

  • xy – For `ax.annotate’ x and y coordinates of the point to annotate.

  • xycoords – The coordinate system xy is given in. Default is ‘axes fraction’

  • horizontalalignment – Horizontal alignment of the annotation. Default is ‘right’

  • annotation_sizesize argument of of ax.annotate.

  • fontsize_axes – Font size of the x and y labels.

  • fontsize_legend – Font size of the legend.

  • fontsize_figure – Font size of the figure. Relevant for multiband plots. Used on supxlabel and supylabel.

  • fontsize_ticks – Font size of the axis ticks.

  • hspace – Argument for subplots_adjust, sets horizontal spacing between panels.

  • wspace – Argument for subplots_adjust, sets horizontal spacing between panels.

  • plot_others – Whether to plot additional bands in the data plot, all in the same colors

  • random_models – Number of random draws to use to calculate credible bands or to plot.

  • uncertainty_mode – ‘random_models’: Plot random draws from the available parameter sets. ‘credible_intervals’: Plot a credible interval that is calculated based on the available parameter sets.

  • reference_mjd_date – Date to use as reference point for the x axis. Default is the first date in the data.

  • credible_interval_level – 0.9: Plot the 90% credible interval.

  • plot_max_likelihood – Plots the draw corresponding to the maximum likelihood. Default is ‘True’.

  • set_same_color_per_subplot – Sets the lightcurve to be the same color as the data per subplot. Default is ‘True’.

  • xlim_high_multiplier – Adjust the maximum xlim based on available x values.

  • xlim_low_multiplier – Adjust the minimum xlim based on available x values.

  • ylim_high_multiplier – Adjust the maximum ylim based on available x values.

  • ylim_low_multiplier – Adjust the minimum ylim based on available x values.

Returns:

The axes.

plot_multiband_lightcurve(model: callable, filename: Optional[str] = None, outdir: Optional[str] = None, figure: Optional[Figure] = None, axes: Optional[Axes] = None, save: bool = True, show: bool = True, random_models: int = 100, posterior: Optional[DataFrame] = None, model_kwargs: Optional[dict] = None, **kwargs: object) Axes
Parameters:
  • model – The model used to plot the lightcurve.

  • filename – The output filename. Otherwise, use default which starts with the name attribute and ends with *lightcurve.png.

  • figure – Figure can be given if defaults are not satisfying.

  • axes – Axes to plot in if given.

:param save:Whether to save the plot. :param show: Whether to show the plot. :param random_models: Number of random posterior samples plotted faintly. (Default value = 100) :param posterior: Posterior distribution to which to draw samples from. Is optional but must be given. :param outdir: Out directory in which to save the plot. Default is the current working directory. :param model_kwargs: Additional keyword arguments to be passed into the model. :param kwargs: Additional keyword arguments to pass in the Plotter methods. Available in the online documentation under at redback.plotting.Plotter.

Keyword Arguments:
  • capsize – Same as matplotlib capsize.

  • bands_to_plot – List of bands to plot in plot lightcurve and multiband lightcurve. Default is active bands.

  • legend_location – Same as matplotlib legend location.

  • legend_cols – Same as matplotlib legend columns.

  • color – Color of the data points.

  • band_colors – A dictionary with the colors of the bands.

  • band_labels – List with the names of the bands.

  • band_scaling – Dict with the scaling for each band. First entry should be {type: ‘+’ or ‘x’} for different types.

  • dpi – Same as matplotlib dpi.

  • elinewidth – same as matplotlib elinewidth

  • errorbar_fmt – ‘fmt’ argument of ax.errorbar.

  • model – str or callable, the model to plot.

  • ms – Same as matplotlib markersize.

  • axis_tick_params_padpad argument in calls to ax.tick_params when setting the axes.

  • max_likelihood_alphaalpha argument, i.e. transparency, when plotting the max likelihood curve.

  • random_sample_alphaalpha argument, i.e. transparency, when plotting random sample curves.

  • uncertainty_band_alphaalpha argument, i.e. transparency, when plotting a credible band.

  • max_likelihood_color – Color of the maximum likelihood curve.

  • random_sample_color – Color of the random sample curves.

  • bbox_inches – Setting for saving plots. Default is ‘tight’.

  • linewidth – Same as matplotlib linewidth

  • zorder – Same as matplotlib zorder

  • xy – For `ax.annotate’ x and y coordinates of the point to annotate.

  • xycoords – The coordinate system xy is given in. Default is ‘axes fraction’

  • horizontalalignment – Horizontal alignment of the annotation. Default is ‘right’

  • annotation_sizesize argument of of ax.annotate.

  • fontsize_axes – Font size of the x and y labels.

  • fontsize_legend – Font size of the legend.

  • fontsize_figure – Font size of the figure. Relevant for multiband plots. Used on supxlabel and supylabel.

  • fontsize_ticks – Font size of the axis ticks.

  • hspace – Argument for subplots_adjust, sets horizontal spacing between panels.

  • wspace – Argument for subplots_adjust, sets horizontal spacing between panels.

  • plot_others – Whether to plot additional bands in the data plot, all in the same colors

  • random_models – Number of random draws to use to calculate credible bands or to plot.

  • uncertainty_mode – ‘random_models’: Plot random draws from the available parameter sets. ‘credible_intervals’: Plot a credible interval that is calculated based on the available parameter sets.

  • reference_mjd_date – Date to use as reference point for the x axis. Default is the first date in the data.

  • credible_interval_level – 0.9: Plot the 90% credible interval.

  • plot_max_likelihood – Plots the draw corresponding to the maximum likelihood. Default is ‘True’.

  • set_same_color_per_subplot – Sets the lightcurve to be the same color as the data per subplot. Default is ‘True’.

  • xlim_high_multiplier – Adjust the maximum xlim based on available x values.

  • xlim_low_multiplier – Adjust the minimum xlim based on available x values.

  • ylim_high_multiplier – Adjust the maximum ylim based on available x values.

  • ylim_low_multiplier – Adjust the minimum ylim based on available x values.

Returns:

The axes.

plot_residual(model: callable, filename: Optional[str] = None, outdir: Optional[str] = None, axes: Optional[Axes] = None, save: bool = True, show: bool = True, posterior: Optional[DataFrame] = None, model_kwargs: Optional[dict] = None, **kwargs: None) Axes
Parameters:
  • model – The model used to plot the lightcurve.

  • filename – The output filename. Otherwise, use default which starts with the name attribute and ends with *lightcurve.png.

  • axes – Axes to plot in if given.

:param save:Whether to save the plot. :param show: Whether to show the plot. :param posterior: Posterior distribution to which to draw samples from. Is optional but must be given. :param outdir: Out directory in which to save the plot. Default is the current working directory. :param model_kwargs: Additional keyword arguments to be passed into the model. :param kwargs: Additional keyword arguments to pass in the Plotter methods. Available in the online documentation under at redback.plotting.Plotter.

Keyword Arguments:
  • capsize – Same as matplotlib capsize.

  • bands_to_plot – List of bands to plot in plot lightcurve and multiband lightcurve. Default is active bands.

  • legend_location – Same as matplotlib legend location.

  • legend_cols – Same as matplotlib legend columns.

  • color – Color of the data points.

  • band_colors – A dictionary with the colors of the bands.

  • band_labels – List with the names of the bands.

  • band_scaling – Dict with the scaling for each band. First entry should be {type: ‘+’ or ‘x’} for different types.

  • dpi – Same as matplotlib dpi.

  • elinewidth – same as matplotlib elinewidth

  • errorbar_fmt – ‘fmt’ argument of ax.errorbar.

  • model – str or callable, the model to plot.

  • ms – Same as matplotlib markersize.

  • axis_tick_params_padpad argument in calls to ax.tick_params when setting the axes.

  • max_likelihood_alphaalpha argument, i.e. transparency, when plotting the max likelihood curve.

  • random_sample_alphaalpha argument, i.e. transparency, when plotting random sample curves.

  • uncertainty_band_alphaalpha argument, i.e. transparency, when plotting a credible band.

  • max_likelihood_color – Color of the maximum likelihood curve.

  • random_sample_color – Color of the random sample curves.

  • bbox_inches – Setting for saving plots. Default is ‘tight’.

  • linewidth – Same as matplotlib linewidth

  • zorder – Same as matplotlib zorder

  • xy – For `ax.annotate’ x and y coordinates of the point to annotate.

  • xycoords – The coordinate system xy is given in. Default is ‘axes fraction’

  • horizontalalignment – Horizontal alignment of the annotation. Default is ‘right’

  • annotation_sizesize argument of of ax.annotate.

  • fontsize_axes – Font size of the x and y labels.

  • fontsize_legend – Font size of the legend.

  • fontsize_figure – Font size of the figure. Relevant for multiband plots. Used on supxlabel and supylabel.

  • fontsize_ticks – Font size of the axis ticks.

  • hspace – Argument for subplots_adjust, sets horizontal spacing between panels.

  • wspace – Argument for subplots_adjust, sets horizontal spacing between panels.

  • plot_others – Whether to plot additional bands in the data plot, all in the same colors

  • random_models – Number of random draws to use to calculate credible bands or to plot.

  • uncertainty_mode – ‘random_models’: Plot random draws from the available parameter sets. ‘credible_intervals’: Plot a credible interval that is calculated based on the available parameter sets.

  • reference_mjd_date – Date to use as reference point for the x axis. Default is the first date in the data.

  • credible_interval_level – 0.9: Plot the 90% credible interval.

  • plot_max_likelihood – Plots the draw corresponding to the maximum likelihood. Default is ‘True’.

  • set_same_color_per_subplot – Sets the lightcurve to be the same color as the data per subplot. Default is ‘True’.

  • xlim_high_multiplier – Adjust the maximum xlim based on available x values.

  • xlim_low_multiplier – Adjust the minimum xlim based on available x values.

  • ylim_high_multiplier – Adjust the maximum ylim based on available x values.

  • ylim_low_multiplier – Adjust the minimum ylim based on available x values.

Returns:

The axes.

set_bands_and_frequency(bands: Union[None, list, ndarray], frequency: Union[None, list, ndarray])

Sets bands and frequencies at the same time to keep the logic consistent. If both are given use those values. If only frequencies are given, use them also as band names. If only bands are given, try to convert them to frequencies.

Parameters:
  • bands (Union[None, list, np.ndarray]) – The bands, e.g. [‘g’, ‘i’].

  • frequency (Union[None, list, np.ndarray]) – The frequencies associated with the bands i.e., the effective frequency.

property t90: float

The t90 data. :rtype: float

Type:

return

property t90_end: float

The t90 end value. :rtype: float

Type:

return

property t90_error: float

The t90 error value. :rtype: float

Type:

return

property t90_start: float

The t90 start value. :rtype: float

Type:

return

property trigger_number: str

Trigger number getter.

Returns:

The trigger number.

Return type:

str

property unique_bands: ndarray

All bands that we get from the data, eliminating all duplicates. :rtype: np.ndarray

Type:

return

property unique_frequencies: ndarray

All frequencies that we get from the data, eliminating all duplicates. :rtype: np.ndarray

Type:

return

property x: ndarray

The time values given the active data mode. :rtype: np.ndarray

Type:

return

property x_err: ndarray

The time error values given the active data mode. :rtype: np.ndarray

Type:

return

property xlabel: str

xlabel used in plotting functions :rtype: str

Type:

return

property y: ndarray

The y values given the active data mode. :rtype: np.ndarray

Type:

return

property y_err: ndarray

The y error values given the active data mode. :rtype: np.ndarray

Type:

return

property ylabel: str

ylabel used in plotting functions :rtype: str

Type:

return