NeuroAnalysis - Neural Signal Analysis

API Reference

Base.range — Method

Generates linearly interpolated colors between key colors inclusively.

return an Array of colors.

source
NeuroAnalysis.cas — Method

2D cas function defined as $cas(x+y) = cos(x+y) + sin(x+y)$

  • kx: Frequency in cycle/unit_x
  • ky: Frequency in cycle/unit_y
  • phase: Phase of a cycle in [0, 1] scale
  • isnorm: scale cas in [-√2, √2] to [-1, 1]
source
NeuroAnalysis.cas — Method

cas function defined as $cas(x) = cos(x) + sin(x)$

  • f: Frequency in cycle/unit_x
  • phase: Phase of a cycle in [0, 1] scale
  • isnorm: scale cas in [-√2, √2] to [-1, 1]
source
NeuroAnalysis.circr — Function

Mean Resultant Vector Length for circular data α: sample of angles in radians w: number of incidences in case of binned angle data d: spacing of bin centers for binned data, if supplied correction factor is used to correct for bias

source
NeuroAnalysis.circtuningfeature — Method

Properties of Circular Tuning: - Prefered Direction/Orientation - Selectivity Index - version 1: (ResponsePrefered - ResponseOpposing)/ResponsePrefered - version 2: (ResponsePrefered - ResponseOpposing)/(ResponsePrefered + ResponseOpposing) - Full Width at Half Maximum

  1. x: angles in radius
  2. y: responses
  • od: opposing angle distance, π for DSI, 0.5π for OSI
  • fn: factor name
source
NeuroAnalysis.condresponse — Method

Group repeats of Conditions, get Mean and SEM of responses

  1. rs: responses of each trial
  2. ci: trial indices of repeats for each condition
source
NeuroAnalysis.correlogram — Method

Shift(shuffle) corrected, normalized(coincidence/spike), condition/trial-averaged Cross-Correlogram of binary spike trains. (Bair, W., Zohary, E., and Newsome, W.T. (2001). Correlated Firing in Macaque Visual Area MT: Time Scales and Relationship to Behavior. J. Neurosci. 21, 1676–1697.)

source
NeuroAnalysis.csd — Method

1D Current Source Density for a set of voltage traces from a linear array of electrodes.

  1. data: ch x sample or ch x sample x epoch(volts)
  • method:

CSD: finite difference method of second spatial derivatives of potentials, I = - ∇σ⋅∇ϕ, σ is conductivities, ϕ is potentials, on the continuous assumption when spacing is around 20-100 um. (Nicholson & Freeman, 1975, J Neurophysiol, 38(2): 356-68)

iCSD: solve I -> ϕ forward problem, then get the inverse transformation matrix. (Petterson et al., 2006, J Neurosci Methods, 154(1-2):116-33)

  iCSDdelta: δ method where infinitely thin current source discs of radius r.
  iCSDspline: cubic spline method where current source between electrode be modeled by smooth spline

kCSD: kernal CSD ()

  • h: channel spacing(micrometers)

  • c: conductivity of the extracellular medium in siemans/meter

  • r: radius(micrometers) of the model current source/sink in reverse method

  • return: CSD(amps/meters^3)

source
NeuroAnalysis.csd_cubicspline — Function

cubic spline inverse CSD

contact_positions: contact positions data: measured potentials Fcs: cubic spline transformation matrix corresponding to the given contact positions E0,E1,E2,E3: matrixes containing the "recursive rules"

source
NeuroAnalysis.dirsigtest — Method

Direction tuning significance using dot product with empirical orientation preference This function calculates the probability that the "true" direction tuning vector of a neuron has non-zero length. It performs this by empirically determing the unit orientation vector, and then computing the dot product of the direction vector for each trial onto the overall orientation vector, and then looking to see if the average is non-zero.

Inputs: ANGLES is a vector of direction angles at which the response has been measured. RATES is the response of the neuron in to each angle; each row should contain responses from a different trial. Output: P the probability that the "true" direction tuning vector is non-zero.

See: Mazurek, Kagan, Van Hooser 2014; Frontiers in Neural Circuits

source
NeuroAnalysis.dropmatdim! — Method

Drop array dims according to MATLAB convention.

  • scalar: scalar instead of 1x1 array
  • rvector: vector instead of 1xN array
  • cvector: vector instead of Nx1 array
source
NeuroAnalysis.e_matrixes — Method

Computes the E0, E1, E2 and E3 matrixes used in the cubic spline iCSD method. These matrixes contains the recursive formulas for finding the F matrix

source
NeuroAnalysis.epochsamplenp — Method

Epochs of Neuropixels Channel Sample x, optionally gain corrected(voltage), line noise(60,120,180Hz) removed and bandpass filtered

source
NeuroAnalysis.epochspiketrain — Method

Epoch of a Spike Train x, where min <= x[i] < max.

kwargs isminzero, ismaxzero and shift set epoch zero value to min+shift or max+shift.

return:

  • y: epoch of the Spike Train
  • n: number of elements in the epoch, or divided by duration(max-min) of the epoch, based on kwargs israte
  • w: epoch window(min,max)
  • i: indices of epoch elements in the original Spike Train, such that y = x[i]

See also: epochspiketrains, epochspiketrainresponse

source
NeuroAnalysis.f1orisf — Method

Estimate the F1 Ori and SpatialFreq of an image from its 2D powerspectrum.

  1. x: 2D powerspectrum
  2. freqd1: frequencies of dim 1
  3. freqd2: frequencies of dim 2

return:

  • ori: Orientation in radius, 0 is -, increase counter-clock wise
  • sf: SpatialFreq along the line perpendicular to ori
source
NeuroAnalysis.factorresponsefeature — Method

Tuning properties of factor response

  1. fl: factor levels

  2. fr: factor responses

    HueAngle, Orientation and Direction follow the same convention such that 0 is -/→, then increase counter-clock wise.

    For cases where Orientation and Direction are interlocked(drifting grating): - when Orientation is -(0), then Direction is ↑(90) - when Direction is →(0), then Orientation is |(-90)

source
NeuroAnalysis.gaincorrectnp — Method

Convert raw Neuropixels data to gain-corrected voltages. The saved-channel id subset in data will be used to get corresponding gain.

The full conversion with gain is:

$dataVolts = dataInt * fi2v / gain$

Note that each channel may have its own gain.

  1. y: the saved data stream, excluding the last Sync channel.
  2. meta: corresponding meta for y
source
NeuroAnalysis.grating — Method

Generate Grating Image, match the implementation in Experica grating shader.

  • θ: Orientation (radius), 0 is -, increase counter-clock wise
  • sf: SpatialFreq (cycle/deg)
  • tf: TemporalFreq (cycle/sec)
  • t: Time (second)
  • phase: Phase of a cycle in [0, 1] scale
  • size: Tuple of image size in degree
  • ppd: pixel per degree
  • isnorm: return image in [0, 1] or [-1, 1]
source
NeuroAnalysis.gratingf — Method

2D sin grating function

  • θ: Orientation in radius, 0 is -, increase counter-clock wise
  • f: Frequency in cycle/unit_x/y
  • phase: Phase of a cycle in [0, 1] scale
source
NeuroAnalysis.gvmf — Method

Generalized von Mises function [1]

\[f(α) = βe^{κ₁(cos(α - μ₁) - 1) + κ₂(cos2(α - μ₂) - 1)}\]

[1]

Gatto, R., and Jammalamadaka, S.R. (2007). The generalized von Mises distribution. Statistical Methodology 4, 341–353.

source
NeuroAnalysis.hartley — Method

Generate gratings in Hartley space (PL)

  • kx, ky: wavenumber along x, y axis
  • bw: black and white (phase) flip
  • stisize: stimulus size in visual angle (degree); note that sz[1]=sz[2]

if norm=true,Return image in [0,1], otherwise return image in [-1,1]

source
NeuroAnalysis.hartleysubspace — Method

Generate Hartley Subspace, where k is frequency in cycle/unit_x/y. [1]

  • kbegin: k >= kbegin
  • kend: k <= kend
  • dk: Δk, step on k axis
  • phase: phase in [0, 1] scale, default 0.
  • shape: :square or :circle shape subspace
  • addhalfcycle: add half cycle shifted hartleys
  • blank: the element of hartley as blank, default uniform gray.
  • nblank: number of blanks to add

[1]

Ringach, D.L., Sapiro, G., and Shapley, R. (1997). A subspace reverse-correlation technique for the study of visual neurons. Vision Research 37, 2455–2464.

source
NeuroAnalysis.hotellingt2test — Function

Hotelling's T-Squared test for one multivariate sample.

Performs Hotelling's T^2 test on multivariate samples X to determine if the data have mean MU. X should be a NxP matrix with N observations of P-dimensional data, and the mean MU to be tested should be 1xP. the significance level α is 0.05 by default.

H is 1 if the null hypothesis (that the mean of X is equal to MU) can be rejected at significance level α. P is the actual P value.

The code is based on HotellingT2.m by A. Trujillo-Ortiz and R. Hernandez-Walls.

source
NeuroAnalysis.readmat — Method

Read variables of a MATLAB MAT file into a Dictionary

  1. f: MAT file path
  2. vars: variable names in the varset to read
  • varset: variable names to select in vars
  • scalar: scalar instead of 1x1 matrix
  • rvector: vector instead of 1xN matrix
  • cvector: vector instead of Nx1 matrix
source
NeuroAnalysis.roccurve — Method

This function calculates the ROC curve, which represents the 1-specificity and sensitivity of two classes of data, (i.e., class1 and class2).

The function also returns all the needed quantitative parameters: threshold position, distance to the optimum point, sensitivity, specificity, accuracy, area under curve (AROC), positive and negative predicted values (PPV, NPV), false negative and positive rates (FNR, FPR), false discovery rate (FDR), false omission rate (FOR), F1 score, Matthews correlation coefficient (MCC), Informedness (BM) and Markedness; as well as the number of true positives (TP), true negatives (TN), false positives (FP), and false negatives (FN).

Rewrite from Víctor Martínez-Cagigal (2020). ROC Curve, MATLAB Central File Exchange. Retrieved February 11, 2020.

source
NeuroAnalysis.sta — Method

Spike Triggered Average of Images

  1. x: Matrix where each row is one image
  2. y: Vector of image response
  • norm: normalization factor, default no normalization. it could be $sum(y)$ if y is number of spike or spike rate, then STA would be spiking probability.
  • whiten: whiten factor, default no whiten. it could be $(xᵀx)⁻¹$ or inverse of covariance matrix, that decorrelate STA.
source
NeuroAnalysis.vmf — Method

von Mises function [1]

\[f(α) = βe^{κ(cos(n(α - μ)) - 1)}\]

[1]

Swindale, N.V. (1998). Orientation tuning curves: empirical description and estimation of parameters. Biol Cybern 78, 45–56.

  • β: amplitude at μ
  • μ: angle of peak
  • κ: width parameter
  • n: frequency parameter
source

Index