Source code for allensdk.brain_observatory.behavior.rewards_processing

import pandas as pd
from collections import defaultdict


[docs]def get_rewards(data, stimulus_rebase_function): trial_df = pd.DataFrame(data["items"]["behavior"]['trial_log']) rewards_dict = {'volume': [], 'timestamps': [], 'autorewarded': []} for idx, trial in trial_df.iterrows(): rewards = trial["rewards"] # as i write this there can only ever be one reward per trial if rewards: rewards_dict["volume"].append(rewards[0][0]) rewards_dict["timestamps"].append(stimulus_rebase_function(rewards[0][1])) rewards_dict["autorewarded"].append('auto_rewarded' in trial['trial_params']) df = pd.DataFrame(rewards_dict).set_index('timestamps', drop=True) return df