====== Overview of common functions ====== ===== Utility functions ===== ==== Utility functions common to multiple data types ==== * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/util/restrict.m | restrict()]]: restricts times in data object (iv, ts, tsd) to specific intervals * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/util/getd.m | getd()]]: helper function to return data corresponding to label target_field ==== Utility functions associated with specific data types ==== === interval (iv) === [[https://github.com/vandermeerlab/vandermeerlab/tree/master/code-matlab/shared/datatypes/iv | iv folder on GitHub]] Basics: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/iv.m | iv()]]: constructor * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/CheckIV.m | CheckIV()]]: check integrity of iv struct * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/SelectIV.m | SelectIV()]]: specify intervals to keep Simple operations: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/ResizeIV.m | ResizeIV()]]: expand or contract intervals by specified amount * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/InvertIV.m | InvertIV()]]: "flips" included intervals to non-included, and vice versa * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/MergeIV.m | MergeIV()]]: merge touching, overlapping, or nearby intervals within an iv struct Set operations: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/UnionIV.m | UnionIV()]]: set union of iv objects * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/IntersectIV.m | IntersectIV()]]: set intersect, keep only those iv1's that include a piece of iv2 * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/DifferenceIV.m | DifferenceIV()]]: set difference, keep only those iv1's that DO NOT include a piece of iv2 Analysis operations: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/TSDfromIV.m | TSDtoIV()]]: create interval data from tsd by tresholding * MultiRaster(): see below Visualization: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/iv/PlotTSDfromIV.m | PlotTSDfromIV()]]: display intervals defined relative to tsd === timestamps (ts) === [[https://github.com/vandermeerlab/vandermeerlab/tree/master/code-matlab/shared/datatypes/ts|ts folder on GitHub]] Basics: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/ts/ts.m|ts()]] constructor * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/ts/CheckTS.m | CheckTS()]]: check integrity of ts struct * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/ts/SelectTS.m | SelectTS()]]: specify ts data to keep. (Also performs reordering) * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/ts/concatenateTS.m | concatenateTS()]]: concatenate two ts objects Analysis operations: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/ts/getSpikeCount.m | getSpikeCount()]]: returns spike counts (number of spikes) in a nCells x 1 vector of ts input * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/ts/ShuffleTS.m | ShuffleTS()]]: shuffle spikes in ts struct Visualization: * MultiRaster(): see below === timestamped data (tsd) === [[https://github.com/vandermeerlab/vandermeerlab/tree/master/code-matlab/shared/datatypes/tsd|tsd folder on GitHub]] Basics and selection: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/tsd.m | tsd()]]: constructor * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/CheckTSD.m|CheckTSD()]]: check integrity of tsd struct * getd(): get (raw) data with specified label * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/TSD_SelectChannel.m|TSD_SelectChannel()]]: returns tsd containing only channels with labels in channel_label Merging: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/MergeTSD.m|MergeTSD()]]: Merge data from multiple TSDs into a single, new TSD * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/UnionTSD.m|UnionTSD()]]: returns the union (merge) of two TSD inputs Analysis: * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/TSD_getidx2.m|TSD_getidx2()]]: returns idxs into ts or tsd, delimited by input interval(s) * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/TSDbyZ.m | TSDbyZ()]]: compute averages of the values in tsd_in binned by z's cfg.edge * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/datatypes/tsd/TSDbySpace.m |TSDbySpace()]]: construct 2D matrix with spatial averages of the values in tsd_in === tuning curve (tc) === ==== Low-level utility functions ==== * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/util/nearest_idx3.m | nearest_idx3()]]: return the indices of ''lookupvalues'' that are closest to the numbers in ''data'' * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/util/ndhist.m | ndhist()]]: fast N-dimensional histogram (useful for plotting place fields) ===== Visualization functions ===== * the amazing [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/viz/MultiRaster.m | MultiRaster]] ([[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/example_workflows/MultiRaster_usage.m|examples]]) * [[https://github.com/vandermeerlab/vandermeerlab/blob/master/code-matlab/shared/viz/scatterplotC.m | scatterplotC()]]: scatterplot with additional variable plotted as color, useful for plotting phase precession in space ===== Loading/converting functions ===== ===== Analysis functions =====