in polymetis/python/scripts/viz.py [0:0]
def process_queue(self):
dataframes = {}
while not self.state_queue.empty():
step, robot_state = self.state_queue.get()
if self.stream_live_data:
write_protobuf(self.logfile, robot_state)
curr_datetime = robot_state.timestamp.ToDatetime()
for field, values in robot_state.ListFields():
if field.name in self.log_keys:
try:
values_dim = len(values)
except TypeError:
values_dim = 1
if field.name not in dataframes:
df = pd.DataFrame(
columns=["datetime"] + list(range(values_dim))
).set_index("datetime")
dataframes[field.name] = df
df = dataframes[field.name]
value_dict = {x[0]: x[1] for x in enumerate(values)}
df.loc[curr_datetime] = value_dict
return dataframes