def filtered(self, freq_range, filt_type='stop', order=4): """ Filter the data using a Butterworth filter and return a new TimeSeries instance. Parameters ---------- freq_range : array-like The range of frequencies to filter. filt_type : str Filter type (default: ``'stop'``). order : int The order of the filter (default: 4). Returns ------- ts : TimeSeriesX A TimeSeriesX instance with the filtered data. """ warnings.warn("The filtered method is not very flexible. " "Consider using filters in ptsa.data.filters instead.") time_axis_index = get_axis_index(self, axis_name='time') filtered_array = buttfilt(self.values, freq_range, float(self['samplerate']), filt_type, order, axis=time_axis_index) new_ts = self.copy() new_ts.data = filtered_array return new_ts
def filter(self): """ Applies Butterwoth filter to input time series and returns filtered TimeSeriesX object Returns ------- filtered: TimeSeriesX The filtered time series """ time_axis_index = get_axis_index(self.time_series, axis_name='time') filtered_array = buttfilt(self.time_series, self.freq_range, float(self.time_series['samplerate']), self.filt_type, self.order, axis=time_axis_index) coords_dict = { coord_name: DataArray(coord.copy()) for coord_name, coord in list(self.time_series.coords.items()) } coords_dict['samplerate'] = self.time_series['samplerate'] dims = [dim_name for dim_name in self.time_series.dims] filtered_time_series = TimeSeriesX(filtered_array, dims=dims, coords=coords_dict) # filtered_time_series = TimeSeriesX(filtered_time_series) filtered_time_series.attrs = self.time_series.attrs.copy() return filtered_time_series
def filter(self): """ Applies Butterwoth filter to input time series and returns filtered TimeSeriesX object Returns ------- filtered: TimeSeriesX The filtered time series """ time_axis_index = get_axis_index(self.time_series, axis_name='time') filtered_array = buttfilt(self.time_series, self.freq_range, float(self.time_series['samplerate']), self.filt_type, self.order, axis=time_axis_index) coords_dict = {coord_name: DataArray(coord.copy()) for coord_name, coord in list(self.time_series.coords.items())} coords_dict['samplerate'] = self.time_series['samplerate'] dims = [dim_name for dim_name in self.time_series.dims] filtered_time_series = TimeSeriesX( filtered_array, dims=dims, coords=coords_dict ) # filtered_time_series = TimeSeriesX(filtered_time_series) filtered_time_series.attrs = self.time_series.attrs.copy() return filtered_time_series
def filtered(self, freq_range, filt_type='stop', order=4): """ Filter the data using a Butterworth filter and return a new TimeSeries instance. Parameters ---------- freq_range : {array_like} The range of frequencies to filter. filt_type = {scipy.signal.band_dict.keys()},optional Filter type. order = {int} The order of the filter. Returns ------- ts : {TimeSeries} A TimeSeries instance with the filtered data. """ from ptsa.filt import buttfilt time_axis_index = get_axis_index(self, axis_name='time') filtered_array = buttfilt(self.values, freq_range, float(self['samplerate']), filt_type, order, axis=time_axis_index) coords = {} for coord_name, coord in self.coords.items(): if len(coord.shape): coords[coord_name] = coord filtered_time_series = TimeSeriesX( filtered_array, dims=[dim_name for dim_name in self.dims], coords=coords) filtered_time_series.attrs = self.attrs.copy() return filtered_time_series
def filtered(self, freq_range, filt_type='stop', order=4): """ Filter the data using a Butterworth filter and return a new TimeSeries instance. Parameters ---------- freq_range : {array_like} The range of frequencies to filter. filt_type = {scipy.signal.band_dict.keys()},optional Filter type. order = {int} The order of the filter. Returns ------- ts : {TimeSeries} A TimeSeries instance with the filtered data. """ from ptsa.filt import buttfilt time_axis_index = get_axis_index(self, axis_name='time') filtered_array = buttfilt(self.values, freq_range, float(self['samplerate']), filt_type, order, axis=time_axis_index) coords={} for coord_name, coord in self.coords.items(): if len(coord.shape): coords[coord_name] = coord filtered_time_series = TimeSeriesX( filtered_array, dims=[dim_name for dim_name in self.dims], coords=coords ) filtered_time_series.attrs = self.attrs.copy() return filtered_time_series
def __init__(self, data, **kwds): xr.DataArray.__init__(self, data, **kwds) self.a = 10 self.time_axis_index = get_axis_index(self, axis_name='time')
def __init__(self,data,**kwds): xr.DataArray.__init__(self, data, **kwds) self.a=10 self.time_axis_index=get_axis_index(self,axis_name='time')