def create_image_proc_launch(filename): """ Creates launch file for image rectification and processing nodes """ template_name = 'image_proc_launch.xml' machine_file = faa_utilities.file_tools.machine_launch_file # Create dictionary which associates a camera name to its namespace for all # cameras which have a calibration namespace_dict = faa_introspection.get_camera_namespace_dict() camera_list = faa_introspection.get_calibrated_cameras() for camera in namespace_dict.keys(): if not camera in camera_list: namespace_dict.pop(camera) # Create a list given pairs (camera namespace, computer) on which to launch # image_proc nodes. camera_assignment = faa_introspection.get_camera_assignment() launch_list = [] for camera, namespace in namespace_dict.iteritems(): computer = camera_assignment[camera]['computer'] launch_list.append((namespace,computer)) # Create xml launch file jinja2_env = jinja2.Environment(loader=jinja2.FileSystemLoader(template_dir)) template = jinja2_env.get_template(template_name) xml_str = template.render(machine_file=machine_file, launch_list=launch_list) with open(filename,'w') as f: f.write(xml_str)
def create_image_proc_launch(filename): """ Creates launch file for image rectification and processing nodes """ template_name = 'image_proc_launch.xml' machine_file = faa_utilities.file_tools.machine_launch_file # Create dictionary which associates a camera name to its namespace for all # cameras which have a calibration namespace_dict = faa_introspection.get_camera_namespace_dict() camera_list = faa_introspection.get_calibrated_cameras() for camera in namespace_dict.keys(): if not camera in camera_list: namespace_dict.pop(camera) # Create a list given pairs (camera namespace, computer) on which to launch # image_proc nodes. camera_assignment = faa_introspection.get_camera_assignment() launch_list = [] for camera, namespace in namespace_dict.iteritems(): computer = camera_assignment[camera]['computer'] launch_list.append((namespace, computer)) # Create xml launch file jinja2_env = jinja2.Environment( loader=jinja2.FileSystemLoader(template_dir)) template = jinja2_env.get_template(template_name) xml_str = template.render(machine_file=machine_file, launch_list=launch_list) with open(filename, 'w') as f: f.write(xml_str)
'00305300013f2ef4': {'image_topic': '/faa_master/00305300013f2ef4/camera/image_raw', 'mjpeg_port': 8088, 'mjpeg_server': 'mjpeg_server_00305300013f2ef4'}, '00305300013f2ef5': {'image_topic': '/faa_master/00305300013f2ef5/camera/image_raw', 'mjpeg_port': 8082, 'mjpeg_server': 'mjpeg_server_00305300013f2ef5'}, '0030530001410997': {'image_topic': '/faa_slave1/0030530001410997/camera/image_raw', 'mjpeg_port': 8081, 'mjpeg_server': 'mjpeg_server_0030530001410997'}, '00305300013f2ef8': {'image_topic': '/faa_slave2/00305300013f2ef8/camera/image_raw', 'mjpeg_port': 8084, 'mjpeg_server': 'mjpeg_server_00305300013f2ef8'}, '00305300013f2ef9': {'image_topic': '/faa_slave2/00305300013f2ef9/camera/image_raw', 'mjpeg_port': 8080, 'mjpeg_server': 'mjpeg_server_00305300013f2ef9'}, '00305300013f2efb': {'image_topic': '/faa_master/00305300013f2efb/camera/image_raw', 'mjpeg_port': 8090, 'mjpeg_server': 'mjpeg_server_00305300013f2efb'}, '00305300013f2efa': {'image_topic': '/faa_master/00305300013f2efa/camera/image_raw', 'mjpeg_port': 8087, 'mjpeg_server': 'mjpeg_server_00305300013f2efa'}, '003053000140e715': {'image_topic': '/faa_slave1/003053000140e715/camera/image_raw', 'mjpeg_port': 8086, 'mjpeg_server': 'mjpeg_server_003053000140e715'}, '0030530001412079': {'image_topic': '/faa_slave2/0030530001412079/camera/image_raw', 'mjpeg_port': 8091, 'mjpeg_server': 'mjpeg_server_0030530001412079'} } create_mjpeg_server_launch(filename,mjpeg_info_dict) if 0: filename = 'camera.launch' yaml_directory = './' camera_assignment = faa_introspection.get_camera_assignment() create_camera_yaml(directory=yaml_directory,camera_assignment=camera_assignment) create_camera_launch(filename=filename,camera_assignment=camera_assignment) if 0: filename = 'camera_calibrator.launch' image_topics = [ '/faa_slave2/camera_10/camera/image_raw', '/faa_slave2/camera_12/camera/image_raw', '/faa_slave1/camera_9/camera/image_raw', '/faa_slave2/camera_7/camera/image_raw', '/faa_slave2/camera_5/camera/image_raw', '/faa_master/camera_8/camera/image_raw', '/faa_master/camera_6/camera/image_raw', '/faa_slave1/camera_1/camera/image_raw', '/faa_slave1/camera_2/camera/image_raw',
'image_topic': '/faa_slave1/003053000140e715/camera/image_raw', 'mjpeg_port': 8086, 'mjpeg_server': 'mjpeg_server_003053000140e715' }, '0030530001412079': { 'image_topic': '/faa_slave2/0030530001412079/camera/image_raw', 'mjpeg_port': 8091, 'mjpeg_server': 'mjpeg_server_0030530001412079' } } create_mjpeg_server_launch(filename, mjpeg_info_dict) if 0: filename = 'camera.launch' yaml_directory = './' camera_assignment = faa_introspection.get_camera_assignment() create_camera_yaml(directory=yaml_directory, camera_assignment=camera_assignment) create_camera_launch(filename=filename, camera_assignment=camera_assignment) if 0: filename = 'camera_calibrator.launch' image_topics = [ '/faa_slave2/camera_10/camera/image_raw', '/faa_slave2/camera_12/camera/image_raw', '/faa_slave1/camera_9/camera/image_raw', '/faa_slave2/camera_7/camera/image_raw', '/faa_slave2/camera_5/camera/image_raw', '/faa_master/camera_8/camera/image_raw', '/faa_master/camera_6/camera/image_raw',