Skip to content

Python algorithms for autonomous step detection in 1D data

Notifications You must be signed in to change notification settings

ehoppmann/step-detect

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 

Repository files navigation

step-detect

Python algorithms for autonomous step detection in 1D data. Specifically designed for single molecule force spectroscopy, but applicable to any cases in which there are sudden steps in otherwise semi-stable data.

This module contains functions for transforming raw data into a signal that is suitable for step detection. In basic terms, this amounts to edge-preserving smoothing, though in practice the calculation of these methods is slightly more complex. Once the signal is obtained, a simple thresholding algorithm is applied to determine the positions of steps and their relative magnitudes.

The signal-generating functions follow two distinct methods:

  1. Multiscale product as described by Mallat and Zhong, and as implemented by Sadler and Swami.
  2. The t-statistic method of Carter and Cross.

The usage of this module is demonstrated in the supplied demo IPython notebook, which also provides comparision between the above two methods as well as convolution with a derivative-of-Gaussian wavelet (a simpler but less robust method for step detection).

About

Python algorithms for autonomous step detection in 1D data

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jupyter Notebook 100.0%