threeML.utils.spectrum.binned_spectrum module¶
-
class
threeML.utils.spectrum.binned_spectrum.BinnedSpectrum(counts, exposure, ebounds, count_errors=None, sys_errors=None, quality=None, scale_factor=1.0, is_poisson=False, mission=None, instrument=None, tstart=None, tstop=None)[source]¶ Bases:
threeML.utils.histogram.Histogram-
INTERVAL_TYPE¶
-
clone(new_counts=None, new_count_errors=None, new_exposure=None, new_scale_factor=None)[source]¶ make a new spectrum with new counts and errors and all other parameters the same
- Parameters
new_counts – new counts for the spectrum
new_count_errors – new errors from the spectrum
- Returns
-
property
count_errors¶ count error per channel
- Type
return
-
property
counts¶ counts per channel
- Type
return
-
property
exposure¶ Exposure in seconds
- Returns
exposure
-
classmethod
from_pandas(pandas_dataframe, exposure, scale_factor=1.0, is_poisson=False, mission=None, instrument=None)[source]¶ Build a spectrum from data contained within a pandas data frame.
The required columns are:
‘emin’: low energy bin edge ‘emax’: high energy bin edge ‘counts’: the counts in each bin
Optional column names are:
‘count_errors’: errors on the counts for non-Poisson data ‘sys_errors’: systematic error per channel ‘quality’ list of 3ML quality flags ‘good’, ‘warn’, ‘bad’
- Parameters
pandas_dataframe – data frame containing information to be read into spectrum
exposure – the exposure of the spectrum
scale_factor – the scale factor of the spectrum
is_poisson – if the data are Poisson distributed
mission – (optional) the mission name
instrument – (optional) the instrument name
- Returns
-
classmethod
from_time_series(time_series, use_poly=False, from_model=False, **kwargs)[source]¶ - Parameters
time_series –
use_poly –
- Returns
-
property
instrument¶
-
property
is_poisson¶
-
property
mission¶
-
property
n_channel¶
-
property
n_channels¶
-
property
quality¶
-
property
rate_errors¶ If the spectrum has no Poisson error (POISSER is False in the header), this will return the STAT_ERR column :return: errors on the rates
-
property
rates¶ rates per channel
- Type
return
-
property
scale_factor¶
-
property
sys_errors¶ Systematic errors per channel. This is nonzero only if the SYS_ERR column is present in the input file.
- Returns
the systematic errors stored in the input spectrum
-
to_pandas(use_rate=True)[source]¶ make a pandas table from the spectrum.
- Parameters
use_rate – if the table should use rates or counts
- Returns
-
property
total_count¶ total counts
- Type
return
-
property
total_count_error¶ total count error
- Type
return
-
property
total_rate¶ total rate
- Type
return
-
property
total_rate_error¶ total rate error
- Type
return
-
property
tstart¶
-
property
tstop¶
-
-
class
threeML.utils.spectrum.binned_spectrum.BinnedSpectrumWithDispersion(counts, exposure, response, count_errors=None, sys_errors=None, quality=None, scale_factor=1.0, is_poisson=False, mission=None, instrument=None, tstart=None, tstop=None)[source]¶ Bases:
threeML.utils.spectrum.binned_spectrum.BinnedSpectrum-
clone(new_counts=None, new_count_errors=None, new_sys_errors=None, new_exposure=None, new_scale_factor=None)[source]¶ make a new spectrum with new counts and errors and all other parameters the same
- Parameters
new_sys_errors –
new_exposure –
new_scale_factor –
new_counts – new counts for the spectrum
new_count_errors – new errors from the spectrum
- Returns
-
classmethod
from_time_series(time_series, response=None, use_poly=False, extract=False)[source]¶ - Parameters
time_series –
use_poly –
- Returns
-
property
response¶
-
-
class
threeML.utils.spectrum.binned_spectrum.Channel(start: float, stop: float, swap_if_inverted: bool = False)[source]¶ Bases:
threeML.utils.interval.Interval-
property
channel_width¶
-
property
-
class
threeML.utils.spectrum.binned_spectrum.ChannelSet(list_of_intervals=())[source]¶ Bases:
threeML.utils.interval.IntervalSet-
INTERVAL_TYPE¶
-
property
channels_widths¶
-
-
class
threeML.utils.spectrum.binned_spectrum.Quality(quality)[source]¶ Bases:
object-
property
bad¶
-
classmethod
create_all_good(n_channels)[source]¶ construct a quality object with all good channels :param n_channels: :return:
-
property
good¶
-
property
n_elements¶
-
to_ogip()[source]¶ makes a quality array following the OGIP standards: 0 = good 2 = warn 5 = bad
- Returns
-
property
warn¶
-
property