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')
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)
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
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)