# # XML I/O # # ============================================================================= # # # content handler suitable for loading series data # class LIGOLWContentHandler(ligolw.LIGOLWContentHandler): pass ligolw_array.use_in(LIGOLWContentHandler) ligolw_param.use_in(LIGOLWContentHandler) # # COMPLEX16FrequencySeries # def build_COMPLEX16FrequencySeries(series, comment = None): elem = ligolw.LIGO_LW(Attributes({u"Name": u"COMPLEX16FrequencySeries"})) if comment is not None: elem.appendChild(ligolw.Comment()).pcdata = comment elem.appendChild(ligolw.Time.from_gps(series.epoch, Name = u"epoch")) elem.appendChild(ligolw_param.from_pyvalue(u"f0", series.f0, unit = LALUnit("s^-1"))) data = series.data data = numpy.row_stack((numpy.arange(0, len(data)) * series.deltaF, numpy.real(data), numpy.imag(data)))
from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas import numpy import sys from glue.ligolw import ligolw from glue.ligolw import array as ligolw_array from glue.ligolw import param as ligolw_param from glue.ligolw import utils as ligolw_utils class ContentHandler(ligolw.LIGOLWContentHandler): pass ligolw_array.use_in(ContentHandler) ligolw_param.use_in(ContentHandler) xmldoc = ligolw_utils.load_filename("ligo_lw_test_01.xml", contenthandler=ContentHandler, verbose=True) ligolw_utils.write_filename(xmldoc, "/dev/null") t, = xmldoc.getElementsByTagName(ligolw.Time.tagName) print >> sys.stderr, "%s: %s" % (t.Name, t.pcdata) for n, a in enumerate(xmldoc.getElementsByTagName(ligolw.Array.tagName)): print >> sys.stderr, "found %s array '%s'" % ("x".join( map(str, a.array.shape)), a.Name) fig = figure.Figure() FigureCanvas(fig) axes = fig.gca()
from six.moves import range matplotlib.use("Agg") from matplotlib import figure from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas import numpy import sys from glue.ligolw import ligolw from glue.ligolw import array as ligolw_array from glue.ligolw import param as ligolw_param from glue.ligolw import utils as ligolw_utils class ContentHandler(ligolw.LIGOLWContentHandler): pass ligolw_array.use_in(ContentHandler) ligolw_param.use_in(ContentHandler) xmldoc = ligolw_utils.load_filename("ligo_lw_test_01.xml", contenthandler = ContentHandler, verbose = True) ligolw_utils.write_filename(xmldoc, "/dev/null") t, = xmldoc.getElementsByTagName(ligolw.Time.tagName) print("%s: %s" % (t.Name, t.pcdata), file=sys.stderr) for n, a in enumerate(xmldoc.getElementsByTagName(ligolw.Array.tagName)): print("found %s array '%s'" % ("x".join(map(str, a.array.shape)), a.Name), file=sys.stderr) fig = figure.Figure() FigureCanvas(fig) axes = fig.gca() axes.loglog() axes.grid(True) for i in range(1, a.array.shape[0]):
import time import io from glue.ligolw import ligolw from glue.ligolw import array as ligolw_array from glue.ligolw import param as ligolw_param from glue.ligolw import lsctables from glue.ligolw import utils as ligolw_utils class LIGOLWContentHandler(ligolw.LIGOLWContentHandler): pass ligolw_array.use_in(LIGOLWContentHandler) ligolw_param.use_in(LIGOLWContentHandler) lsctables.use_in(LIGOLWContentHandler) def get_filename(gracedb_client, graceid, filename, retries=3, retry_delay=10.0, ignore_404=False): for i in range(retries): logging.info("retrieving \"%s\" for %s" % (filename, graceid)) response = gracedb_client.files(graceid, filename) if response.status == http.client.OK: return response if response.status == http.client.NOT_FOUND and ignore_404: