def extract()

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