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 toFalse
. - nearest_sample (bool, optional) –
If set to
True
, the closest sample is selected, if set toFalse
, the inner (next sample for a start time border, previous sample for an end time border) sample containing the time is selected. Defaults toTrue
.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 resultingStream
object contains only a reference to the original traces.Example
>>> st = read() >>> print(st) # doctest: +ELLIPSIS 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) # doctest: +ELLIPSIS 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
- starttime (