The hardware and bandwidth for this mirror is donated by METANET, the Webhosting and Full Service-Cloud Provider.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]metanet.ch.
This package implements an algorithm for deconvolving calcium imaging data for a single neuron in order to estimate the times at which the neuron spikes.
This algorithm solves the optimization problems ### AR(1) model minimize_{c1,…,cT} 0.5 sum_{t=1}^T ( y_t - c_t )^2 + lambda sum_{t=2}^T 1_{c_t neq gamma c_{t-1} }
for the global optimum, where y_t is the observed fluorescence at the tth timepoint. We also solve the above problem with the constraint that c_t >= 0 (hardThreshold = T).
minimize_{c1,…,cT,b1,…,bT} 0.5 sum_{t=1}^T (y_t - c_t - b_t)^2 + lambda sum_{t=2}^T 1_{c_t neq gamma c_{t-1}, b_t neq b_{t-1} }
where the indicator variable 1_{(A,B)} equals 1 if the event A cup B holds, and equals zero otherwise.
In R, if devtools
is installed type
::install_github("jewellsean/LZeroSpikeInference") devtools
Once installed type
library(LZeroSpikeInference)
?LZeroSpikeInference
This package can be called from Python using the py2 package. To install LZeroSpikeInference and rpy2 for use in Python first
apt-get install r-base
)and then from within R install this package (as above). Then pip install rpy2
The following example illustrates use of the LZeroSpikeInference package from python
from numpy import array
import rpy2.robjects.packages
= rpy2.robjects.packages.importr("LZeroSpikeInference")
lzsi = lzsi.simulateAR1(n = 500, gam = 0.998, poisMean = 0.009, sd = 0.15, seed = 8)
d = lzsi.estimateSpikes(d[1], **{'gam':0.998, 'lambda':8, 'type':"ar1"})
fit = array(fit[0])
spikes = array(fit[1]) fittedValues
Thanks to Luke Campagnola for suggesting this approach!
See Jewell and Witten, Exact Spike Train Inference Via L0 Optimization (2017)
These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.