Source code for pyflex.flexwin
#!/usr/bin/env python
# -*- coding: utf-8 -*-
"""
Convenience functions.
:copyright:
Lion Krischer (krischer@geophysik.uni-muenchen.de), 2014
:license:
GNU General Public License, Version 3
(http://www.gnu.org/copyleft/gpl.html)
"""
from __future__ import (absolute_import, division, print_function,
unicode_literals)
from future.builtins import * # NOQA
from .window_selector import WindowSelector
[docs]def select_windows(observed, synthetic, config, event=None, station=None,
plot=False, plot_filename=None, windows_filename=None):
"""
Convenience function for selecting (and plotting) windows.
:param observed: The preprocessed, observed waveform.
:type observed: :class:`~obspy.core.trace.Trace` or single component
:class:`~obspy.core.stream.Stream`
:param observed: The preprocessed, synthetic waveform.
:type synthetic: :class:`~obspy.core.trace.Trace` or single component
:class:`~obspy.core.stream.Stream`
:param config: Configuration object.
:type config: :class:`~.config.Config`
:param event: The event information. Either a Pyflex Event object,
or an ObsPy Catalog or Event object. If not given this information
will be extracted from the data traces if either originates from a
SAC file.
:type event: A Pyflex :class:`~pyflex.Event` object, an ObsPy
:class:`~obspy.core.event.Catalog` object, or an ObsPy
:class:`~obspy.core.event.Event` object
:param station: The station information. Either a Pyflex Station object,
or an ObsPy Inventory. If not given this information will be
extracted from the data traces if either originates from a SAC file.
:type station: A Pyflex :class:`~pyflex.Station` object or an ObsPy
:class:`~obspy.station.inventory.Inventory` object
:param plot: Plot the resulting windows.
:type plot: bool
:param plot_filename: If `plot` is True, this gives the possibility to
specify a filename for the plot. The fileformat will be determines
from that name. If not given, the plot will be shown with pylab's
show() function.
:type plot_filename: str
:param windows_filename: If given, windows will be saved to that file or
file-like object. Pyflex utilizes a custom JSON format for that.
:type windows_filename: str or file-like object.
"""
ws = WindowSelector(observed=observed, synthetic=synthetic, config=config,
event=event, station=station)
windows = ws.select_windows()
if plot:
ws.plot(filename=plot_filename)
if windows_filename:
ws.write(windows_filename)
return windows