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) 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