-
Notifications
You must be signed in to change notification settings - Fork 2
Data Analysis
After the full post processing pipeline is executed, any number of analysis scripts from the list below can be called.
#Data Analysis Scripts Below is a list of analysis functions and a brief overview. For detailed information and the full specification see the individual function's documentation.
###PPUtilities Common utilities used by multiple scripts.
- rdir: returns a list of files or directories (supports arbitrary file matching - ex: rdir([pwd, '*']);
- load_jstructs: returns a cell array of jstruct structures from a list of directories of processed data.
- load_stats: returns a struct array of stats structures from a list of directories of processed data.
-
extract_contingency_info: returns the contingency values for a specific directory day, assuming that directory is in the format
root\<date>_<contingency>\<date> - sort_traj_into_bins: sorts trajectories from a stats.traj_struct field into bins, and can be used to filter trajectories by defining a 2 element bin.
- draw_heat_map: draws a heat map, supporting options for logarithmic mapping and color percentiles.
- hist2d: computes a 2d histogram from 2 dimensional data.
- multiday_pcolor_template: a template for plotting progress in two dimensional data over time.
###SensorDistributions This group of scripts displays/generates data for various sensor onset/offset distributions.
Dependencies: requires jstruct, stats struct to be saved in directory
- gaps: plots the distribution of the duration a sensor was on
- np_js_distribution: plots the nosepoke joystick onset distribution
- np_post_distribution: plots the nosepoke post touch onset distribution
- multipcolor_np_js: generates a pcolor plot of a single mouse's progress in the nosepoke joystick onset distribution for all days with data.
- multipcolor_np_post: generates a pcolor plot of a single mouse's progress in the nosepoke post onset distribution for all days the mouse.
###ActivityDistributions This group of plots performs various heat maps of velocity/acceleration/position profiles.
Dependencies: requires stats, velaccel, and velaccelraw structs to be saved in directory (generated by xy_getstats and compute_vel_accel_distr):
- multiday_video: generates a video showing the progression of the activity heat map for multiple days
- activity_summary_heat_maps: performs all of the analysis listed below on a single figure
- activity_heat_map: heat map of joystick position during valid trajectories
- velocity_heat_map: heat map of trajectory velocities using median
- velocityvar_heat_map: heat map of trajectory velocity variation using difference between 75th and 25th percentiles for each cell.
- accel_heat_map: heat map of trajectory acceleration at each point in (x,y) space using median measure
- accelvar_heat_map: heat map of trajectory acceleration variation at each point in (x,y) space using difference between 75th and 25th percentiles
- accelnorm_heat_map: heat map of the normal component of acceleration at each point in (x,y) space
- accelang_heat_map: heat map of the angular component of acceleration at each point in (x, y) space
- get_vel_accel_distr: loads information required for the above distributions/plots assuming that they have been saved to appropriate directories (data only). also combines data when appropriate rather than compute from scratch.
- compute_vel_accel_distr: computes all information required for the above distributions/plots (data only) - can be very slow. does it separately for each day.
###Trajectory Analysis Dependencies: requires stats structs to be saved in directories:
- trajectory_analysis: bins trajectories by hold time and then computes percentiles of trajectory distance at each time point
- multi_trajectory_analysis: calls trajectory_analysis of magnitude of several days on one set of plots
###Time Distributions Dependencies: requires stats structs to be saved in directories (future edits may change this to improve efficiency, requiring a separate struct containing raw data instead)
- hold_time_distr: plots distribution of hold times using js onset to js offset as measure of hold times
- rewarded_time_distr: plots distribution of rewarded hold times
- rewardrate_distr: plots distribution of reward rate by time interval
- joystick_to_reward_distr: plots distribution of joystick touch onset to reward distribution
#Post Processing GUI The post processing GUI (pp_gui) is a tool to visualize multiple plots and perform data analysis. It allows selection of multiple different days and allows selection of any combination of plots. The process for making a new function and adding support for it to the GUI is described on the page Guidelines for New Analysis Scripts