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 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.
- fill_value (int, float or None, optional) Fill value for gaps. Defaults to None. 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