Source code for obspy.db.feature

# -*- coding: utf-8 -*-
"""
Optional feature generators for ObsPy Trace objects.

:copyright:
    The ObsPy Development Team (devs@obspy.org)
:license:
    GNU Lesser General Public License, Version 3
    (https://www.gnu.org/copyleft/lesser.html)
"""
from obspy.core.util import score_at_percentile


[docs]class BandpassPreviewFeature(object): """ Bandpass filter (freqmin=0.1, freqmax=20.0) all trace previews. """
[docs] def process(self, trace): """ Bandpass filter (freqmin=0.1, freqmax=20.0) all trace previews. """ # applying bandpass on trace directly - this will not modify the # original waveform file but it will influence the preview trace trace.filter("bandpass", freqmin=0.1, freqmax=20.0) return {}
[docs]class MinMaxAmplitudeFeature(object): """ Generates statistics about the amplitude values. """
[docs] def process(self, trace): """ Generates statistics about the amplitude values. This may take a while to calculate - use a moderate looping interval. """ result = {} result['min'] = float(trace.data.min()) result['max'] = float(trace.data.max()) result['avg'] = float(trace.data.mean()) result['median'] = float(score_at_percentile(trace.data, 50, False)) result['lower_quantile'] = float(score_at_percentile(trace.data, 25)) result['upper_quantile'] = float(score_at_percentile(trace.data, 75)) return result
if __name__ == '__main__': import doctest doctest.testmod(exclude_empty=True)