diff --git a/geomagio/algorithm/FilterAlgorithm.py b/geomagio/algorithm/FilterAlgorithm.py index 5814c22e8dc844a74cec09519f916ef9242dd355..bba6da2b07fcdf007544c9677b291770814ec832 100644 --- a/geomagio/algorithm/FilterAlgorithm.py +++ b/geomagio/algorithm/FilterAlgorithm.py @@ -188,13 +188,14 @@ class FilterAlgorithm(Algorithm): out = Stream() for trace in stream: - filtered = self.firfilter(trace.data, window, decimation) stats = Stats(trace.stats) - stats.starttime = stats.starttime + input_sample_period * (numtaps // 2) - if stats.starttime.timestamp % output_sample_period != 0: + filtered_starttime = stats.starttime + input_sample_period * (numtaps // 2) + if filtered_starttime.timestamp % output_sample_period != 0: raise ValueError( "Invalid starttime. Filter is not centered in timeseries." ) + filtered = self.firfilter(trace.data, window, decimation) + stats.starttime = filtered_starttime stats.delta = output_sample_period stats.npts = len(filtered) trace_out = self.create_trace(stats.channel, stats, filtered)