def test_get_slice_list_per_process(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_PROJECTION, 8) sl0 = du.get_slice_list_per_process(sl, 0, 4) sl1 = du.get_slice_list_per_process(sl, 1, 4) sl2 = du.get_slice_list_per_process(sl, 2, 4) sl3 = du.get_slice_list_per_process(sl, 3, 4) slt = sl0 + sl1 + sl2 + sl3 self.assertListEqual(sl, slt) sl = du.get_grouped_slice_list(data, struct.CD_SINOGRAM, 8) sl0 = du.get_slice_list_per_process(sl, 0, 4) sl1 = du.get_slice_list_per_process(sl, 1, 4) sl2 = du.get_slice_list_per_process(sl, 2, 4) sl3 = du.get_slice_list_per_process(sl, 3, 4) slt = sl0 + sl1 + sl2 + sl3 self.assertListEqual(sl, slt) sl = du.get_grouped_slice_list(data, struct.CD_ROTATION_AXIS, 8) sl0 = du.get_slice_list_per_process(sl, 0, 4) sl1 = du.get_slice_list_per_process(sl, 1, 4) sl2 = du.get_slice_list_per_process(sl, 2, 4) sl3 = du.get_slice_list_per_process(sl, 3, 4) slt = sl0 + sl1 + sl2 + sl3 self.assertListEqual(sl, slt)
def test_get_slice_list_per_process(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_PROJECTION, 8) sl0 = du.get_slice_list_per_process(sl, 0, 4) sl1 = du.get_slice_list_per_process(sl, 1, 4) sl2 = du.get_slice_list_per_process(sl, 2, 4) sl3 = du.get_slice_list_per_process(sl, 3, 4) slt = sl0 + sl1 + sl2 + sl3 self.assertListEqual(sl, slt) sl = du.get_grouped_slice_list(data, struct.CD_SINOGRAM, 8) sl0 = du.get_slice_list_per_process(sl, 0, 4) sl1 = du.get_slice_list_per_process(sl, 1, 4) sl2 = du.get_slice_list_per_process(sl, 2, 4) sl3 = du.get_slice_list_per_process(sl, 3, 4) slt = sl0 + sl1 + sl2 + sl3 self.assertListEqual(sl, slt) sl = du.get_grouped_slice_list(data, struct.CD_ROTATION_AXIS, 8) sl0 = du.get_slice_list_per_process(sl, 0, 4) sl1 = du.get_slice_list_per_process(sl, 1, 4) sl2 = du.get_slice_list_per_process(sl, 2, 4) sl3 = du.get_slice_list_per_process(sl, 3, 4) slt = sl0 + sl1 + sl2 + sl3 self.assertListEqual(sl, slt)
def test_get_padded_slice_data_2(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_ROTATION_AXIS, 8) padding_dict = {} padding_dict[struct.CD_ROTATION_AXIS] = 1 psl0_0 = du.get_padded_slice_data(sl[0], padding_dict, data) psl5_0 = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0_0.shape, (113, 8)) self.assertEqual(psl5_0.shape, (113, 8))
def test_get_padded_slice_data(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_PROJECTION, 8) padding_dict = {} padding_dict[struct.CD_ROTATION_AXIS] = 1 psl0ra = du.get_padded_slice_data(sl[0], padding_dict, data) psl5ra = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0ra.shape, (10, 135, 160)) self.assertEqual(psl5ra.shape, (10, 135, 160))
def test_get_padded_slice_data_2(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_ROTATION_AXIS, 8) padding_dict = {} padding_dict[struct.CD_ROTATION_AXIS] = 1 psl0_0 = du.get_padded_slice_data(sl[0], padding_dict, data) psl5_0 = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0_0.shape, (113, 8)) self.assertEqual(psl5_0.shape, (113, 8))
def test_get_padded_slice_data(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_PROJECTION, 8) padding_dict = {} padding_dict[struct.CD_ROTATION_AXIS] = 1 psl0ra = du.get_padded_slice_data(sl[0], padding_dict, data) psl5ra = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0ra.shape, (10, 135, 160)) self.assertEqual(psl5ra.shape, (10, 135, 160))
def process(self, data, output, processes, process, transport): """ This method is called after the plugin has been created by the pipeline framework :param data: The input data object. :type data: savu.data.structures :param data: The output data object :type data: savu.data.structures :param processes: The number of processes which will be doing the work :type path: int :param path: The specific process which we are :type path: int """ slice_list = du.get_grouped_slice_list(data, self.get_filter_frame_type(), self.get_max_frames()) self._process_chunks(slice_list, data, output, len(processes), process)
def process(self, data, output, processes, process): """ This method is called after the plugin has been created by the pipeline framework :param data: The input data object. :type data: savu.data.structures :param data: The output data object :type data: savu.data.structures :param processes: The number of processes which will be doing the work :type path: int :param path: The specific process which we are :type path: int """ slice_list = du.get_grouped_slice_list(data, self.get_filter_frame_type(), self.get_max_frames()) self._process_chunks(slice_list, data, output, len(processes), process)
def test_get_unpadded_slice_data_2(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_SINOGRAM, 1) padding_dict = {} #padding_dict[struct.CD_PROJECTION] = 1 psl0_0 = du.get_padded_slice_data(sl[0], padding_dict, data) psl5_0 = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0_0.shape, (111, 1, 160)) self.assertEqual(psl5_0.shape, (111, 1, 160)) raw0 = data.data[sl[0]] psl0_un = du.get_unpadded_slice_data(sl[0], padding_dict, data, psl0_0) self.assertEqual(psl0_un.shape, raw0.shape) # here self.assertEqual(psl0_un.sum(), raw0.sum()) raw5 = data.data[sl[5]] psl5_un = du.get_unpadded_slice_data(sl[5], padding_dict, data, psl5_0) self.assertEqual(psl5_un.shape, raw5.shape) self.assertEqual(psl5_un.sum(), raw5.sum())
def test_get_unpadded_slice_data(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_ROTATION_AXIS, 8) padding_dict = {} padding_dict[struct.CD_PROJECTION] = 1 psl0_0 = du.get_padded_slice_data(sl[0], padding_dict, data) psl5_0 = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0_0.shape, (111, 3, 10)) self.assertEqual(psl5_0.shape, (111, 3, 10)) raw0 = data.data[sl[0]] psl0_un = du.get_unpadded_slice_data(sl[0], padding_dict, data, psl0_0) self.assertEqual(psl0_un.squeeze().shape, raw0.shape) self.assertEqual(psl0_un.sum(), raw0.sum()) raw5 = data.data[sl[5]] psl5_un = du.get_unpadded_slice_data(sl[5], padding_dict, data, psl5_0) self.assertEqual(psl5_un.squeeze().shape, raw5.shape) self.assertEqual(psl5_un.sum(), raw5.sum())
def test_get_unpadded_slice_data_2(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_SINOGRAM, 1) padding_dict = {} #padding_dict[struct.CD_PROJECTION] = 1 psl0_0 = du.get_padded_slice_data(sl[0], padding_dict, data) psl5_0 = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0_0.shape, (111, 1, 160)) self.assertEqual(psl5_0.shape, (111, 1, 160)) raw0 = data.data[sl[0]] psl0_un = du.get_unpadded_slice_data(sl[0], padding_dict, data, psl0_0) self.assertEqual(psl0_un.shape, raw0.shape) # here self.assertEqual(psl0_un.sum(), raw0.sum()) raw5 = data.data[sl[5]] psl5_un = du.get_unpadded_slice_data(sl[5], padding_dict, data, psl5_0) self.assertEqual(psl5_un.shape, raw5.shape) self.assertEqual(psl5_un.sum(), raw5.sum())
def test_get_unpadded_slice_data(self): data = tu.get_nx_tomo_test_data() sl = du.get_grouped_slice_list(data, struct.CD_ROTATION_AXIS, 8) padding_dict = {} padding_dict[struct.CD_PROJECTION] = 1 psl0_0 = du.get_padded_slice_data(sl[0], padding_dict, data) psl5_0 = du.get_padded_slice_data(sl[5], padding_dict, data) self.assertEqual(psl0_0.shape, (111, 3, 10)) self.assertEqual(psl5_0.shape, (111, 3, 10)) raw0 = data.data[sl[0]] psl0_un = du.get_unpadded_slice_data(sl[0], padding_dict, data, psl0_0) self.assertEqual(psl0_un.squeeze().shape, raw0.shape) self.assertEqual(psl0_un.sum(), raw0.sum()) raw5 = data.data[sl[5]] psl5_un = du.get_unpadded_slice_data(sl[5], padding_dict, data, psl5_0) self.assertEqual(psl5_un.squeeze().shape, raw5.shape) self.assertEqual(psl5_un.sum(), raw5.sum())
def process(self, data, output, processes, process): """ """ slice_list = du.get_grouped_slice_list(data, self.get_filter_frame_type(), self.get_max_frames()) self._filter_chunk(slice_list, data, output, len(processes), process)
def process(self, data, output, processes, process): """ """ slice_list = du.get_grouped_slice_list(data, self.get_filter_frame_type(), self.get_max_frames()) self._filter_chunk(slice_list, data, output, len(processes), process)