def observation()

in robogym/wrappers/randomizations.py [0:0]


    def observation(self, observation):
        # update nonfrozen observations for all markers.
        if self._freeze_left <= 0:
            for k in self._keys:
                self._obs_buffer[k] = observation[k].copy()

        # update freeze_left
        self._freeze_left = max(self._freeze_left - 1, 0)
        does_freeze = self.unwrapped._random_state.random_sample() < self._disappear_p
        new_freeze_len = np.round(
            self.unwrapped._random_state.exponential(scale=self._freeze_scale_steps)
        )
        self._freeze_left = (
            1 - does_freeze
        ) * self._freeze_left + does_freeze * new_freeze_len

        new_observation = OrderedDict()
        for key in observation:
            new_observation[key] = (
                self._obs_buffer[key].copy() if key in self._keys else observation[key]
            )

        return new_observation