Ejemplo n.º 1
0
    def test_get_padded_slice_data(self):
        data, pData = tu.get_data_object(tu.load_test_data("tomo"))

        data._finalise_patterns()
        pData.plugin_data_setup('PROJECTION', 1)
        data.padding = {'pad_multi_frames': 10}
        padding = Padding(pData.get_pattern())
        for key in data.padding.keys():
            getattr(padding, key)(data.padding[key])
        return padding._get_padding_directions()
Ejemplo n.º 2
0
    def test_get_padded_slice_data(self):
        data, pData = tu.get_data_object(tu.load_test_data("tomo"))

        data._finalise_patterns()
        pData.plugin_data_setup('PROJECTION', 1)
        data.padding = {'pad_multi_frames': 10}
        padding = Padding(pData.get_pattern())
        for key in data.padding.keys():
            getattr(padding, key)(data.padding[key])
        return padding._get_padding_directions()
Ejemplo n.º 3
0
    def test_slice_group(self):
        data, pData = tu.get_data_object(tu.load_test_data("tomo"))

        pData.plugin_data_setup('PROJECTION', 8)
        gsl = data.get_grouped_slice_list()
        self.assertEqual(len(gsl), 12)
        self.assertEqual(len(gsl[0]), 3)

        pData.plugin_data_setup('SINOGRAM', 8)
        gsl = data.get_grouped_slice_list()
        self.assertEqual(len(gsl), 17)
        self.assertEqual(len(gsl[0]), 3)
Ejemplo n.º 4
0
    def test_slice_group(self):
        data, pData = tu.get_data_object(tu.load_test_data("tomo"))

        pData.plugin_data_setup('PROJECTION', 8)
        gsl = data._get_grouped_slice_list()
        self.assertEqual(len(gsl), 12)
        self.assertEqual(len(gsl[0]), 3)

        pData.plugin_data_setup('SINOGRAM', 8)
        gsl = data._get_grouped_slice_list()
        self.assertEqual(len(gsl), 17)
        self.assertEqual(len(gsl[0]), 3)
Ejemplo n.º 5
0
    def test6_parallel(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        processes = ['p'] * 15
        params = {'size': (4500, 1, 1)}  # data size is (4496, 1, 1)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', processes)
        self.__assert(pData, sl_dict, 30, 1, 10, 30, 4496)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', processes)
        self.__assert(pData, sl_dict, 30, 30, 10, 1, 4496)
Ejemplo n.º 6
0
    def test5_parallel(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        processes = ['p'] * 15
        params = {'size': (24, 1, 1)}  # data size is (20, 1, 1)
        sys_file = self.__get_system_parameters_file()
        data, pData = tu.get_data_object(
            tu.load_random_data(loader, params, system_params=sys_file))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', processes)
        self.__assert(pData, sl_dict, 2, 1, 1, 2, 20)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', processes)
        self.__assert(pData, sl_dict, 2, 2, 1, 1, 20)
Ejemplo n.º 7
0
    def test6_parallel(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        processes = ['p']*15
        params = {'size': (4500, 1, 1)}  # data size is (4496, 1, 1)
        sys_file = self.__get_system_parameters_file()        
        data, pData = tu.get_data_object(tu.load_random_data(
                loader, params, system_params=sys_file))

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'single', 'in', processes)
        self.__assert(pData, sl_dict, 30, 1, 10, 30, 4496)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'multiple', 'in', processes)
        self.__assert(pData, sl_dict, 30, 30, 10, 1, 4496)
Ejemplo n.º 8
0
    def test2_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val%d.unit' % i for i in range(5)]
        params['size'] = (1, 1, 1, 1, 1)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 1, 1, 1, 1, 1)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 1, 1, 1, 1, 1)
Ejemplo n.º 9
0
    def test3_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val.unit'] * 5
        params['size'] = (15, 13, 1, 1, 4)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 15, 1, 52, 15, 15 * 13 * 4)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 15, 15, 52, 1, 15 * 13 * 4)
Ejemplo n.º 10
0
    def test4_single_threaded(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        params = {'size': (4500, 1, 1)}  # data size is (4496, 1, 1)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 16, 1, 281, 16, nframes=4496)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 16, 16, 281, 1, nframes=4496)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION', 6,
                                             'in', 'p')
        self.__assert(pData, sl_dict, 18, 6, 250, 3)
Ejemplo n.º 11
0
    def test8_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val.unit'] * 5
        params['size'] = (450, 36, 1, 1, 14)
        processes = ['p'] * 36
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', processes)
        self.__assert(pData, sl_dict, 30, 1, 210, 30, 210 * 36 * 14)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', processes)
        self.__assert(pData, sl_dict, 30, 30, 210, 1, 210 * 36 * 14)
Ejemplo n.º 12
0
    def test2_single_threaded(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        params = {'size': (313, 1, 1)}  # data size is (309, 1, 1)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 31, 1, 10, 31, nframes=309)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 31, 31, 10, 1, nframes=309)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION', 5,
                                             'in', 'p')
        self.__assert(pData, sl_dict, 20, 5, 16, 4)
Ejemplo n.º 13
0
    def test3_single_threaded(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        params = {'size': (45, 1, 1)}  # data size is (41, 1, 1)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 21, 1, 2, 21, nframes=41)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 21, 21, 2, 1, nframes=41)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION', 17,
                                             'in', 'p')
        self.__assert(pData, sl_dict, 17, 17, 3, 1)
Ejemplo n.º 14
0
    def test1_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val%d.unit' % i for i in range(5)]
        params['size'] = (4, 3, 1, 1, 4)
        sys_file = self.__get_system_parameters_file()
        data, pData = tu.get_data_object(
            tu.load_random_data(loader, params, system_params=sys_file))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 24, 1, 2, 24, 4 * 3 * 4)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 24, 4, 2, 6, 4 * 3 * 4)
Ejemplo n.º 15
0
    def test3_single_threaded(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        params = {'size': (45, 1, 1)}  # data size is (41, 1, 1)
        sys_file = self.__get_system_parameters_file()
        data, pData = tu.get_data_object(tu.load_random_data(
                loader, params, system_params=sys_file))

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'single', 'in', 'p')
        self.__assert(pData, sl_dict, 21, 1, 2, 21, nframes=41)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 21, 21, 2, 1, nframes=41)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 17, 'in', 'p')
        self.__assert(pData, sl_dict, 17, 17, 3, 1)
Ejemplo n.º 16
0
    def test8_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val%d.unit' % i for i in range(5)]
        params['size'] = (450, 36, 1, 1, 14)
        processes = ['p'] * 36
        sys_file = self.__get_system_parameters_file()
        data, pData = tu.get_data_object(
            tu.load_random_data(loader, params, system_params=sys_file))
        data.dtype = np.dtype(np.float32)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', processes)
        self.__assert(pData, sl_dict, 30, 1, 210, 30, 210 * 36 * 14)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', processes)
        self.__assert(pData, sl_dict, 30, 30, 210, 1, 210 * 36 * 14)
Ejemplo n.º 17
0
    def test1_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        processes = ['p']*20        
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val%d.unit' % i for i in range(5)]
        params['size'] = (4, 3, 1, 1, 4)
        sys_file = self.__get_system_parameters_file()
        data, pData = tu.get_data_object(tu.load_random_data(
                loader, params, system_params=sys_file, fake=True))
        data.dtype = np.dtype(np.float32)        

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'single', 'in', processes)
        self.__assert(pData, sl_dict, 3, 1, 2, 3, nframes=4*3*4)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 4, 4, 12, 1, 4*3*4)
Ejemplo n.º 18
0
    def test8_parallel(self):
        loader = "random_hdf5_loader"
        params = {}
        params['patterns'] = ['PROJECTION.0s.1s.2c.3c.4s']
        params['axis_labels'] = ['val%d.unit' % i for i in range(5)]
        params['size'] = (450, 36, 1, 1, 14)
        processes = ['p']*36
        sys_file = self.__get_system_parameters_file()        
        data, pData = tu.get_data_object(tu.load_random_data(
                loader, params, system_params=sys_file))
        data.dtype = np.dtype(np.float32)        

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'single', 'in', processes)
        self.__assert(pData, sl_dict, 30, 1, 210, 30, 210*36*14)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'multiple', 'in', processes)
        self.__assert(pData, sl_dict, 30, 30, 210, 1, 210*36*14)
Ejemplo n.º 19
0
    def test1_single_threaded(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        params = {'size': (140, 1, 1)}  # data size is (136, 1, 1)
        data, pData = tu.get_data_object(tu.load_random_data(loader, params))

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'single', 'in', 'p')
        self.__assert(pData, sl_dict, 17, 1, 8, 17, nframes=136)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION',
                                             'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 17, 17, 8, 1, nframes=136)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION', 8,
                                             'in', 'p')
        self.__assert(pData, sl_dict, 16, 8, 9, 2)

        sl_dict = self.__get_slice_list_dict(data, pData, 'PROJECTION', 3,
                                             'in', 'p')
        self.__assert(pData, sl_dict, 18, 3, 8, 6)
Ejemplo n.º 20
0
    def test1_single_threaded(self):
        loader = "full_field_loaders.random_3d_tomo_loader"
        params = {'size': (140, 1, 1)}  # data size is (136, 1, 1)
        sys_file = self.__get_system_parameters_file()
        data, pData = tu.get_data_object(tu.load_random_data(
                loader, params, system_params=sys_file))

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'single', 'in', 'p')
        self.__assert(pData, sl_dict, 17, 1, 8, 17, nframes=136)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 'multiple', 'in', 'p')
        self.__assert(pData, sl_dict, 17, 17, 8, 1, nframes=136)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 8, 'in', 'p')
        self.__assert(pData, sl_dict, 16, 8, 9, 2)

        sl_dict = self.__get_slice_list_dict(
                data, pData, 'PROJECTION', 3, 'in', 'p')
        self.__assert(pData, sl_dict, 18, 3, 8, 6)
Ejemplo n.º 21
0
    def test_get_slice_list_per_process(self):
        exp = tu.load_test_data("tomo")
        data, pData = tu.get_data_object(exp)

        processes = ['t', 't', 't', 't']

        pData.plugin_data_setup('PROJECTION', 1)
        sl = data._single_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            data._get_slice_list_per_process(exp.meta_data)
            total.append(data._get_slice_list_per_process(exp.meta_data)[0])
        self.assertEqual(len(sl), sum(len(t) for t in total))

        pData.plugin_data_setup('SINOGRAM', 1)
        sl = data._single_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data._get_slice_list_per_process(exp.meta_data)[0])
        self.assertEqual(len(sl), sum(len(t) for t in total))

        pData.plugin_data_setup('PROJECTION', 8)
        sl = data._get_grouped_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data._get_slice_list_per_process(exp.meta_data)[0])
        self.assertEqual(len(sl), sum(len(t) for t in total))

        pData.plugin_data_setup('SINOGRAM', 1)
        sl = data._get_grouped_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data._get_slice_list_per_process(exp.meta_data)[0])
        self.assertEqual(len(sl), sum(len(t) for t in total))
Ejemplo n.º 22
0
    def test_get_slice_list_per_process(self):
        exp = tu.load_test_data("tomo")
        data, pData = tu.get_data_object(exp)

        processes = ['t', 't', 't', 't']

        pData.plugin_data_setup('PROJECTION', 1)
        sl = data.single_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data.get_slice_list_per_process(exp.meta_data))
        self.assertEqual(len(sl), sum(len(t) for t in total))

        pData.plugin_data_setup('SINOGRAM', 1)
        sl = data.single_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data.get_slice_list_per_process(exp.meta_data))
        self.assertEqual(len(sl), sum(len(t) for t in total))

        pData.plugin_data_setup('PROJECTION', 8)
        sl = data.get_grouped_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data.get_slice_list_per_process(exp.meta_data))
        self.assertEqual(len(sl), sum(len(t) for t in total))

        pData.plugin_data_setup('SINOGRAM', 1)
        sl = data.get_grouped_slice_list()
        total = []
        for i in range(len(processes)):
            tu.set_process(exp, i, processes)
            total.append(data.get_slice_list_per_process(exp.meta_data))
        self.assertEqual(len(sl), sum(len(t) for t in total))