def process_init(path2plugin, inputs, parameters): parameters['in_datasets'] = [inputs['dataset_name']] parameters['out_datasets'] = [inputs['dataset_name']] plugin = get_plugin(path2plugin.split('.py')[0] + '.py') # print "I got this far" plugin.exp = setup_exp_and_data(inputs, inputs['data'], plugin) plugin._set_parameters(parameters) plugin._set_plugin_datasets() plugin.setup() # print "I am her now" axis_labels = plugin.get_out_datasets()[0].get_axis_label_keys() foo = [type(ix) for ix in axis_labels] # print "axis label types", foo axis_labels.remove('idx') # get the labels axis_values = {} plugin._clean_up() # this copies the metadata! for label in axis_labels: axis_values[label] = plugin.get_out_datasets()[0].meta_data.get(label) # print label, axis_values[label].shape plugin.base_pre_process() plugin.pre_process() # print "I went here" return plugin, axis_labels, axis_values
def test_get_plugins_path_and_load(self): savu_path = os.path.split(savu.__path__[0])[0] plugin_path = os.path.join(savu_path, "plugin_examples") os.environ["SAVU_PLUGINS_PATH"] = plugin_path pu.get_plugins_paths() plugin = pu.get_plugin("example_median_filter") self.assertEqual(plugin.name, "ExampleMedianFilter") os.environ["SAVU_PLUGINS_PATH"] = ""
def _savu_setup(path2plugin, inputs, parameters): print("running _savu_setup") parameters['in_datasets'] = [inputs['dataset_name']] parameters['out_datasets'] = [inputs['dataset_name']] plugin = get_plugin(path2plugin.split('.py')[0]+'.py') plugin.exp = setup_exp_and_data(inputs, inputs['data'], plugin) plugin._set_parameters(parameters) plugin._set_plugin_datasets() plugin.setup() return plugin
def plugin_runner_load_plugin(options): plugin_runner = PluginRunner(options) plugin_runner.exp = Experiment(options) plugin_list = plugin_runner.exp.meta_data.plugin_list.plugin_list exp = plugin_runner.exp pu.plugin_loader(exp, plugin_list[0]) exp._set_nxs_file() plugin_dict = plugin_list[1] plugin = pu.get_plugin(plugin_dict['id']) plugin.exp = exp return plugin
def set_plugin_list(options, pnames, *args): args = args[0] if args else None plugin_names = pnames if isinstance(pnames, list) else [pnames] options['plugin_list'] = [] ID = [options['loader']] data = [{}, {}] if not args else [args[0], args[-1]] for i in range(len(plugin_names)): ID.insert(i + 1, plugin_names[i]) plugin = pu.get_plugin(plugin_names[i]) data_dict = set_data_dict(['tomo'], get_output_datasets(plugin)) data_dict = args[i + 1] if args else data_dict data.insert(i + 1, data_dict) for i in range(len(ID)): name = \ ''.join(x.capitalize() for x in (ID[i].split('.')[-1]).split('_')) options['plugin_list'].append(set_plugin_entry(name, ID[i], data[i], i))
def _add_missing_savers(self, data_names): """ Add savers for missing datasets. """ saved_data = [] for i in self._get_savers_index(): saved_data.append(self.plugin_list[i]['data']['in_datasets']) saved_data = set([s for sub_list in saved_data for s in sub_list]) for name in [data for data in data_names if data not in saved_data]: process = {} pos = int(re.search(r'\d+', self.plugin_list[-1]['pos']).group())+1 self.saver_idx.append(pos) plugin = pu.get_plugin('savu.plugins.savers.hdf5_saver') plugin.parameters['in_datasets'] = [name] process['name'] = plugin.name process['id'] = plugin.__module__ process['pos'] = str(pos) process['data'] = plugin.parameters process['active'] = True process['desc'] = plugin.parameters_desc self._add(pos, process)
def testfind_args(self): plugin = pu.get_plugin( "savu.plugins.filters.denoising.denoise_bregman_filter") params = doc.find_args(plugin) self.assertEqual(len(params['param']), 4)
def testGetPlugin(self): plugin = pu.get_plugin("savu.plugins.plugin") self.assertEqual(plugin.__class__, test_plugin.Plugin, "Failed to load the correct class") self.assertRaises(NotImplementedError, plugin.process_frames, None)
def test_load_plugin(self): cu.populate_plugins() plugin_path = pu.dawn_plugins[dawn_plugins.keys()[0]]['path2plugin'] inst = pu.get_plugin(plugin_path) sl = inst.__dict__['slice_list'] exp = inst.__dict__['exp']
def test_get_plugin_external_path(self): savu_path = os.path.split(savu.__path__[0])[0] plugin = pu.get_plugin( os.path.join(savu_path, "plugin_examples", "example_median_filter.py")) self.assertEqual(plugin.name, "ExampleMedianFilter")
def plugin_setup(self): ppath = 'savu.plugins.reconstructions.astra_recons.astra_recon_cpu' plugin = pu.get_plugin(ppath) return plugin
def testfind_args(self): plugin = pu.get_plugin("savu.plugins.filters.denoise_bregman_filter") params = doc.find_args(plugin) self.assertEqual(len(params['param']), 4)
def test_get_plugin_external_path(self): savu_path = os.path.split(savu.__path__[0])[0] plugin = pu.get_plugin(os.path.join(savu_path, "plugin_examples", "example_median_filter.py")) self.assertEqual(plugin.name, "ExampleMedianFilter")