22import pandas as pd
33import numpy as np
44from scipy .signal import medfilt
5+ from .extract import get_end_time
56from ...utilities import calc_deriv , rad_to_dist , local_time
67
78warnings .warn (
@@ -83,13 +84,23 @@ def load_metadata(data):
8384
8485
8586 metadata ['auto_reward_vol' ] = 0.05 # hard coded
86- metadata ['max_session_duration' ] = None
87- metadata ['min_no_lick_time' ] = data .get ('minimum_no_lick_time' , None )
88- metadata ['free_reward_trials' ] = data .get ('warm_up_trials' , None )
89- metadata ['abort_on_early_response' ] = data .get ('ignore_false_alarms' , False ) == False
90- metadata ['even_sampling_enabled' ] = data .get ('image_category_sampling_mode' ,'' ) == 'even_sampling'
91- metadata ['failure_repeats' ] = data .get ('max_number_trial_repeats' , None )
87+ metadata ['max_session_duration' ] = 60.0 # hard coded
88+ metadata ['min_no_lick_time' ] = data ['minimum_no_lick_time' ]
89+ metadata ['abort_on_early_response' ] = data ['ignore_false_alarms' ] == False
90+ metadata ['even_sampling_enabled' ] = data ['image_category_sampling_mode' ] == 'even_sampling'
91+ metadata ['failure_repeats' ] = data ['max_number_trial_repeats' ]
92+ metadata ['catch_frequency' ] = data ['catch_frequency' ]
93+ metadata ['volume_limit' ] = data ['volumelimit' ]
94+ metadata ['initial_blank_duration' ] = data ['initial_blank' ]
95+ metadata ['warm_up_trials' ] = data ['warmup_trials' ]
96+ metadata ['stimulus_window' ] = data ['trial_duration' ] - data ['delta_minimum' ]
97+
98+ block_length = data ['lick_detect_training_block_length' ]
9299
100+ try :
101+ metadata ['free_reward_trials' ] = block_length [0 ]
102+ except TypeError :
103+ metadata ['free_reward_trials' ] = block_length
93104
94105 return metadata
95106
@@ -107,6 +118,9 @@ def load_trials(data, time=None):
107118
108119 """
109120
121+ if time is None :
122+ time = load_time (data )
123+
110124 columns = (
111125 'auto_rewarded' ,
112126 'change_contrast' ,
@@ -185,7 +199,10 @@ def stringify(x):
185199
186200 # add endframe column as startframe of last frame. Last endframe is last frame of session
187201 trials ['endframe' ] = trials ['startframe' ].shift (periods = - 1 )
188- trials .at [trials .index [- 1 ], 'endframe' ] = len (load_time (data )) - 1
202+ trials .at [trials .index [- 1 ], 'endframe' ] = len (time ) - 1
203+
204+ trials ['endtime' ] = get_end_time (trials , time )
205+ trials ['trial_length' ] = trials ['endtime' ] - trials ['starttime' ]
189206
190207 return trials
191208
0 commit comments