def from_meta_file(meta_file, st, lowcut, highcut, samp_rate, filt_order,<EOL>length, prepick, swin, all_horiz=False, delayed=True,<EOL>plot=False, parallel=True, debug=<NUM_LIT:0>, return_event=False,<EOL>min_snr=None):
EQcorrscanDeprecationWarning(<EOL>"<STR_LIT>"<EOL>"<STR_LIT>")<EOL>temp_list = template_gen(<EOL>method="<STR_LIT>", meta_file=meta_file, st=st,<EOL>lowcut=lowcut, highcut=highcut, samp_rate=samp_rate,<EOL>filt_order=filt_order, length=length, prepick=prepick,<EOL>swin=swin, all_horiz=all_horiz, delayed=delayed, plot=plot,<EOL>debug=debug, return_event=return_event, min_snr=min_snr,<EOL>parallel=parallel)<EOL>return temp_list<EOL>
Generate a multiplexed template from a local file.

Function to generate a template from a local observation file
and an obspy.Stream object.

:type meta_file: str
:param meta_file: File containing pick information, can contain \
    multiple events.  File must be formatted in a way readable by \
    :func:`obspy.core.event.read_events`.
:type st: obspy.core.stream.Stream
:param st: Stream containing waveform data for template (hopefully). \
    Note that this should be the same length of stream as you will use \
    for the continuous detection, e.g. if you detect in day-long files, \
    give this a day-long file!
:type lowcut: float
:param lowcut: Low cut (Hz), if set to None will not apply a lowcut.
:type highcut: float
:param highcut: High cut (Hz), if set to None will not apply a highcut.
:type samp_rate: float
:param samp_rate: New sampling rate in Hz.
:type filt_order: int
:param filt_order: Filter level (number of corners).
:type length: float
:param length: Extract length in seconds.
:type prepick: float
:param prepick: Pre-pick time in seconds
:type swin: str
:param swin:
    P, S, P_all, S_all or all, defaults to all: see note in
    :func:`eqcorrscan.core.template_gen.template_gen`
:type all_horiz: bool
:param all_horiz: To use both horizontal channels even if there is only \
    a pick on one of them.  Defaults to False.
:type delayed: bool
:param delayed: 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.
:type plot: bool
:param plot: Display template plots or not
:type parallel: bool
:param parallel: Whether to process data in parallel or not.
:type debug: int
:param debug: Level of debugging output, higher=more
:type return_event: bool
:param return_event: Whether to return the event and process length or not.
:type min_snr: float
:param min_snr:
    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: List of :class:`obspy.core.stream.Stream` newly cut templates
:rtype: list

.. Note::
    All picks must be associated with a station and channel, this is
    not the case for NonLinLoc HYP files, will not use any picks that
    do not have this association.

.. warning:: We suggest giving this function a full day of data, to \
    ensure templates are generated with **exactly** the same processing \
    as the continuous data.  Not doing this will result in slightly \
    reduced cross-correlation values.

.. rubric:: Example

>>> from obspy import read
>>> from eqcorrscan.core.template_gen import from_meta_file
>>> # Get the path to the test data
>>> import eqcorrscan
>>> import os
>>> TEST_PATH = os.path.dirname(eqcorrscan.__file__) + '/tests/test_data'
>>> st = read(TEST_PATH + '/WAV/TEST_/' +
...           '2013-09-01-0410-35.DFDPC_024_00')
>>> quakeml = TEST_PATH + '/20130901T041115.xml'
>>> templates = from_meta_file(meta_file=quakeml, st=st, lowcut=2.0,
...                            highcut=9.0, samp_rate=20.0, filt_order=3,
...                            length=2, prepick=0.1, swin='S',
...                            all_horiz=True)
>>> print(len(templates[0]))
10