def check_regions_and_pairs(): """ Make sure the tracking regions and camera pairs are well defined. """ regions_dict = file_tools.read_tracking_2d_regions() camera_pairs_dict = file_tools.read_tracking_2d_camera_pairs() region_tools.check_regions_and_camera_pairs(regions_dict, camera_pairs_dict)
def get_camera_pairs_dict(): camera_pairs = file_tools.read_tracking_2d_camera_pairs() camera_pairs_dict = {} for region, pairs_list in camera_pairs.iteritems(): pair_name_list = [] for pair in pairs_list: pair_name = '{0}_{1}'.format(pair[0], pair[1]) pair_name_list.append(pair_name) if pair_name_list: camera_pairs_dict[region] = pair_name_list return camera_pairs_dict
def __init__(self): self.regions_dict = file_tools.read_tracking_2d_regions() self.camera_pairs_dict = file_tools.read_tracking_2d_camera_pairs() # Create dictionaries describing tranformation setup self._create_camera_to_region_dict() self._create_tracking_plane_to_region_dict() self._create_region_to_anchor_plane_dict() self._create_tracking_to_anchor_plane_dict() self._create_camera_to_image_size_dict() self._get_stitching_params() # Create transformation dictionaries self._create_tracking_plane_to_transform_dict() self._create_camera_to_transform_dict()
def transform_2d_calibrator_nodes_ready(): """ Returns True if the transform 2d calibrator nodes are ready. They are ready if the number of transform 2d calibrator nodes are eqaul to the number of camera pairs. """ # Get list of currently running transform 2d calibrators calibrator_list = get_transform_2d_calibrator_nodes() # Get list of all camera pairs camera_pairs_dict = file_tools.read_tracking_2d_camera_pairs() all_pairs_list = [] for pairs_list in camera_pairs_dict.values(): all_pairs_list.extend(pairs_list) if len(all_pairs_list) == len(calibrator_list): return True else: return False
def setup_redis_db(): # Create db and add empty camera assignment db = redis.Redis('localhost',db=config.redis_db) # Add mjpeg information mjpeg_info_dict = mjpeg_servers.get_mjpeg_info_dict() redis_tools.set_dict(db,'mjpeg_info_dict', mjpeg_info_dict) # Add camera pairs information camera_pairs_dict = file_tools.read_tracking_2d_camera_pairs() redis_tools.set_dict(db,'camera_pairs_dict', camera_pairs_dict) # Add external network interface machine_def = mct_introspection.get_machine_def() ip_iface_ext = iface_tools.get_ip_addr(machine_def['mct_master']['iface-ext']) redis_tools.set_str(db,'ip_iface_ext',ip_iface_ext) # Add default scale for image view scale_default = config.camera_view_table['scale_default'] redis_tools.set_str(db,'scale', scale_default) return db
print(t1) print(t2) print() print(m1) print() print(m2) print() print(m22) print() print(m3) print() print(m33) print() if 0: camera_pairs_dict = file_tools.read_tracking_2d_camera_pairs() camera_pairs_list = camera_pairs_dict['maze'] tf_digraph = create_transform_digraph(camera_pairs_list) print('nodes:') print(tf_digraph.nodes()) print() print('edges:') print(tf_digraph.edges()) print() m1 = get_transform_matrix(tf_digraph, 'tracking_plane_1', 'tracking_plane_1') m2 = get_transform_matrix(tf_digraph, 'tracking_plane_1', 'tracking_plane_1') m1_m2 = numpy.dot(m1, m2) print(m1) print(m2)