コード例 #1
0
def local_data_test():
    local_path = OverallAnalysis.folder_path_settings.get_local_test_recording_path()
    spatial_firing = pd.read_pickle(local_path + '/DataFrames/spatial_firing.pkl')
    position_data = pd.read_pickle(local_path + '/DataFrames/position.pkl')

    field_df = data_frame_utility.get_field_data_frame(spatial_firing, position_data)
    field_df = shuffle_field_data(field_df, local_path, number_of_bins=20, number_of_times_to_shuffle=1000)
    field_df = analyze_shuffled_data(field_df, local_path, 30, number_of_bins=20)
    field_df.to_pickle(local_path + 'shuffle_analysis/shuffled_fields.pkl')
コード例 #2
0
def main():
    """
    This is just here for testing.
    """

    path = '/DataFrames/'
    position_path = path + 'position.pkl'
    position = pd.read_pickle(position_path)
    spatial_firing_path = path + 'spatial_firing.pkl'
    spatial_firing = pd.read_pickle(spatial_firing_path)
    position = add_heading_direction_to_position_data_frame(position)
    # spatial_firing, position = add_heading_direction_to_spatial_firing_data_frame(spatial_firing, position)

    field_df = data_frame_utility.get_field_data_frame(spatial_firing, position)
    field_df, position = add_heading_direction_to_fields_frame(field_df, position)
コード例 #3
0
def get_shuffled_field_data(spatial_firing,
                            position_data,
                            shuffle_type='distributive',
                            sampling_rate_video=50):
    field_df = data_frame_utility.get_field_data_frame(spatial_firing,
                                                       position_data)
    field_df = OverallAnalysis.shuffle_field_analysis.add_rate_map_values_to_field_df_session(
        spatial_firing, field_df)
    field_df = OverallAnalysis.shuffle_field_analysis.shuffle_field_data(
        field_df,
        analysis_path,
        number_of_bins=20,
        number_of_times_to_shuffle=1000,
        shuffle_type=shuffle_type)
    field_df = OverallAnalysis.shuffle_field_analysis.analyze_shuffled_data(
        field_df,
        analysis_path,
        sampling_rate_video,
        number_of_bins=20,
        shuffle_type=shuffle_type)
    return field_df
コード例 #4
0
def process_recordings(server_path, sampling_rate_video, spike_sorter='/MountainSort', df_path='/DataFrames', redo_existing=True, shuffle_type='occupancy'):
    if os.path.exists(server_path):
        print('I see the server.')
    for recording_folder in glob.glob(server_path + '*'):
        if os.path.isdir(recording_folder):
            spike_data_frame_path = recording_folder + spike_sorter + df_path + '/spatial_firing.pkl'
            position_data_frame_path = recording_folder + spike_sorter + df_path + '/position.pkl'
            if shuffle_type == 'occupancy':
                shuffled_data_frame_path = recording_folder + spike_sorter + df_path + '/shuffled_fields.pkl'
            else:
                shuffled_data_frame_path = recording_folder + spike_sorter + df_path + '/shuffled_fields_distributive.pkl'
            if os.path.exists(spike_data_frame_path):
                print('I found a firing data frame.')
                if redo_existing is False:
                    if os.path.exists(shuffled_data_frame_path):
                        shuffled_data = pd.read_pickle(shuffled_data_frame_path)
                        if 'shuffled_hd_distribution' in shuffled_data:
                            print('This was shuffled earlier.')
                            print(recording_folder)
                            continue
                spatial_firing = pd.read_pickle(spike_data_frame_path)
                position_data = pd.read_pickle(position_data_frame_path)
                field_df = data_frame_utility.get_field_data_frame(spatial_firing, position_data)
                if not field_df.empty:
                    print(field_df.session_id)
                    if shuffle_type == 'distributive':
                        field_df = add_rate_map_values_to_field_df_session(spatial_firing, field_df)
                    field_df = shuffle_field_data(field_df, recording_folder + spike_sorter + '/', number_of_bins=20, number_of_times_to_shuffle=1000, shuffle_type=shuffle_type)
                    field_df = analyze_shuffled_data(field_df, recording_folder + spike_sorter + '/', sampling_rate_video, number_of_bins=20, shuffle_type=shuffle_type)
                    try:
                        if shuffle_type == 'occupancy':
                            field_df.to_pickle(recording_folder + spike_sorter + df_path + '/shuffled_fields.pkl')
                        else:
                            field_df.to_pickle(recording_folder + spike_sorter + df_path + '/shuffled_fields_distributive.pkl')

                        print('I finished analyzing ' + recording_folder)
                    except OSError as error:
                        print('ERROR I failed to analyze ' + recording_folder)
                        print(error)