def run(self): subject = self.pipeline.subject experiment = self.pipeline.experiment try: events = Events(get_events(subject=subject, task='RAM_PS', path_prefix=self.pipeline.mount_point)) except IOError: raise Exception('No parameter search for subject %s' % subject) events = events[events.experiment == experiment] if events.size == 0: raise Exception('No %s events for subject %s' % (experiment,subject)) events = correct_eegfile_field(events) events = self.attach_raw_bin_wrappers(events) sessions = np.unique(events.session) print experiment, 'sessions:', sessions events = pd.DataFrame.from_records(events) events = compute_isi(events) is_stim_event_type_vec = np.vectorize(is_stim_event_type) events = events[is_stim_event_type_vec(events.type)] print len(events), 'stim', experiment, 'events' events = Events(events.to_records(index=False)) joblib.dump(events, self.get_path_to_resource_in_workspace(subject+'-'+experiment+'-ps_events.pkl')) self.pass_object(experiment+'_events', events)