def resample_time_axis(self): from ptsa.data.filters.ResampleFilter import ResampleFilter rs_time_axis = None # resampled time axis if self.resamplerate > 0: rs_time_filter = ResampleFilter(resamplerate=self.resamplerate) rs_time_filter.set_input(self.time_series[0, 0, :]) time_series_resampled = rs_time_filter.filter() rs_time_axis = time_series_resampled['time'] else: rs_time_axis = self.time_series['time'] return rs_time_axis, self.time_series['time']
def test_eeg_resample(self): # old readers events = self.read_ptsa_events() # in case fancy indexing looses Eventness of events we need to create Events object explicitely if not isinstance(events, Events): events = Events(events) base_events = self.read_base_events() eegs = events.get_data(channels=['002', '003'], start_time=0.0, end_time=1.6, buffer_time=1.0, eoffset='eegoffset', keep_buffer=True, eoffset_in_time=False, verbose=True) # filtering eegs_resampled = eegs.resampled(50.0) # New style reading from ptsa.data.experimental.TimeSeriesEEGReader import TimeSeriesEEGReader time_series_reader = TimeSeriesEEGReader(events=base_events, start_time=0.0, end_time=1.6, buffer_time=1.0, keep_buffer=True) time_series_reader.read(channels=['002', '003']) base_eegs = time_series_reader.get_output() from ptsa.data.filters.ResampleFilter import ResampleFilter resample_filter = ResampleFilter(time_series=base_eegs, resamplerate=50.0) base_eegs_resampled = resample_filter.filter() # testing assert_array_equal(eegs_resampled, base_eegs_resampled.data)
def test_wavelets_resample(self): eegs = self.eegs[:, :, :-1] base_eegs = self.base_eegs wf = MorletWaveletFilter(time_series=base_eegs, freqs=np.logspace(np.log10(3), np.log10(180), 8), output='power', frequency_dim_pos=0, ) pow_wavelet, phase_wavelet = wf.filter() resample_filter = ResampleFilter(time_series=pow_wavelet, resamplerate=100.0) pow_wavelet_resampled = resample_filter.filter() print pow_wavelet_resampled pow_wavelet_resampled_direct = pow_wavelet.resampled(resampled_rate=100.0) print pow_wavelet_resampled_direct
def test_eeg_resample(self): # # orig ptsa returns extra stime point that's why eegs[:,:,:-1] eegs = self.eegs[:, :, :-1] # filtering eegs_resampled = eegs.resampled(100.0) # -------------------TimeSeriesX base_eegs = self.base_eegs resample_filter = ResampleFilter(time_series=base_eegs, resamplerate=100.0) base_eegs_resampled = resample_filter.filter() base_eegs_resampled_direct = base_eegs.resampled(resampled_rate=100.0) # -------------- testing assert_array_equal(eegs_resampled, base_eegs_resampled.data) assert_array_equal(eegs_resampled, base_eegs_resampled_direct.data) base_eegs_resampled_direct_0_0 = base_eegs[0,0].resampled(resampled_rate=100.0)
def test_wavelets_resample(self): eegs = self.eegs[:, :, :-1] base_eegs = self.base_eegs wf = MorletWaveletFilter( timeseries=base_eegs, freqs=np.logspace(np.log10(3), np.log10(180), 8), output='power', frequency_dim_pos=0, ) pow_wavelet, phase_wavelet = wf.filter() resample_filter = ResampleFilter(time_series=pow_wavelet, resamplerate=100.0) pow_wavelet_resampled = resample_filter.filter() print(pow_wavelet_resampled) pow_wavelet_resampled_direct = pow_wavelet.resampled( resampled_rate=100.0) print(pow_wavelet_resampled_direct)