Ejemplo n.º 1
0
def test_get_rewards():
    data = {
        "items": {
            "behavior": {
                "trial_log": [
                    {
                        'rewards': [(0.007, 1085.96, 64775)],
                        'trial_params': {
                            'catch': False, 'auto_reward': False,
                            'change_time': 5}},
                    {
                        'rewards': [(0.007, 1090.01, 64780)],
                        'trial_params': {
                            'catch': False, 'auto_reward': True,
                            'change_time': 6}},
                    {
                        'rewards': [],
                        'trial_params': {
                            'catch': False, 'auto_reward': False,
                            'change_time': 4},
                    },
                    ]
                }}}
    expected = pd.DataFrame(
        {"volume": [0.007, 0.007],
         "timestamps": [1086.96, 1091.01],
         "autorewarded": [False, True]}).set_index("timestamps", drop=True)

    pd.testing.assert_frame_equal(expected, get_rewards(data, lambda x: x+1.0))
Ejemplo n.º 2
0
def test_get_rewards():
    data = {
        "items": {
            "behavior": {
                "trial_log": [
                    {
                        'rewards': [(0.007, 1085.96, 55)],
                        'trial_params': {
                            'catch': False, 'auto_reward': False,
                            'change_time': 5}},
                    {
                        'rewards': [(0.008, 1090.01, 66)],
                        'trial_params': {
                            'catch': False, 'auto_reward': True,
                            'change_time': 6}},
                    {
                        'rewards': [],
                        'trial_params': {
                            'catch': False, 'auto_reward': False,
                            'change_time': 4},
                    },
                    ]
                }}}
    expected = pd.DataFrame(
        {"volume": [0.007, 0.008],
         "timestamps": [14.0, 15.0],
         "autorewarded": [False, True]})

    timesteps = -1*np.ones(100, dtype=float)
    timesteps[55] = 14.0
    timesteps[66] = 15.0
    pd.testing.assert_frame_equal(expected, get_rewards(data, timesteps))
Ejemplo n.º 3
0
    def get_rewards(self) -> pd.DataFrame:
        """Get reward data from pkl file, based on pkl file timestamps
        (not sync file).

        :returns: pd.DataFrame -- A dataframe containing timestamps of
            delivered rewards.
        """
        data = self._behavior_stimulus_file()
        # No sync timestamps to rebase on, so pass dummy rebase function
        return get_rewards(data, lambda x: x)
Ejemplo n.º 4
0
    def get_rewards(self) -> pd.DataFrame:
        """Get reward data from pkl file, based on pkl file timestamps
        (not sync file).

        :returns: pd.DataFrame -- A dataframe containing timestamps of
            delivered rewards.
        """
        data = self._behavior_stimulus_file()
        timestamps = self.get_stimulus_timestamps()
        return get_rewards(data, timestamps)
Ejemplo n.º 5
0
    def get_rewards(self) -> pd.DataFrame:
        """Get reward data from pkl file, based on pkl file timestamps
        (not sync file).

        :returns: pd.DataFrame -- A dataframe containing timestamps of
            delivered rewards.
        """
        data = self._behavior_stimulus_file()
        offset = frame_time_offset(data)
        # No sync timestamps to rebase on, but do need to align to
        # trial events, so add the offset as the "rebase" function
        return get_rewards(data, lambda x: x + offset)
Ejemplo n.º 6
0
 def get_rewards(self):
     data = self._behavior_stimulus_file()
     timestamps = self.get_stimulus_timestamps()
     return get_rewards(data, timestamps)
Ejemplo n.º 7
0
 def get_rewards(self):
     behavior_stimulus_file = self.get_behavior_stimulus_file()
     data = pd.read_pickle(behavior_stimulus_file)
     rebase_function = self.get_stimulus_rebase_function()
     return get_rewards(data, rebase_function)