def test_next_available_name(): names = ["kissa", "koira", "kissa_1", "kissa_2", "kissa_11", "kissa_kala"] assert (next_available_name(names, "kissa") == 'kissa_12') assert (next_available_name(names, "koira") == 'koira_1') assert (next_available_name(names, "kettu") == 'kettu') assert (next_available_name(names, "kissa_kala") == 'kissa_kala_1') names = ['EO', 'EOEC', 'group_EOEC'] assert (next_available_name(names, 'group_EO') == 'group_EO')
def accept(self): """ Add new subjects. """ for i in range(self.ui.listWidgetFileNames.count()): item = self.ui.listWidgetFileNames.item(i) raw_path = item.text() basename = os.path.basename(raw_path) subject_name = basename.split('.')[0] experiment = self.parent.experiment old_names = experiment.subjects.keys() try: subject_name = next_available_name(old_names, subject_name) @threaded def _create_subject(): experiment.create_subject(subject_name, basename, raw_path) _create_subject(do_meanwhile=self.parent.update_ui) except Exception as exc: exc_messagebox(self.parent, exc) logging.getLogger('ui_logger').exception(str(exc)) self.parent.experiment.save_experiment_settings() self.parent.initialize_ui() self.close()
def run(self): """ """ try: selected_name = self.data['outputs']['tfr'][0] except IndexError as exc: return name = next_available_name(self.experiment.active_subject.tfr.keys(), 'group_' + selected_name) def group_handler(groups): params = { 'based_on': selected_name, 'name': name, 'groups': groups } try: self.handler(self.experiment.active_subject, params) self.experiment.save_experiment_settings() self.window.initialize_ui() except Exception as exc: exc_messagebox(self.window, exc) dialog = GroupSelectionDialog(self.experiment, self.window, handler=group_handler) dialog.show()
def run(self): selected_names = self.data['inputs']['epochs'] if not selected_names: return if len(selected_names) == 1: stem = selected_names[0] else: stem = 'Evoked' default_name = next_available_name( self.experiment.active_subject.evoked.keys(), stem) def close_handle(subject, params): params['conditions'] = selected_names self.handler(subject, params) dialog = SimpleDialog(self.experiment, self.window, default_name, close_handle, title='Create evoked') dialog.show()
def run(self): default_name = next_available_name( self.experiment.active_subject.spectrum.keys(), 'Epochs') dialog = CreateEpochsFromEventsDialog(self.experiment, self.window, default_name, self.handler) dialog.show()
def group_average(experiment, data, window): """ Handles group average item creation """ try: selected_name = data['outputs']['tfr'][0] except IndexError as exc: return def handler(name, groups): try: group_average_tfr(experiment, selected_name, groups, name, do_meanwhile=window.update_ui) experiment.save_experiment_settings() window.initialize_ui() except Exception as exc: exc_messagebox(window, exc) return default_name = next_available_name(experiment.active_subject.tfr.keys(), 'group_' + selected_name) dialog = GroupAverageDialog(experiment, window, handler, default_name) dialog.show()
def run(self): default_name = next_available_name( self.experiment.active_subject.spectrum.keys(), 'Spectrum') dialog = PowerSpectrumDialog(self.experiment, self.window, default_name, self.handler) dialog.show()
def run(self): subject = self.experiment.active_subject inv_name = next_available_name(subject.inverse.keys(), "Inv") try: cov_name = self.data['inputs']['covariance'][0] except IndexError as exc: return try: coreg_name = self.data['inputs']['coregistration'][0] except IndexError as exc: return def handle_subject(subject, params): params['cov_name'] = cov_name params['coreg_name'] = coreg_name self.handler(subject, params) dialog = SimpleDialog(self.experiment, self.window, inv_name, handle_subject, title='Create inverse') dialog.show()
def create(experiment, data, window): """ Opens spectrum creation dialog """ default_name = next_available_name( experiment.active_subject.spectrum.keys(), 'Spectrum') dialog = PowerSpectrumDialog(experiment, window, default_name) dialog.show()
def create_from_events(experiment, data, window): """ Opens epoch creation dialog """ default_name = next_available_name( experiment.active_subject.epochs.keys(), 'Epochs') dialog = CreateEpochsFromEventsDialog(experiment, window, default_name) dialog.show()
def run(self): subject = self.experiment.active_subject covs = subject.covariance.keys() cov_name = next_available_name(covs, "Cov") dialog = SimpleDialog(self.experiment, self.window, cov_name, self.handler, title='Create covariance') dialog.show()
def run(self): subject = self.experiment.active_subject subjects_dir = os.path.join(subject.coregistration_directory, "subjects") coreg_name = next_available_name(subject.coregistration.keys(), "Coreg") dialog = SimpleDialog(self.experiment, self.window, coreg_name, self.handler, batching=False, title='Create coregistration') dialog.show()
def create(experiment, data, window): """ Opens tfr creation dialog """ selected_names = data['inputs']['epochs'] if not selected_names: return if len(selected_names) == 1: stem = selected_names[0] else: stem = 'TFR' default_name = next_available_name(experiment.active_subject.tfr.keys(), stem) dialog = TFRDialog(experiment, window, selected_names, default_name) dialog.show()
def run(self): subject = self.experiment.active_subject try: selected_name = self.data['inputs']['spectrum'][0] except Exception as exc: return default_name = next_available_name(subject.fooof_report.keys(), selected_name) def handle_subject(subject, params): params['spectrum_name'] = selected_name self.handler(subject, params) dialog = CreateReportDialog(self.experiment, self.window, selected_name, default_name, handler=handle_subject) dialog.show()
def accept(self): n_successful = 0 for i in range(self.ui.listWidgetFileNames.count()): item = self.ui.listWidgetFileNames.item(i) raw_path = item.text() basename = os.path.basename(raw_path) subject_name = basename.split('.')[0] experiment = self.parent.experiment old_names = experiment.subjects.keys() try: subject_name = next_available_name(old_names, subject_name) @threaded def _create_subject(): experiment.create_subject(subject_name, raw_path) _create_subject(do_meanwhile=self.parent.update_ui) n_successful += 1 except Exception as exc: logging.getLogger('ui_logger').exception('') try: self.parent.experiment.save_experiment_settings() except Exception as exc: exc_messagebox(self, exc) return n_total = self.ui.listWidgetFileNames.count() if n_total != n_successful: message = ("Only {0} / {1} subjects added successfully. " "Please check console below for details.") messagebox(self.parent, message.format(n_successful, n_total)) message = ('{0} / {1} subjects added successfully.').format( n_successful, n_total) logging.getLogger('ui_logger').info(message) self.parent.initialize_ui() self.close()
def run(self): selected_names = self.data['inputs']['epochs'] if not selected_names: return if len(selected_names) == 1: stem = selected_names[0] else: stem = 'TFR' default_name = next_available_name( self.experiment.active_subject.tfr.keys(), stem) subject = self.experiment.active_subject dialog = TFRDialog(self.experiment, self.window, selected_names, default_name, self.handler) dialog.show()
def run(self): subject = self.experiment.active_subject default_name = next_available_name(subject.source_spectrum.keys(), "Spectrum") try: inv_name = self.data['inputs']['inverse'][0] except IndexError as exc: return def handle_subject(subject, params): params['inv_name'] = inv_name self.handler(subject, params) dialog = PowerSpectrumDialog(self.experiment, self.window, default_name, handler=handle_subject) dialog.show()