4.6.5.1.6. eqcorrscan.core.template_gen.from_sac

eqcorrscan.core.template_gen.from_sac(sac_files, lowcut, highcut, samp_rate, filt_order, length, swin, prepick, all_horiz=False, delayed=True, plot=False, debug=0, return_event=False, min_snr=None)[source]

Generate a multiplexed template from a list of SAC files.

Function to read picks and waveforms from SAC data, and generate a template from these. Usually sac_files is a list of all single-channel SAC files for a given event, a single, multi-channel template will be created from these traces.

All files listed in sac_files should be associated with a single event.

Parameters:
  • sac_files (list) – osbpy.core.stream.Stream of sac waveforms, or list of paths to sac waveforms.
  • lowcut (float) – Low cut (Hz), if set to None will not apply a lowcut.
  • highcut (float) – High cut (Hz), if set to None will not apply a highcut.
  • samp_rate (float) – New sampling rate in Hz.
  • filt_order (int) – Filter level.
  • length (float) – Extract length in seconds.
  • swin (str) – Either ‘all’, ‘P’ or ‘S’, to select which phases to output.
  • prepick (float) – Length to extract prior to the pick in seconds.
  • all_horiz (bool) – To use both horizontal channels even if there is only a pick on one of them. Defaults to False.
  • delayed (bool) – If True, each channel will begin relative to it’s own pick-time, if set to False, each channel will begin at the same time.
  • plot (bool) – Turns template plotting on or off.
  • debug (int) – Debug level, higher number=more output.
  • return_event (bool) – Whether to return the event and process length or not.
  • min_snr (float) – Minimum signal-to-noise ratio for a channel to be included in the template, where signal-to-noise ratio is calculated as the ratio of the maximum amplitude in the template window to the rms amplitude in the whole window given.
Returns:

Newly cut template.

Return type:

obspy.core.stream.Stream

Note

This functionality is not supported for obspy versions below 1.0.0 as references times are not read in by SACIO, which are needed for defining pick times.

Example

>>> from eqcorrscan.core.template_gen import from_sac
>>> import glob
>>> # Get all the SAC-files associated with one event.
>>> sac_files = glob.glob('eqcorrscan/tests/test_data/SAC/2014p611252/*')
>>> template = from_sac(sac_files=sac_files, lowcut=2.0, highcut=10.0,
...                     samp_rate=25.0, filt_order=4, length=2.0,
...                     swin='all', prepick=0.1, all_horiz=True)
>>> print(template[0].stats.sampling_rate)
25.0
>>> print(len(template))
15