4.6.5.1.8. eqcorrscan.core.template_gen.from_sfile

eqcorrscan.core.template_gen.from_sfile(sfile, 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 multiplexed template from a Nordic (Seisan) s-file.

Function to read in picks from sfile then generate the template from the picks within this and the wavefile found in the pick file.

Parameters:
  • sfile (str) – sfilename must be the path to a seisan nordic type s-file containing waveform and pick information.
  • 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 (number of corners).
  • 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

Warning

This will use whatever data is pointed to in the s-file, if this is not the coninuous data, we recommend using other functions. Differences in processing between short files and day-long files (inherent to resampling) will produce lower cross-correlations.

Example

>>> from eqcorrscan.core.template_gen import from_sfile
>>> import os
>>> sfile = os.path.join('eqcorrscan', 'tests', 'test_data',
...                      'REA', 'TEST_', '01-0411-15L.S201309')
>>> template = from_sfile(sfile=sfile, lowcut=5.0, highcut=15.0,
...                       samp_rate=50.0, filt_order=4, swin='P',
...                       prepick=0.2, length=6, all_horiz=True)
>>> print(len(template))
15
>>> print(template[0].stats.sampling_rate)
50.0
>>> template.plot(equal_scale=False, size=(800,600)) 

(Source code, png, hires.png)

../../_images/eqcorrscan-core-template_gen-from_sfile-1.png