in src/data_packer.py [0:0]
def extract(self, keyframe, **kwargs):
result = np.empty(self.entries, dtype=np.float32)
idx = 0
for f in self.features:
if self.replace_occluded is not None and (
f.idx == Idx.lwrist and not keyframe.l_hand_visible or f.idx == Idx.rwrist and not keyframe.r_hand_visible):
if isinstance(self.replace_occluded, float):
result[idx: idx + f.entries] = self.replace_occluded
elif callable(self.replace_occluded):
result[idx: idx + f.entries] = self.replace_occluded(result[idx: idx + f.entries])
else:
raise AttributeError("invalid replacement")
else:
result[idx: idx + f.entries] = f.extract(keyframe, **kwargs)
idx += f.entries
return result