obspy.core.stream.Stream.trim
- Stream.trim(starttime=None, endtime=None, pad=False, nearest_sample=True, fill_value=None)[source]
Cut all traces of this Stream object to given start and end time.
- Parameters
starttime (
UTCDateTime
, optional) – Specify the start time.endtime (
UTCDateTime
, optional) – Specify the end time.pad (bool, optional) – Gives the possibility to trim at time points outside the time frame of the original trace, filling the trace with the given
fill_value
. 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.fill_value (int, float or
None
, optional) – Fill value for gaps. Defaults toNone
. Traces will be converted to NumPy masked arrays if no value is given and gaps are present.
Note
This operation is performed in place on the actual data arrays. The raw data will no longer be accessible afterwards. To keep your original data, use
copy()
to create a copy of your stream object.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.trim(dt, dt + 5) <...Stream object at 0x...> >>> 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