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_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_two_cameras(self): ori_tmpl = "testing_fodder/calibration/sym_cam{cam_num}.tif.ori" add_file = "testing_fodder/calibration/cam1.tif.addpar" orig_cal = Calibration() orig_cal.from_file( ori_tmpl.format(cam_num=1).encode(), add_file.encode()) proj_cal = Calibration() proj_cal.from_file( ori_tmpl.format(cam_num=3).encode(), add_file.encode()) # reorient cams: orig_cal.set_angles(np.r_[0., -np.pi / 4., 0.]) proj_cal.set_angles(np.r_[0., 3 * np.pi / 4., 0.]) cpar = ControlParams(4) cpar.read_control_par(b"testing_fodder/corresp/control.par") sens_size = cpar.get_image_size() vpar = VolumeParams() vpar.read_volume_par(b"testing_fodder/corresp/criteria.par") vpar.set_Zmin_lay([-10, -10]) vpar.set_Zmax_lay([10, 10]) mult_params = cpar.get_multimedia_params() mult_params.set_n1(1.) mult_params.set_layers(np.array([1.]), np.array([1.])) mult_params.set_n3(1.) # Central point translates to central point because cameras point # directly at each other. mid = np.r_[sens_size] / 2. line = epipolar_curve(mid, orig_cal, proj_cal, 5, cpar, vpar) self.failUnless(np.all(abs(line - mid) < 1e-6)) # An equatorial point draws a latitude. line = epipolar_curve(mid - np.r_[100., 0.], orig_cal, proj_cal, 5, cpar, vpar) np.testing.assert_array_equal(np.argsort(line[:, 0]), np.arange(5)[::-1]) self.failUnless(np.all(abs(line[:, 1] - mid[1]) < 1e-6))
def test_two_cameras(self): ori_tmpl = "testing_fodder/calibration/sym_cam{cam_num}.tif.ori" add_file = "testing_fodder/calibration/cam1.tif.addpar" orig_cal = Calibration() orig_cal.from_file(ori_tmpl.format(cam_num=1).encode(), add_file.encode()) proj_cal = Calibration() proj_cal.from_file(ori_tmpl.format(cam_num=3).encode(), add_file.encode()) # reorient cams: orig_cal.set_angles(np.r_[0., -np.pi/4., 0.]) proj_cal.set_angles(np.r_[0., 3*np.pi/4., 0.]) cpar = ControlParams(4) cpar.read_control_par(b"testing_fodder/corresp/control.par") sens_size = cpar.get_image_size() vpar = VolumeParams() vpar.read_volume_par(b"testing_fodder/corresp/criteria.par") vpar.set_Zmin_lay([-10, -10]) vpar.set_Zmax_lay([10, 10]) mult_params = cpar.get_multimedia_params() mult_params.set_n1(1.) mult_params.set_layers(np.array([1.]), np.array([1.])) mult_params.set_n3(1.) # Central point translates to central point because cameras point # directly at each other. mid = np.r_[sens_size]/2. line = epipolar_curve(mid, orig_cal, proj_cal, 5, cpar, vpar) self.failUnless(np.all(abs(line - mid) < 1e-6)) # An equatorial point draws a latitude. line = epipolar_curve( mid - np.r_[100., 0.], orig_cal, proj_cal, 5, cpar, vpar) np.testing.assert_array_equal(np.argsort(line[:,0]), np.arange(5)[::-1]) self.failUnless(np.all(abs(line[:,1] - mid[1]) < 1e-6))
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)
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)