Пример #1
0
def run_single_file_for_multi_process(params):

    file_path, file_ind, total_file_num, t0 = params

    print('{:6.1f} min; {} / {}; {}: regenerating strf ...'.format(
        (time.time() - t0) / 60., file_ind + 1, total_file_num, file_path))

    nwb_f = nt.RecordedFile(file_path)
    lsn_name = '001_LocallySparseNoiseRetinotopicMapping'
    if dt.get_strf_grp_key(nwb_f.file_pointer) is None:
        if lsn_name in nwb_f.file_pointer['analysis/photodiode_onsets']:
            nwb_f.get_spatial_temporal_receptive_field_retinotopic_mapping(
                stim_name=lsn_name, time_window=strf_t_win, verbose=False)

    dgc_name = '003_DriftingGratingCircleRetinotopicMapping'
    if dt.get_dgcrm_grp_key(nwb_f.file_pointer) is None:
        if dgc_name in nwb_f.file_pointer['analysis/photodiode_onsets']:
            nwb_f.get_drifting_grating_response_table_retinotopic_mapping(
                stim_name=dgc_name, time_window=dgc_t_win)

    dgc_name = '001_DriftingGratingCircleRetinotopicMapping'
    if dt.get_dgcrm_grp_key(nwb_f.file_pointer) is None:
        if dgc_name in nwb_f.file_pointer['analysis/photodiode_onsets']:
            nwb_f.get_drifting_grating_response_table_retinotopic_mapping(
                stim_name=dgc_name, time_window=dgc_t_win)

    nwb_f.close()
import os
import retinotopic_mapping.DisplayLogAnalysis as dla
import corticalmapping.NwbTools as nt

curr_folder = os.path.dirname(os.path.realpath(__file__))
os.chdir(curr_folder)

nwb_fn = [f for f in os.listdir(curr_folder) if f[-4:] == '.nwb'][0]
nwb_f = nt.RecordedFile(nwb_fn)

stim_pkl_fn = [f for f in os.listdir(curr_folder) if f[-4:] == '.pkl'][0]
stim_log = dla.DisplayLogAnalyzer(stim_pkl_fn)

nwb_f.add_visual_display_log_retinotopic_mapping(stim_log=stim_log)
nwb_f.close()
curr_folder = os.path.dirname(os.path.realpath(__file__))
os.chdir(curr_folder)

notebook_path = os.path.join(curr_folder, 'notebook.txt')
with open(notebook_path, 'r') as ff:
    notes = ff.read()

general = nt.DEFAULT_GENERAL
general['experimenter'] = experimenter
general['subject']['subject_id'] = mouse_id
general['subject']['genotype'] = genotype
general['subject']['sex'] = sex
general['subject']['age'] = age
general['optophysiology'].update({'imaging_plane_1': {}})
general['optophysiology']['imaging_plane_1'].update({'indicator': indicator})
general['optophysiology']['imaging_plane_1'].update({'imaging_rate': imaging_rate})
general['optophysiology']['imaging_plane_1'].update({'imaging_depth': imaging_depth})
general['optophysiology']['imaging_plane_1'].update({'location': imaging_location})
general['optophysiology']['imaging_plane_1'].update({'device': imaging_device})
general['optophysiology']['imaging_plane_1'].update({'excitation_lambda': imaging_excitation_lambda})
general['notes'] = notes

file_name = date_recorded + '_M' + mouse_id + '_' + sess_num + '.nwb'

rf = nt.RecordedFile(os.path.join(curr_folder, file_name), identifier=file_name[:-4], description='')
rf.add_general(general=general)
rf.close()