# 5.12.1.3. eqcorrscan.utils.pre_processing.shortproc

`eqcorrscan.utils.pre_processing.``shortproc`(st, lowcut, highcut, filt_order, samp_rate, debug=0, parallel=False, num_cores=False, starttime=None, endtime=None, seisan_chan_names=False)

  Basic function to bandpass and downsample.

  Works in place on data. This is employed to ensure all parts of the data are processed in the same way.

  Parameters: | st (obspy.core.stream.Stream) Stream to process lowcut (float) Low cut for bandpass in Hz highcut (float) High cut for bandpass in Hz filt_order (int) Number of corners for bandpass filter samp_rate (float) Sampling rate desired in Hz debug (int) Debug flag from 0-5, higher numbers = more output parallel (bool) Set to True to process traces in parallel, for small numbers of traces this is often slower than serial processing, defaults to False num_cores (int) Control the number of cores for parallel processing, if set to False then this will use all the cores. starttime (obspy.core.utcdatetime.UTCDateTime) Desired data start time, will trim to this before processing endtime (obspy.core.utcdatetime.UTCDateTime) Desired data end time, will trim to this before processing seisan_chan_names (bool) Whether channels are named like seisan channels (which are two letters rather than SEED convention of three) - defaults to True.
  Returns: | Processed stream
  Return type: | `obspy.core.stream.Stream`

  Note

  Will convert channel names to two characters long.

  Warning

  If you intend to use this for processing templates you should consider how resampling will impact your cross-correlations. Minor differences in resampling between day-long files (which you are likely to use for continuous detection) and shorter files will reduce your cross-correlations!

  Example, bandpass

      >>> from obspy import read
      >>> from eqcorrscan.utils.pre_processing import shortproc
      >>> st = read('eqcorrscan/tests/test_data/WAV/TEST_/' +
      ...           '2013-09-01-0410-35.DFDPC_024_00')
      >>> st = shortproc(st=st, lowcut=2, highcut=9, filt_order=3, samp_rate=20,
      ...                debug=0, parallel=True, num_cores=2)
      >>> print(st[0])
      AF.LABE..SHZ | 2013-09-01T04:10:35.700000Z - 2013-09-01T04:12:05.650000Z | 20.0 Hz, 1800 samples

  Example, low-pass

      >>> from obspy import read
      >>> from eqcorrscan.utils.pre_processing import shortproc
      >>> st = read('eqcorrscan/tests/test_data/WAV/TEST_/' +
      ...           '2013-09-01-0410-35.DFDPC_024_00')
      >>> st = shortproc(st=st, lowcut=None, highcut=9, filt_order=3,
      ...                samp_rate=20, debug=0)
      >>> print(st[0])
      AF.LABE..SHZ | 2013-09-01T04:10:35.700000Z - 2013-09-01T04:12:05.650000Z | 20.0 Hz, 1800 samples

  Example, high-pass

      >>> from obspy import read
      >>> from eqcorrscan.utils.pre_processing import shortproc
      >>> st = read('eqcorrscan/tests/test_data/WAV/TEST_/' +
      ...           '2013-09-01-0410-35.DFDPC_024_00')
      >>> st = shortproc(st=st, lowcut=2, highcut=None, filt_order=3,
      ...                samp_rate=20, debug=0)
      >>> print(st[0])
      AF.LABE..SHZ | 2013-09-01T04:10:35.700000Z - 2013-09-01T04:12:05.650000Z | 20.0 Hz, 1800 samples