Source code for pyrocko.gui.snuffler.snufflings.minmax

# https://pyrocko.org - GPLv3
#
# The Pyrocko Developers, 21st Century
# ---|P------/S----------~Lg----------

from ..snuffling import Snuffling
from pyrocko import trace


[docs]class MinMaxSnuffling(Snuffling): ''' Reports minimum, maximum, and peak-to-peak values of selected data. To use it, use the picker tool to mark a region or select existing regions and call this snuffling. The values are printed via standard output to the termimal. '''
[docs] def setup(self): ''' Customization of the snuffling. ''' self.set_name('Minimum Maximum Peak-To-Peak') self.tinc = None
[docs] def call(self): ''' Main work routine of the snuffling. ''' # to select a reasonable increment for the chopping, the smallest # sampling interval in the pile is looked at. this is only done, # the first time the snuffling is called. if self.tinc is None: self.tinc = self.get_pile().get_deltats()[0] * 10000. # the chopper yields lists of traces but for minmax() below, an # iterator yielding single traces is needed; using a converter: def iter_single_traces(): for traces in self.chopper_selected_traces( tinc=self.tinc, degap=False, fallback=True): for tr in traces: yield tr # the function minmax() in the trace module can get minima and maxima # grouped by (network,station,location,channel): mima = trace.minmax(iter_single_traces()) for nslc in sorted(mima.keys()): p2p = mima[nslc][1] - mima[nslc][0] print('%s.%s.%s.%s: %12.5g %12.5g %12.5g' % ( nslc + mima[nslc] + (p2p,)))
def __snufflings__(): ''' Returns a list of snufflings to be exported by this module. ''' return [MinMaxSnuffling()]