DataQualityDict¶
- class gwpy.segments.DataQualityDict[source]¶
An
OrderedDictof (key,DataQualityFlag) pairs.Since the
DataQualityDictis anOrderedDict, all iterations over its elements retain the order in which they were inserted.Methods Summary
clear()coalesce()Coalesce all segments lists in this
DataQualityDict.copy([deep])Build a copy of this dictionary.
from_ligolw_tables(segmentdeftable, ...[, ...])Build a
DataQualityDictfrom a set of LIGO_LW segment tablesfrom_veto_definer_file(fp[, start, end, ...])Read a
DataQualityDictfrom a LIGO_LW XML VetoDefinerTable.fromkeys(/, iterable[, value])Create a new ordered dictionary with keys from iterable and values set to value.
get(key[, default])Return the value for key if key is in the dictionary, else default.
Return the intersection of all flags in this dict
items()keys()move_to_end(/, key[, last])Move an existing element to the end (or beginning if last is false).
plot([label])Plot this flag on a segments projection.
pop(k[,d])value.
popitem(/[, last])Remove and return a (key, value) pair from the dictionary.
populate([source, segments, pad, on_error])Query the segment database for each flag's active segments.
query(flags, *args, **kwargs)Query for segments of a set of flags.
query_dqsegdb(flags, *args, **kwargs)Query the advanced LIGO DQSegDB for a list of flags.
query_segdb(flags, *args, **kwargs)Query the inital LIGO segment database for a list of flags.
read(source[, names, format])Read segments from file into a
DataQualityDictsetdefault(/, key[, default])Insert key with a value of default if key is not in the dictionary.
to_ligolw_tables([ilwdchar_compat])Convert this
DataQualityDictinto a trio of LIGO_LW segment tablesunion()Return the union of all flags in this dict
update([E, ]**F)If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
values()write(target, *args, **kwargs)Write this
DataQualityDictto fileMethods Documentation
- clear() None. Remove all items from od.¶
- coalesce()[source]¶
Coalesce all segments lists in this
DataQualityDict.This method modifies this object in-place.
- Returns
self
a view of this flag, not a copy.
- copy(deep=False)[source]¶
Build a copy of this dictionary.
- Parameters
deep :
bool, optional, default:Falseperform a deep copy of the original dictionary with a fresh memory address
- Returns
flag2 :
DataQualityFlaga copy of the original dictionary
- classmethod from_ligolw_tables(segmentdeftable, segmentsumtable, segmenttable, names=None, gpstype=<class 'lal.LIGOTimeGPS'>, on_missing='error')[source]¶
Build a
DataQualityDictfrom a set of LIGO_LW segment tables- Parameters
segmentdeftable :
SegmentDefTablethe
segment_definertable to readsegmentsumtable :
SegmentSumTablethe
segment_summarytable to readsegmenttable :
SegmentTablethe
segmenttable to reada list of flag names to read, defaults to returning all
gpstype :
type,callable, optionalclass to use for GPS times in returned objects, can be a function to convert GPS time to something else, default is
LIGOTimeGPSon_missing :
str, optionalaction to take when a one or more
namesare not found in thesegment_definertable, one of'ignore': do nothing'warn': print a warningerror': raise aValueError
- Returns
dqdict :
DataQualityDicta dict of
DataQualityFlagobjects populated from the LIGO_LW tables
- classmethod from_veto_definer_file(fp, start=None, end=None, ifo=None, format='ligolw')[source]¶
Read a
DataQualityDictfrom a LIGO_LW XML VetoDefinerTable.- Parameters
fp :
strpath of veto definer file to read
start :
LIGOTimeGPS,int, optionalGPS start time at which to restrict returned flags
end :
LIGOTimeGPS,int, optionalGPS end time at which to restrict returned flags
ifo :
str, optionalinterferometer prefix whose flags you want to read
format :
str, optionalformat of file to read, currently only ‘ligolw’ is supported
- Returns
flags :
DataQualityDicta
DataQualityDictof flags parsed from theveto_def_tableof the input file.
Notes
This method does not automatically
populatetheactivesegment list of any flags, a separate call should be made for that as follows>>> flags = DataQualityDict.from_veto_definer_file('/path/to/file.xml') >>> flags.populate()
- fromkeys(/, iterable, value=None)¶
Create a new ordered dictionary with keys from iterable and values set to value.
- get(key, default=None, /)¶
Return the value for key if key is in the dictionary, else default.
- intersection()[source]¶
Return the intersection of all flags in this dict
- Returns
intersection :
DataQualityFlaga new
DataQualityFlagwho’s active and known segments are the intersection of those of the values of this dict
- items() a set-like object providing a view on D's items¶
- keys() a set-like object providing a view on D's keys¶
- move_to_end(/, key, last=True)¶
Move an existing element to the end (or beginning if last is false).
Raise KeyError if the element does not exist.
- plot(label='key', **kwargs)[source]¶
Plot this flag on a segments projection.
- Parameters
label :
str, optionalLabelling system to use, or fixed label for all flags, special values include
'key': use the key of theDataQualityDict,'name': use thenameof the flag
If anything else, that fixed label will be used for all lines.
**kwargs
all keyword arguments are passed to the
Plotconstructor.- Returns
figure :
Figurethe newly created figure, with populated Axes.
See also
matplotlib.pyplot.figurefor documentation of keyword arguments used to create the figure
matplotlib.figure.Figure.add_subplotfor documentation of keyword arguments used to create the axes
gwpy.plot.SegmentAxes.plot_segmentlistfor documentation of keyword arguments used in rendering the data
- pop(k[, d]) v, remove specified key and return the corresponding¶
value. If key is not found, d is returned if given, otherwise KeyError is raised.
- popitem(/, last=True)¶
Remove and return a (key, value) pair from the dictionary.
Pairs are returned in LIFO order if last is true or FIFO order if false.
- populate(source='http://segments.ldas.cit', segments=None, pad=True, on_error='raise', **kwargs)[source]¶
Query the segment database for each flag’s active segments.
This method assumes all of the metadata for each flag have been filled. Minimally, the following attributes must be filled
The name associated with this flag.
The set of segments during which this flag was known, and its state was well defined.
Segments will be fetched from the database, with any
paddingadded on-the-fly.Entries in this dict will be modified in-place.
- Parameters
source :
strsource of segments for this flag. This must be either a URL for a segment database or a path to a file on disk.
segments :
SegmentList, optionala list of known segments during which to query, if not given, existing known segments for flags will be used.
pad :
bool, optional, default:Trueon_error :
strhow to handle an error querying for one flag, one of
'raise'(default): raise the Exception'warn': print a warning'ignore': move onto the next flag as if nothing happened
**kwargs
any other keyword arguments to be passed to
DataQualityFlag.query()orDataQualityFlag.read().- Returns
self :
DataQualityDicta reference to the modified DataQualityDict
- classmethod query(flags, *args, **kwargs)[source]¶
Query for segments of a set of flags.
This method intelligently selects the
query_segdbor thequery_dqsegdbmethods based on theurlkwarg given.- Parameters
flags :
iterableA list of flag names for which to query.
*args
Either, two
float-like numbers indicating the GPS [start, stop) interval, or aSegmentListdefining a number of summary segmentsurl :
str, optionalURL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVERenvironment variable, or'https://segments.ligo.org'- Returns
flagdict :
DataQualityDictA
dictof(name, DataQualityFlag)pairs
See also
DataQualityDict.query_segdbDataQualityDict.query_dqsegdbfor details on the actual query engine, and documentation of other keyword arguments appropriate for each query
- classmethod query_dqsegdb(flags, *args, **kwargs)[source]¶
Query the advanced LIGO DQSegDB for a list of flags.
- Parameters
flags :
iterableA list of flag names for which to query.
*args
Either, two
float-like numbers indicating the GPS [start, stop) interval, or aSegmentListdefining a number of summary segments.on_error :
strhow to handle an error querying for one flag, one of
'raise'(default): raise the Exception'warn': print a warning'ignore': move onto the next flag as if nothing happened
url :
str, optionalURL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVERenvironment variable, or'https://segments.ligo.org'- Returns
flagdict :
DataQualityDictAn ordered
DataQualityDictof (name,DataQualityFlag) pairs.
- classmethod query_segdb(flags, *args, **kwargs)[source]¶
Query the inital LIGO segment database for a list of flags.
- Parameters
flags :
iterableA list of flag names for which to query.
*args
Either, two
float-like numbers indicating the GPS [start, stop) interval, or aSegmentListdefining a number of summary segments.url :
str, optionalURL of the segment database, defaults to
$DEFAULT_SEGMENT_SERVERenvironment variable, or'https://segments.ligo.org'- Returns
flagdict :
DataQualityDictAn ordered
DataQualityDictof (name,DataQualityFlag) pairs.
- classmethod read(source, names=None, format=None, **kwargs)[source]¶
Read segments from file into a
DataQualityDict- Parameters
source :
strpath of file to read
format :
str, optionalsource format identifier. If not given, the format will be detected if possible. See below for list of acceptable formats.
names :
list, optional, default: read all names foundlist of names to read, by default all names are read separately.
coalesce :
bool, optionalif
Truecoalesce the all segment lists before returning, otherwise return exactly as contained in file(s).nproc :
int, optional, default: 1number of CPUs to use for parallel reading of multiple files
verbose :
bool, optional, default:Falseprint a progress bar showing read status
- Returns
flagdict :
DataQualityDicta new
DataQualityDictofDataQualityFlagentries withactiveandknownsegments seeded from the XML tables in the given file.
Notes
The available built-in formats are:
Format
Read
Write
Auto-identify
hdf5
Yes
No
No
ligolw
Yes
Yes
Yes
- setdefault(/, key, default=None)¶
Insert key with a value of default if key is not in the dictionary.
Return the value for key if key is in the dictionary, else default.
- to_ligolw_tables(ilwdchar_compat=None, **attrs)[source]¶
Convert this
DataQualityDictinto a trio of LIGO_LW segment tables- Parameters
ilwdchar_compat :
bool, optional**attrs
other attributes to add to all rows in all tables (e.g.
'process_id')- Returns
segmentdeftable :
SegmentDefTablethe
segment_definertablesegmentsumtable :
SegmentSumTablethe
segment_summarytablesegmenttable :
SegmentTablethe
segmenttable
- union()[source]¶
Return the union of all flags in this dict
- Returns
union :
DataQualityFlaga new
DataQualityFlagwho’s active and known segments are the union of those of the values of this dict
- update([E, ]**F) None. Update D from dict/iterable E and F.¶
If E is present and has a .keys() method, then does: for k in E: D[k] = E[k] If E is present and lacks a .keys() method, then does: for k, v in E: D[k] = v In either case, this is followed by: for k in F: D[k] = F[k]
- values() an object providing a view on D's values¶
- write(target, *args, **kwargs)[source]¶
Write this
DataQualityDictto fileNotes
The available built-in formats are:
Format
Read
Write
Auto-identify
hdf5
Yes
Yes
No
ligolw
Yes
Yes
Yes