def frame2motor(ifile, ofile): motor_configs = load_motor_configs() shkey_motors = get_shkey_motors(motor_configs) def shkey_name_mapping(shkeys): """Map motor shkeys to blender shkeys""" mapping = {'brow_outer_UP.R': 'brow_outer_up.R'} bl_shkeys = [mapping[key] if key in mapping else key for key in shkeys] return bl_shkeys df = pd.read_csv(ifile) df2 = pd.DataFrame(columns=shkey_motors) for i in range(len(df)): frame = df.ix[i] mapped_values = [] for motor in shkey_motors: motor_entry = motor_configs[motor] parser_cfg = motor_entry['pau']['parser'] shkeys = parser_cfg['shapekey'].split(';') values = [frame[key] for key in shkey_name_mapping(shkeys)] if len(values) == 1: values = values[0] mapper = MapperFactory.build(motor_entry['pau']['function'], motor_entry) mapped_value = mapper.map(values) mapped_values.append(mapped_value) print '%s %s -> %s' % (motor, values, mapped_value) df2.loc[len(df2)] = mapped_values df2.to_csv(ofile, index=False) print "Write to {}".format(ofile)
def __init__(self, motor_entry): binding_obj = motor_entry["pau"] self.parser = ParserFactory.build(binding_obj["parser"]) self.mapper = MapperFactory.build(binding_obj["function"], motor_entry) self.hardware = HardwareFactory.build(motor_entry) self.motor_entry = motor_entry
def __init__(self, motor_entry): binding_obj = motor_entry["binding"] self.parser = ParserFactory.build( binding_obj["parser"] ) self.mapper = MapperFactory.build( binding_obj["function"], motor_entry ) self.motor_entry = motor_entry