obspy.core.stream.Stream.slice¶
- Stream.slice(starttime=None, endtime=None, keep_empty_traces=False, nearest_sample=True)[source]¶
Return new Stream object cut to the given start and end time.
Parameters: - starttime (UTCDateTime) Specify the start time of all traces.
- endtime (UTCDateTime) Specify the end time of all traces.
- keep_empty_traces (bool, optional) Empty traces will be kept if set to True. Defaults to False.
- nearest_sample (bool, optional)
If set to True, the closest sample is selected, if set to False, the inner (next sample for a start time border, previous sample for an end time border) sample containing the time is selected. Defaults to True.
Given the following trace containing 6 samples, “|” are the sample points, “A” is the requested starttime:
| |A | | B | | 1 2 3 4 5 6
nearest_sample=True will select samples 2-5, nearest_sample=False will select samples 3-4 only.
Returns: Note
The basic idea of slice() is to avoid copying the sample data in memory. So sample data in the resulting Stream object contains only a reference to the original traces.
Example
>>> st = read() >>> print(st) 3 Trace(s) in Stream: BW.RJOB..EHZ | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples BW.RJOB..EHN | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples BW.RJOB..EHE | 2009-08-24T00:20:03.000000Z ... | 100.0 Hz, 3000 samples >>> dt = UTCDateTime("2009-08-24T00:20:20") >>> st = st.slice(dt, dt + 5) >>> print(st) 3 Trace(s) in Stream: BW.RJOB..EHZ | 2009-08-24T00:20:20.000000Z ... | 100.0 Hz, 501 samples BW.RJOB..EHN | 2009-08-24T00:20:20.000000Z ... | 100.0 Hz, 501 samples BW.RJOB..EHE | 2009-08-24T00:20:20.000000Z ... | 100.0 Hz, 501 samples