Example #1
0
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"] = ""
Example #3
0
 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"] = ""
Example #4
0
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
Example #5
0
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
Example #6
0
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
Example #7
0
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))
Example #8
0
    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)
Example #9
0
    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)
Example #10
0
 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']
Example #13
0
 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']
Example #14
0
 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")
Example #15
0
 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")
 def plugin_setup(self):
     ppath = 'savu.plugins.reconstructions.astra_recons.astra_recon_cpu'
     plugin = pu.get_plugin(ppath)
     return plugin
Example #19
0
 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)