예제 #1
0
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)
예제 #2
0
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)
예제 #3
0
    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
예제 #4
0
  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