def test_transforms(self): """Transform in well-known setup gives precalculates results.""" cpar = ControlParams(1) cpar.set_image_size((1280, 1000)) cpar.set_pixel_size((0.1, 0.1)) metric_pos = np.array([[1., 1.], [-10., 15.], [20., -30.]]) pixel_pos = np.array([[650., 490.], [540., 350.], [840., 800.]]) np.testing.assert_array_almost_equal( pixel_pos, convert_arr_metric_to_pixel(metric_pos, cpar)) np.testing.assert_array_almost_equal( metric_pos, convert_arr_pixel_to_metric(pixel_pos, cpar))
def test_transforms(self): """Transform in well-known setup gives precalculates results.""" cpar = ControlParams(1) cpar.set_image_size((1280, 1000)) cpar.set_pixel_size((0.1, 0.1)) metric_pos = np.array([ [1., 1.], [-10., 15.], [20., -30.] ]) pixel_pos = np.array([ [650., 490.], [540., 350.], [840., 800.] ]) np.testing.assert_array_almost_equal(pixel_pos, convert_arr_metric_to_pixel(metric_pos, cpar)) np.testing.assert_array_almost_equal(metric_pos, convert_arr_pixel_to_metric(pixel_pos, cpar))
class Test_ControlParams(unittest.TestCase): def setUp(self): self.input_control_par_file_name = "testing_fodder/control_parameters/control.par" self.temp_output_directory = "testing_fodder/control_parameters/testing_output" # create a temporary output directory (will be deleted by the end of test) if not os.path.exists(self.temp_output_directory): os.makedirs(self.temp_output_directory) # create an instance of ControlParams class self.cp_obj = ControlParams(4) def test_read_control(self): # Fill the ControlParams object with parameters from test file self.cp_obj.read_control_par(self.input_control_par_file_name) # check if all parameters are equal to the contents of test file self.failUnless(self.cp_obj.get_img_base_name(0) == "dumbbell/cam1_Scene77_4085") self.failUnless(self.cp_obj.get_img_base_name(1) == "dumbbell/cam2_Scene77_4085") self.failUnless(self.cp_obj.get_img_base_name(2) == "dumbbell/cam3_Scene77_4085") self.failUnless(self.cp_obj.get_img_base_name(3) == "dumbbell/cam4_Scene77_4085") self.failUnless(self.cp_obj.get_cal_img_base_name(0) == "cal/cam1.tif") self.failUnless(self.cp_obj.get_cal_img_base_name(1) == "cal/cam2.tif") self.failUnless(self.cp_obj.get_cal_img_base_name(2) == "cal/cam3.tif") self.failUnless(self.cp_obj.get_cal_img_base_name(3) == "cal/cam4.tif") self.failUnless(self.cp_obj.get_num_cams() == 4) self.failUnless(self.cp_obj.get_hp_flag()) self.failUnless(self.cp_obj.get_allCam_flag()) self.failUnless(self.cp_obj.get_tiff_flag()) self.failUnless(self.cp_obj.get_image_size(), (1280, 1024)) self.failUnless(self.cp_obj.get_pixel_size() == (15.15,16.16)) self.failUnless(self.cp_obj.get_chfield() == 17) self.failUnless(self.cp_obj.get_multimedia_params().get_n1() == 18) self.failUnless(self.cp_obj.get_multimedia_params().get_n2()[0] == 19.19) self.failUnless(self.cp_obj.get_multimedia_params().get_n3() == 20.20) self.failUnless(self.cp_obj.get_multimedia_params().get_d()[0] == 21.21) def test_instantiate_fast(self): """ControlParams instantiation through constructor""" cp = ControlParams(4, ['headers', 'hp', 'allcam'], (1280, 1024), (15.15,16.16), 18, [19.19], [21.21], 20.20) self.failUnless(cp.get_num_cams() == 4) self.failUnless(cp.get_hp_flag()) self.failUnless(cp.get_allCam_flag()) self.failUnless(cp.get_tiff_flag()) self.failUnless(cp.get_image_size(), (1280, 1024)) self.failUnless(cp.get_pixel_size() == (15.15,16.16)) self.failUnless(cp.get_chfield() == 0) mm = cp.get_multimedia_params() self.failUnless(mm.get_n1() == 18) self.failUnless(mm.get_n2()[0] == 19.19) self.failUnless(mm.get_n3() == 20.20) self.failUnless(mm.get_d()[0] == 21.21) def test_getters_setters(self): cams_num = 4 for cam in range(cams_num): new_str = str(cam) + "some string" + str(cam) self.cp_obj.set_img_base_name(cam, new_str) self.failUnless(self.cp_obj.get_img_base_name(cam) == new_str) self.cp_obj.set_cal_img_base_name(cam, new_str) self.failUnless(self.cp_obj.get_cal_img_base_name(cam) == new_str) self.cp_obj.set_hp_flag(True) self.failUnless(self.cp_obj.get_hp_flag()) self.cp_obj.set_hp_flag(False) self.failUnless(not self.cp_obj.get_hp_flag()) self.cp_obj.set_allCam_flag(True) self.failUnless(self.cp_obj.get_allCam_flag()) self.cp_obj.set_allCam_flag(False) self.failUnless(not self.cp_obj.get_allCam_flag()) self.cp_obj.set_tiff_flag(True) self.failUnless(self.cp_obj.get_tiff_flag()) self.cp_obj.set_tiff_flag(False) self.failUnless(not self.cp_obj.get_tiff_flag()) self.cp_obj.set_image_size((4, 5)) self.failUnless(self.cp_obj.get_image_size()== (4, 5)) print self.cp_obj.get_pixel_size() self.cp_obj.set_pixel_size((6.1, 7.0)) numpy.testing.assert_array_equal(self.cp_obj.get_pixel_size(), (6.1, 7)) self.cp_obj.set_chfield(8) self.failUnless(self.cp_obj.get_chfield() == 8) # testing __richcmp__ comparison method of ControlParams class def test_rich_compare(self): self.cp_obj2 = ControlParams(4) self.cp_obj2.read_control_par(self.input_control_par_file_name) self.cp_obj3 = ControlParams(4) self.cp_obj3.read_control_par(self.input_control_par_file_name) self.failUnless(self.cp_obj2 == self.cp_obj3) self.failIf(self.cp_obj2 != self.cp_obj3) self.cp_obj2.set_hp_flag(False) self.failUnless(self.cp_obj2 != self.cp_obj3) self.failIf(self.cp_obj2 == self.cp_obj3) with self.assertRaises(TypeError): var = (self.cp_obj2 > self.cp_obj3) # unhandled operator > def tearDown(self): # remove the testing output directory and its files shutil.rmtree(self.temp_output_directory)