Example #1
0
parser.add_argument('--write', action='store_true', help='write out video with keypoints shown')
args = parser.parse_args()

scale = args.scale
skip_frames = args.skip_frames

# pathname work
abspath = os.path.abspath(args.video)
filename, ext = os.path.splitext(abspath)
dirname = os.path.dirname(args.video)
bg_video = filename + "_bg.mp4"
motion_video = filename + "_motion.mp4"
local_config = os.path.join(dirname, "camera.json")

camera = camera.VirtualCamera()
camera.load(args.camera, local_config, args.scale)
K = camera.get_K()
IK = camera.get_IK()
dist = camera.get_dist()
print('Camera:', camera.get_name())
print('K:\n', K)
print('IK:\n', IK)
print('dist:', dist)

metadata = skvideo.io.ffprobe(args.video)
#print(metadata.keys())
print(json.dumps(metadata["video"], indent=4))
fps_string = metadata['video']['@avg_frame_rate']
(num, den) = fps_string.split('/')
fps = float(num) / float(den)
codec = metadata['video']['@codec_long_name']
def main():
    """
    Execute all functions
    """

    try:

        with tqdm(total=100) as pbar:

            # Available images
            pbar.set_description("Loading Image Paths")
            images_df = images.load(os.environ["IMAGES"])
            images_df.name = "Images"
            pbar.update(5)

            # Coordinates and polygons
            pbar.set_description("Loading Camera Positions")
            camera_df = camera.load(os.environ["CAMERA_CSV"],
                                    os.environ["CAMERA_GEOJSON"])
            camera_df.name = "Camera"
            pbar.update(5)

            # Items metadata
            pbar.set_description("Loading Cumulus Metadata")
            catalog_df = catalog.load(os.environ["CUMULUS_XML"])
            catalog_df.name = "Catalog"
            pbar.update(5)

            # List items on Portals
            pbar.set_description("Checking Cumulus Portals")
            portals_df = portals.load(os.environ["PORTALS"])
            portals_df.name = "Portals"
            pbar.update(20)

            # List items on Wikidata
            pbar.set_description("Checking Wikidata")
            wikidata_df = wikidata.load(os.environ["WIKIDATA"])
            wikidata_df.name = "Wikidata"
            pbar.update(10)

            # List items on Omeka
            pbar.set_description("Checking Omeka")
            omeka_df = omeka.load(os.environ["OMEKA_API"])
            omeka_df.name = "Omeka"
            pbar.update(20)

            # Merge all dataframes
            pbar.set_description("Updating Metadata Files")
            dataframes = [
                images_df, camera_df, portals_df, wikidata_df, omeka_df
            ]
            update_metadata(catalog_df, dataframes)
            pbar.update(10)

            # Create dashboard
            pbar.set_description("Generating import files and dashboard...")
            export.load(os.environ["METADATA"])
            pbar.update(25)

            pbar.set_description("Done")
            pbar.close()

    except Exception as e:

        print(str(e))
args = parser.parse_args()

smooth_cutoff_hz = 10

# pathname work
abspath = os.path.abspath(args.video)
filename, ext = os.path.splitext(abspath)
dirname = os.path.dirname(args.video)
video_rates = filename + "_rates.csv"
video_horiz = filename + "_horiz.csv"
ekf_error = filename + "_error.csv"
local_config = dirname + "/camera.json"

# load the camera config (we will modify the mounting offset later)
camera = camera.VirtualCamera()
camera.load(None, local_config)
cam_yaw, cam_pitch, cam_roll = camera.get_ypr()
K = camera.get_K()
dist = camera.get_dist()
print('Camera:', camera.get_name())

# load the flight data
flight_data, flight_format = flight_loader.load(args.flight)
print("imu records:", len(flight_data['imu']))
print("gps records:", len(flight_data['gps']))
if 'air' in flight_data:
    print("airdata records:", len(flight_data['air']))
print("filter records:", len(flight_data['filter']))
if 'pilot' in flight_data:
    print("pilot records:", len(flight_data['pilot']))
if 'act' in flight_data:
Example #4
0
    parser.add_option("--distance_as_color",
                      action="store_true",
                      dest="distance_as_color",
                      default=False)
    parser.add_option("--dist_range",
                      type="int",
                      dest="dist_range",
                      default=30)
    (options, args) = parser.parse_args()
    # print(options)

    with open(options.scene, 'r', encoding='utf8') as yaml_file:
        cfg = yaml.load(yaml_file)

    camera = camera.Camera()
    camera.load(cfg['camera'])
    camera.init()

    scene = scene.Scene(camera)
    scene.load(cfg['scene'])

    color_mode = utils.ColorModes.UNIFORM
    if options.normal_as_color is True:
        color_mode = utils.ColorModes.NORMAL
    elif options.distance_as_color is True:
        color_mode = utils.ColorModes.DISTANCE
    render = render.Render(
        np.array([options.resolution_x, options.resolution_y]),
        options.trace_depth, scene, color_mode, options.dist_range)
    render.render()
    # render.draw()