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.
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_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
List of active bands used.
bands
The currently active data mode (one in Transient.DATA_MODES).
Default list of filters to use.
Gets the event table using a relative path.
The band names only associated with the active bands.
The frequencies only associated with the active bands.
The list indices in bands associated with the active bands.
The sncosmo bands only associated with the active bands.
Used band frequencies :rtype: np.ndarray
Indices that map between bands in the data and the unique bands we obtain.
The t90 data.
The t90 end value.
The t90 error value.
The t90 start value.
Trigger number getter.
All bands that we get from the data, eliminating all duplicates.
All frequencies that we get from the data, eliminating all duplicates.
The time values given the active data mode.
The time error values given the active data mode.
xlabel used in plotting functions :rtype: str
The y values given the active data mode.
The y error values given the active data mode.
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:
- 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:
- 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:
- 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_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_pad – pad argument in calls to ax.tick_params when setting the axes.
max_likelihood_alpha – alpha argument, i.e. transparency, when plotting the max likelihood curve.
random_sample_alpha – alpha argument, i.e. transparency, when plotting random sample curves.
uncertainty_band_alpha – alpha 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_size – size 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_pad – pad argument in calls to ax.tick_params when setting the axes.
max_likelihood_alpha – alpha argument, i.e. transparency, when plotting the max likelihood curve.
random_sample_alpha – alpha argument, i.e. transparency, when plotting random sample curves.
uncertainty_band_alpha – alpha 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_size – size 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_pad – pad argument in calls to ax.tick_params when setting the axes.
max_likelihood_alpha – alpha argument, i.e. transparency, when plotting the max likelihood curve.
random_sample_alpha – alpha argument, i.e. transparency, when plotting random sample curves.
uncertainty_band_alpha – alpha 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_size – size 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