@@ -511,8 +511,14 @@ def sync_timestamps(daq_data, fp_data, trials):
511511 mask = state .isin (CHANNELS ['L470' ])
512512 if ttl_interval == 40 :
513513 frame_number = fp_data ['FrameCounter' ][mask ]
514+ elif ttl_interval == 20 :
515+ frame_number = fp_data ['FrameCounter' ][mask ]
514516 elif ttl_interval == 10 :
515517 frame_number = fp_data ['FrameCounter' ]
518+ elif ttl_interval == 25 :
519+ frame_number = fp_data ['FrameCounter' ]
520+ elif ttl_interval == 50 :
521+ frame_number = fp_data ['FrameCounter' ][mask ]
516522
517523 ttl_diff = np .diff (daq_data .loc [daq_data ['photometry_ttl' ] == 1 ].index )
518524 while ttl_diff .max () > ttl_interval * 3 :
@@ -531,16 +537,23 @@ def sync_timestamps(daq_data, fp_data, trials):
531537 daq_data .loc [np .where (daq_data ['bpod' ].diff () == - 1 )[0 ], 'ttl_off' ] = 1
532538 daq_data .loc [np .where (daq_data ['bpod' ].diff () == 1 )[0 ], 'ttl_duration' ] = \
533539 daq_data .loc [daq_data ['ttl_off' ] == 1 ].index - daq_data .loc [daq_data ['ttl_on' ] == 1 ].index
534- # Valve and error tones have pulses > 100
535- daq_data .loc [daq_data ['ttl_duration' ] > 100 , 'feedback_times' ] = 1
540+ # Valve and error tones have pulses > 105
541+ daq_data .loc [daq_data ['ttl_duration' ] > 105 , 'feedback_times' ] = 1
536542
537543 n_daq_trials = (daq_data ['feedback_times' ] == 1 ).sum ()
538544 if n_daq_trials == trials ['feedback_times' ].size :
539545 daq_data .loc [daq_data ['feedback_times' ] == 1 , 'bpod_times' ] = trials ['feedback_times' ]
540546 elif n_daq_trials - trials ['feedback_times' ].size == 1 :
541547 daq_data .loc [daq_data ['feedback_times' ] == 1 , 'bpod_times' ] = np .r_ [trials ['feedback_times' ], np .nan ]
542548 else :
543- assert n_daq_trials == trials ['feedback_times' ].size , "Trials don't match up"
549+ trial_diff = n_daq_trials - trials ['feedback_times' ].size
550+ nan_trials = np .where (trials .choice == 0 )[0 ]
551+ if len (nan_trials ) == - 1 * trial_diff :
552+ feedback_times = np .delete (trials ['feedback_times' ], nan_trials )
553+ assert len (feedback_times ) == n_daq_trials , "Trials don't match up"
554+ daq_data .loc [daq_data ['feedback_times' ] == 1 , 'bpod_times' ] = feedback_times
555+ else :
556+ assert n_daq_trials == trials ['feedback_times' ].size , "Trials don't match up"
544557
545558 daq_data ['bpod_times' ].interpolate (inplace = True )
546559 # Set values after last pulse to nan
0 commit comments