In recent years, new technologies in neuroscience have made it possible to measure the activities of large numbers of neurons simultaneously in behaving animals. For each neuron, a fluorescence trace is measured; this can be seen as a first-order approximation of the neuron's activity over time. Determining the exact time at which a neuron spikes on the basis of its fluorescence trace is an important open problem in the field of computational neuroscience.
Recently, a convex optimization problem involving an L1 penalty was proposed for this task. In this talk, we slightly modify that recent proposal by replacing the L1 penalty with an L0 penalty. In stark contrast to the conventional wisdom that L0 optimization problems are computationally intractable, we show that the resulting optimization problem can be efficiently solved for the global optimum using an efficient dynamic programming algorithm. Our proposal leads to excellent spike detection in simulations as well as on two calcium imaging data sets.