Esempio n. 1
0
    variables_motor['LickPort_RostroCaudal_pos'] = 0
    print('protracting zaber motor to avoid watering the camera below..')

variables_subject['motor_forwardposition'] = variables_motor[
    'LickPort_RostroCaudal_pos']
variables_subject['motor_retractedposition'] = variables_motor[
    'LickPort_RostroCaudal_pos'] + variables_subject['motor_retractiondistance']
#generate json files

with open(setupfile, 'w') as outfile:
    json.dump(variables_setup, outfile)
with open(subjectfile, 'w') as outfile:
    json.dump(variables_subject, outfile)
print('json files (re)generated')

my_bpod.softcode_handler_function = my_softcode_handler  # Assign the SoftCode function

variables = variables_subject.copy()
variables.update(variables_setup)
print('Variables:', variables)

#print('subjectname for testing:',my_bpod.session.INFO_SUBJECT_NAME)

# ============== Final preparations ==============
# ----> Start the task
ignore_trial_num_in_a_row = 0
if variables['accumulate_reward']:  # Always get a reward on the first trial
    reward_L_accumulated = True
    reward_R_accumulated = True
    if lickportnum == 3:
        reward_M_accumulated = True
Esempio n. 2
0
            display_stim_event.set()
            print("present stimulus")
        elif data == settings_obj.SC_START_OPEN_LOOP:
            stimulus_game.stop_closed_loop_before()
            print("start open loop")
        elif data == settings_obj.SC_STOP_OPEN_LOOP:
            stimulus_game.stop_open_loop()
            print("stop open loop")
        elif data == settings_obj.SC_END_PRESENT_STIM:
            stimulus_game.stop_closed_loop_after()
            still_show_event.set()
            print("end present stim")
        elif data == 9:
            print("wheel not stopping")

    bpod.softcode_handler_function = softcode_handler

    #probability constructor
    probability_obj = ProbabilityConstuctor(settings_obj)

    #stimulus
    # failsave for stimulus file
    stimulus_game = Stimulus(settings_obj, rotary_encoder_module,
                             probability_obj.stim_side_dict)
    sides_li = []
    # times
    times_punish_li = []
    # list of toples (bool insist mode active, insist mode side)
    insist_mode_li = []
    # active rule list
    active_rule_li = []
Esempio n. 3
0
                        'LickPort_RostroCaudal_pos': pos_Forward_Backward,
                    }
                    return variables_motor
                    break
            except zaber_serial.binaryserial.serial.SerialException:
                print('can' 't access Zaber ' + str(zabertry_i))
                time.sleep(.01)


variables_motor = read_motor_position(variables['comport_motor'])
variables['motor_forwardposition'] = variables_motor[
    'LickPort_RostroCaudal_pos']
variables['motor_retractedposition'] = variables_motor[
    'LickPort_RostroCaudal_pos'] + variables['motor_retractiondistance']

my_bpod.softcode_handler_function = my_softcode_handler

print('Variables:', variables)

#print('subjectname for testing:',my_bpod.session.INFO_SUBJECT_NAME)
# ----> Start the task
ignore_trial_num_in_a_row = 0
for blocki, (p_R, p_L) in enumerate(
        zip(variables['reward_probabilities_R'],
            variables['reward_probabilities_L'])):
    rewarded_trial_num = 0
    unrewarded_trial_num_in_a_row = 0

    triali = -1
    #for triali in range(variables['Trialnumber_in_block']):  # Main loop
    trialnum_now = np.random.normal(variables['Trialnumber_in_block'],