def apply(self): cam = None try: self.progressBar.setValue(0) self.progressBar.show() file_path = self.subForm.getFilePath() camera_text = self.subForm.getCameraText() camera_data = self.subForm.getCameraData() width, height = self.subForm.getImageResolution() self.progressBar.setValue(20) mkr_data_list = mayareadfile.read(file_path, image_width=width, image_height=height) self.progressBar.setValue(70) if camera_text == const.NEW_CAMERA_VALUE: cam = lib.create_new_camera() else: cam = camera_data self.progressBar.setValue(90) mayareadfile.create_nodes(mkr_data_list, cam=cam) finally: self.progressBar.setValue(100) self.progressBar.hide() # Update the camera comboBox with the created camera, or # the last used camera. selected_cameras = [cam] self.subForm.updateCameraList(self.subForm.camera_comboBox, self.subForm.camera_model, selected_cameras) return
def test_loadmarker_pftrack2dt_format(self): """ Test loading markers using the '.2dt'/'.txt' format. """ cam = lib_utils.create_new_camera() mkr_grp = lib_utils.create_new_marker_group(cam) mkr_data_list = [] paths = [ (self.get_data_path('pftrack', 'pftrack_corners_v001.txt'), (716.0, 572.0)), (self.get_data_path('pftrack', 'pftrack_corners_v002.txt'), (1920.0, 1080.0)), (self.get_data_path( 'pftrack', 'pftrack_hollywoodcameraworks_headtracking.txt'), (1920.0, 1080.0)), (self.get_data_path('pftrack', 'pftrack_user_track_docs.txt'), (1920.0, 1080.0)), ] for path, res in paths: print('Reading... %r (%s x %s)' % (path, res[0], res[1])) _, tmp_list = marker_read.read(path, image_width=res[0], image_height=res[1]) self.assertNotEqual(tmp_list, None) mkr_data_list += tmp_list # Create the markers num_nodes1 = len(maya.cmds.ls()) marker_read.create_nodes(mkr_data_list, cam=cam, mkr_grp=mkr_grp) num_nodes2 = len(maya.cmds.ls()) self.assertGreater(num_nodes2, num_nodes1) self.assertTrue(maya.cmds.objExists('lowerLeftSingleFrame_MKR')) self.assertTrue(maya.cmds.objExists('upperRightSingleFrame_MKR')) self.assertTrue(maya.cmds.objExists('upperLeft_MKR')) self.assertTrue(maya.cmds.objExists('upperRight_MKR')) self.assertTrue(maya.cmds.objExists('lowerLeft_MKR')) self.assertTrue(maya.cmds.objExists('lowerRight_MKR')) self.assertTrue(maya.cmds.objExists('Tracker0001_MKR')) self.assertTrue(maya.cmds.objExists('Tracker0002_MKR')) self.assertTrue(maya.cmds.objExists('head_MKR')) self.assertTrue(maya.cmds.objExists('head1_MKR')) self.assertTrue(maya.cmds.objExists('head2_MKR')) self.assertTrue(maya.cmds.objExists('head3_MKR')) self.assertTrue(maya.cmds.objExists('head4_MKR')) return
def test_loadmarker_uvtrack_format(self): """ Test loading markers using the '.uv' format. """ cam = lib_utils.create_new_camera() mkr_grp = lib_utils.create_new_marker_group(cam) mkr_data_list = [] paths = [ self.get_data_path('uvtrack', 'test_v1.uv'), self.get_data_path('uvtrack', 'test_v3.uv'), self.get_data_path('uvtrack', 'test_v4.uv'), self.get_data_path('uvtrack', 'loadmarker_corners.uv'), self.get_data_path('uvtrack', 'cameraTrackRnD.uv'), self.get_data_path('uvtrack', 'stA.uv'), self.get_data_path('uvtrack', 'stA_with_emptyMarker.uv'), self.get_data_path('uvtrack', 'eye_fmt1_v001.uv'), self.get_data_path('uvtrack', 'eye_fmt2_v001.uv'), ] for path in paths: print('Reading... %r' % path) _, tmp_list = marker_read.read(path) self.assertNotEqual(tmp_list, None) mkr_data_list += tmp_list # Create the markers num_nodes1 = len(maya.cmds.ls()) marker_read.create_nodes(mkr_data_list, cam=cam, mkr_grp=mkr_grp) num_nodes2 = len(maya.cmds.ls()) self.assertGreater(num_nodes2, num_nodes1) self.assertTrue(maya.cmds.objExists('TopLeft_MKR')) self.assertEqual(maya.cmds.getAttr('TopLeft_MKR.translateX'), -0.5) self.assertEqual(maya.cmds.getAttr('TopLeft_MKR.translateY'), 0.5) self.assertTrue(maya.cmds.objExists('TopRight_MKR')) self.assertEqual(maya.cmds.getAttr('TopRight_MKR.translateX'), 0.5) self.assertEqual(maya.cmds.getAttr('TopRight_MKR.translateY'), 0.5) self.assertTrue(maya.cmds.objExists('BottomLeft_MKR')) self.assertEqual(maya.cmds.getAttr('BottomLeft_MKR.translateX'), -0.5) self.assertEqual(maya.cmds.getAttr('BottomLeft_MKR.translateY'), -0.5) self.assertTrue(maya.cmds.objExists('BottomRight_MKR')) self.assertEqual(maya.cmds.getAttr('BottomRight_MKR.translateX'), 0.5) self.assertEqual(maya.cmds.getAttr('BottomRight_MKR.translateY'), -0.5)
def test_loadmarker_tdetxt_format(self): """ Test loading markers using the '.uv' format. """ cam = lib_utils.create_new_camera() mkr_grp = lib_utils.create_new_marker_group(cam) mkr_data_list = [] paths = [ (self.get_data_path('3de_v4', 'loadmarker_corners.txt'), (1920.0, 1080.0)), # (self.get_data_path('3de_v4', '3de_export_cube.txt'), (1920.0, 1080.0)), # (self.get_data_path('3de_v4', 'FB1880_man_v05.txt'), (1920.0, 1080.0)), ] for path, res in paths: print('Reading... %r' % path) _, tmp_list = marker_read.read(path, image_width=res[0], image_height=res[1]) self.assertNotEqual(tmp_list, None) mkr_data_list += tmp_list # Create the markers num_nodes1 = len(maya.cmds.ls()) marker_read.create_nodes(mkr_data_list, cam=cam, mkr_grp=mkr_grp) num_nodes2 = len(maya.cmds.ls()) self.assertGreater(num_nodes2, num_nodes1) self.assertTrue(maya.cmds.objExists('TopLeft_MKR')) self.assertEqual(maya.cmds.getAttr('TopLeft_MKR.translateX'), -0.5) self.assertEqual(maya.cmds.getAttr('TopLeft_MKR.translateY'), 0.5) self.assertTrue(maya.cmds.objExists('TopRight_MKR')) self.assertEqual(maya.cmds.getAttr('TopRight_MKR.translateX'), 0.5) self.assertEqual(maya.cmds.getAttr('TopRight_MKR.translateY'), 0.5) self.assertTrue(maya.cmds.objExists('BottomLeft_MKR')) self.assertEqual(maya.cmds.getAttr('BottomLeft_MKR.translateX'), -0.5) self.assertEqual(maya.cmds.getAttr('BottomLeft_MKR.translateY'), -0.5) self.assertTrue(maya.cmds.objExists('BottomRight_MKR')) self.assertEqual(maya.cmds.getAttr('BottomRight_MKR.translateX'), 0.5) self.assertEqual(maya.cmds.getAttr('BottomRight_MKR.translateY'), -0.5)
def test_loadmarker_rz2_format(self): cam = lib_utils.create_new_camera() mkr_grp = lib_utils.create_new_marker_group(cam) mkr_data_list = [] paths = [ self.get_data_path('match_mover', 'loadmarker.rz2'), self.get_data_path('match_mover', 'loadmarker_corners.rz2'), # self.get_data_path('match_mover', '2dtracks.rz2'), # self.get_data_path('match_mover', 'cha_171_1020_atb_v001.rz2'), # self.get_data_path('match_mover', 'EP_1000_head_trackers_v002.rz2'), # self.get_data_path('match_mover', 'kipPointsMatchmover.rz2'), # self.get_data_path('match_mover', 'NonSequentialMatchmoverPoints.rz2'), ] for path in paths: _, tmp_list = marker_read.read(path) mkr_data_list += tmp_list # Create the markers num_nodes1 = len(maya.cmds.ls()) marker_read.create_nodes(mkr_data_list, cam=cam, mkr_grp=mkr_grp) num_nodes2 = len(maya.cmds.ls()) self.assertGreater(num_nodes2, num_nodes1) self.assertTrue(maya.cmds.objExists('TopLeft_MKR')) self.assertEqual(maya.cmds.getAttr('TopLeft_MKR.translateX'), -0.5) self.assertEqual(maya.cmds.getAttr('TopLeft_MKR.translateY'), 0.5) self.assertTrue(maya.cmds.objExists('TopRight_MKR')) self.assertEqual(maya.cmds.getAttr('TopRight_MKR.translateX'), 0.5) self.assertEqual(maya.cmds.getAttr('TopRight_MKR.translateY'), 0.5) self.assertTrue(maya.cmds.objExists('BottomLeft_MKR')) self.assertEqual(maya.cmds.getAttr('BottomLeft_MKR.translateX'), -0.5) self.assertEqual(maya.cmds.getAttr('BottomLeft_MKR.translateY'), -0.5) self.assertTrue(maya.cmds.objExists('BottomRight_MKR')) self.assertEqual(maya.cmds.getAttr('BottomRight_MKR.translateX'), 0.5) self.assertEqual(maya.cmds.getAttr('BottomRight_MKR.translateY'), -0.5)
def apply(self): cam = None mkr_grp = None col = None file_path = self.subForm.getFilePath() load_mode = self.subForm.getLoadModeText() camera_text = self.subForm.getCameraText() camera_data = self.subForm.getCameraData() mkr_grp_text = self.subForm.getMarkerGroupText() mkr_grp_data = self.subForm.getMarkerGroupData() add_to_collection = self.subForm.getAddToCollectionValue() collection_text = self.subForm.getCollectionText() collection_data = self.subForm.getCollectionData() load_bnd_pos = self.subForm.getLoadBundlePositions() undist_mode = self.subForm.getDistortionModeText() use_overscan = self.subForm.getUseOverscanValue() undistorted = undist_mode == const.UNDISTORTION_MODE_VALUE width, height = self.subForm.getImageResolution() camera_field_of_view = None if use_overscan is True: camera_field_of_view = self.subForm.getCameraFieldOfViewValue() # Temporarily disable adding new Markers to the Active # Collection. config = userprefs_lib.get_config() key = userprefs_const.REG_EVNT_ADD_NEW_MKR_TO_KEY old_value = userprefs_lib.get_value(config, key) temp_value = userprefs_const.REG_EVNT_ADD_NEW_MKR_TO_NONE_VALUE userprefs_lib.set_value(config, key, temp_value) try: self.progressBar.setValue(0) self.progressBar.show() with undoutils.undo_chunk_context(): _, mkr_data_list = mayareadfile.read( file_path, image_width=width, image_height=height, undistorted=undistorted, ) self.progressBar.setValue(50) if load_mode == const.LOAD_MODE_NEW_VALUE: # Get Camera and MarkerGroup. if camera_text == const.NEW_CAMERA_VALUE: cam = lib.create_new_camera() mkr_grp = lib.create_new_marker_group(cam) else: cam = camera_data if mkr_grp_text == const.NEW_MARKER_GROUP_VALUE: mkr_grp = lib.create_new_marker_group(cam) else: mkr_grp = mkr_grp_data self.progressBar.setValue(60) # Get Collection col = None if add_to_collection is True: if collection_text == const.NEW_COLLECTION_VALUE: col = col_lib.create_collection() else: col = collection_data self.progressBar.setValue(70) mayareadfile.create_nodes( mkr_data_list, cam=cam, mkr_grp=mkr_grp, col=col, with_bundles=True, load_bundle_position=load_bnd_pos, camera_field_of_view=camera_field_of_view, ) elif load_mode == const.LOAD_MODE_REPLACE_VALUE: self.progressBar.setValue(60) mkr_list = lib.get_selected_markers() # NOTE: camera_field_of_view can only be from one # camera, because (we assume) only one MarkerData # file can be loaded at once. mayareadfile.update_nodes( mkr_list, mkr_data_list, load_bundle_position=load_bnd_pos, camera_field_of_view=camera_field_of_view) else: raise ValueError('Load mode is not valid: %r' % load_mode) self.progressBar.setValue(99) lib.trigger_maya_to_refresh() finally: self.progressBar.setValue(100) self.progressBar.hide() # Restore original config value. lib.deferred_revert_of_config_value(config, key, old_value) # Update the camera comboBox with the created camera, or # the last used camera. all_camera_nodes = lib.get_cameras() selected_cameras = [cam] active_camera = cam self.subForm.updateCameraList(self.subForm.camera_comboBox, self.subForm.camera_model, all_camera_nodes, selected_cameras, active_camera) active_camera = cam active_mkr_grp = mkr_grp mkr_grp_nodes = lib.get_marker_groups(active_camera) self.subForm.updateMarkerGroupList( self.subForm.markerGroup_comboBox, self.subForm.markerGroup_model, active_mkr_grp, mkr_grp_nodes) # Update the list of Collections, and pick the last used # Collection. active_col = col col_list = col_lib.get_collections() self.subForm.updateCollectionList(self.subForm.collection_comboBox, self.subForm.collection_model, active_col, col_list) # Update config file with latest values. config = get_config() if config is not None: config.set_value("data/use_overscan", use_overscan) config.set_value("data/load_bundle_position", load_bnd_pos) config.set_value("data/distortion_mode", undist_mode) config.set_value("data/load_mode", load_mode) config.write() return
def apply(self): cam = None mkr_grp = None file_path = self.subForm.getFilePath() load_mode = self.subForm.getLoadModeText() camera_text = self.subForm.getCameraText() camera_data = self.subForm.getCameraData() mkr_grp_text = self.subForm.getMarkerGroupText() mkr_grp_data = self.subForm.getMarkerGroupData() load_bnd_pos = self.subForm.getLoadBundlePositions() undist_mode = self.subForm.getDistortionModeText() use_overscan = self.subForm.getUseOverscanValue() undistorted = undist_mode == const.UNDISTORTION_MODE_VALUE width, height = self.subForm.getImageResolution() camera_field_of_view = None if use_overscan is True: camera_field_of_view = self.subForm.getCameraFieldOfViewValue() try: self.progressBar.setValue(0) self.progressBar.show() with undoutils.undo_chunk_context(): _, mkr_data_list = mayareadfile.read( file_path, image_width=width, image_height=height, undistorted=undistorted, ) self.progressBar.setValue(50) if load_mode == const.LOAD_MODE_NEW_VALUE: if camera_text == const.NEW_CAMERA_VALUE: cam = lib.create_new_camera() mkr_grp = lib.create_new_marker_group(cam) else: cam = camera_data if mkr_grp_text == const.NEW_MARKER_GROUP_VALUE: mkr_grp = lib.create_new_marker_group(cam) else: mkr_grp = mkr_grp_data self.progressBar.setValue(60) mayareadfile.create_nodes( mkr_data_list, cam=cam, mkr_grp=mkr_grp, with_bundles=True, load_bundle_position=load_bnd_pos, camera_field_of_view=camera_field_of_view, ) elif load_mode == const.LOAD_MODE_REPLACE_VALUE: self.progressBar.setValue(60) mkr_list = lib.get_selected_markers() # NOTE: camera_field_of_view can only be from one # camera, because (we assume) only one MarkerData # file can be loaded at once. mayareadfile.update_nodes( mkr_list, mkr_data_list, load_bundle_position=load_bnd_pos, camera_field_of_view=camera_field_of_view) else: raise ValueError('Load mode is not valid: %r' % load_mode) self.progressBar.setValue(99) lib.trigger_maya_to_refresh() finally: self.progressBar.setValue(100) self.progressBar.hide() # Update the camera comboBox with the created camera, or # the last used camera. all_camera_nodes = lib.get_cameras() selected_cameras = [cam] active_camera = cam self.subForm.updateCameraList(self.subForm.camera_comboBox, self.subForm.camera_model, all_camera_nodes, selected_cameras, active_camera) active_camera = cam active_mkr_grp = mkr_grp mkr_grp_nodes = lib.get_marker_groups(active_camera) self.subForm.updateMarkerGroupList( self.subForm.markerGroup_comboBox, self.subForm.markerGroup_model, active_mkr_grp, mkr_grp_nodes) # Update config file with latest values. config = get_config() if config is not None: config.set_value("data/use_overscan", use_overscan) config.set_value("data/load_bundle_position", load_bnd_pos) config.set_value("data/distortion_mode", undist_mode) config.set_value("data/load_mode", load_mode) config.write() return
def apply(self): cam = None mkr_grp = None file_path = self.subForm.getFilePath() load_mode = self.subForm.getLoadModeText() camera_text = self.subForm.getCameraText() camera_data = self.subForm.getCameraData() mkr_grp_text = self.subForm.getMarkerGroupText() mkr_grp_data = self.subForm.getMarkerGroupData() load_bnd_pos = self.subForm.getLoadBundlePositions() undist_mode = self.subForm.getDistortionModeText() undistorted = undist_mode == const.UNDISTORTION_MODE_VALUE width, height = self.subForm.getImageResolution() try: self.progressBar.setValue(0) self.progressBar.show() with undoutils.undo_chunk_context(): _, mkr_data_list = mayareadfile.read( file_path, image_width=width, image_height=height, undistorted=undistorted, ) self.progressBar.setValue(50) if load_mode == const.LOAD_MODE_NEW_VALUE: if camera_text == const.NEW_CAMERA_VALUE: cam = lib.create_new_camera() else: cam = camera_data if mkr_grp_text == const.NEW_MARKER_GROUP_VALUE: mkr_grp = lib.create_new_marker_group(cam) else: mkr_grp = mkr_grp_data self.progressBar.setValue(60) mayareadfile.create_nodes( mkr_data_list, cam=cam, mkr_grp=mkr_grp, with_bundles=True, load_bundle_position=load_bnd_pos, ) elif load_mode == const.LOAD_MODE_REPLACE_VALUE: self.progressBar.setValue(60) mkr_list = lib.get_selected_markers() mayareadfile.update_nodes(mkr_list, mkr_data_list) else: raise ValueError('Load mode is not valid: %r' % load_mode) self.progressBar.setValue(99) lib.trigger_maya_to_refresh() finally: self.progressBar.setValue(100) self.progressBar.hide() # Update the camera comboBox with the created camera, or # the last used camera. all_camera_nodes = lib.get_cameras() selected_cameras = [cam] active_camera = cam self.subForm.updateCameraList( self.subForm.camera_comboBox, self.subForm.camera_model, all_camera_nodes, selected_cameras, active_camera ) active_camera = cam active_mkr_grp = mkr_grp mkr_grp_nodes = lib.get_marker_groups(active_camera) self.subForm.updateMarkerGroupList( self.subForm.markerGroup_comboBox, self.subForm.markerGroup_model, active_mkr_grp, mkr_grp_nodes ) return
def test_create_new_marker_group(self): cam = lib_utils.create_new_camera() mkr_grp = lib_utils.create_new_marker_group(cam) assert mkr_grp return
def test_create_new_camera(self): cam = lib_utils.create_new_camera() assert cam return