helpFunctionsFilter | R Documentation |
Creates piecewise constant signals with a single jump / peak. Computes the convolution of piecewise constant signals with the kernel of a lowpass filter.
getConvolution(t, stepfun, filter, truncated = TRUE) getSignalJump(t, cp, leftValue, rightValue) getConvolutionJump(t, cp, leftValue, rightValue, filter, truncated = TRUE) getSignalPeak(t, cp1, cp2, value, leftValue, rightValue) getConvolutionPeak(t, cp1, cp2, value, leftValue, rightValue, filter, truncated = TRUE)
t |
a numeric vector giving the time points at which the signal / convolution should be computed |
stepfun |
specification of the piecewise constant signal, i.e. a |
cp, cp1, cp2 |
a single numeric giving the location of the single, first and second jump point, respectively |
value, leftValue, rightValue |
a single numeric giving the function value at, before and after the peak / jump, respectively |
filter |
an object of class |
truncated |
a single logical (not NA) indicating whether the signal should be convolved with the truncated or the untruncated filter kernel |
a numeric of length length(t)
giving the signal / convolution at time points t
Pein, F., Bartsch, A., Steinem, C., and Munk, A. (2020) Heterogeneous idealization of ion channel recordings - Open channel noise. Submitted.
Pein, F., Tecuapetla-Gómez, I., Schütte, O., Steinem, C., Munk, A. (2018) Fully-automatic multiresolution idealization for filtered ion channel recordings: flickering event detection. IEEE Trans. Nanobioscience, 17(3):300-320.
Pein, F. (2017) Heterogeneous Multiscale Change-Point Inference and its Application to Ion Channel Recordings. PhD thesis, Georg-August-Universität Göttingen. http://hdl.handle.net/11858/00-1735-0000-002E-E34A-7.
lowpassFilter
# creating and plotting a signal with a single jump at 0 from 0 to 1 time <- seq(-2, 13, 0.01) signal <- getSignalJump(time, 0, 0, 1) plot(time, signal, type = "l") # setting up the filter filter <- lowpassFilter(param = list(pole = 4, cutoff = 0.1)) # convolution with the truncated filter convolution <- getConvolutionJump(time, 0, 0, 1, filter) lines(time, convolution, col = "red") # without truncating the filter, looks almost equal convolution <- getConvolutionJump(time, 0, 0, 1, filter, truncated = FALSE) lines(time, convolution, col = "blue") # creating and plotting a signal with a single peak with jumps # at 0 and at 3 from 0 to 1 to 0 time <- seq(-2, 16, 0.01) signal <- getSignalPeak(time, 0, 3, 1, 0, 0) plot(time, signal, type = "l") # convolution with the truncated filter convolution <- getConvolutionPeak(time, 0, 3, 1, 0, 0, filter) lines(time, convolution, col = "red") # without truncating the filter, looks almost equal convolution <- getConvolutionPeak(time, 0, 3, 1, 0, 0, filter, truncated = FALSE) lines(time, convolution, col = "blue") # doing the same with getConvolution # signal can also be an object of class stepblock instead, # e.g. constructed by stepR::stepblock signal <- data.frame(value = c(0, 1, 0), leftEnd = c(-2, 0, 3), rightEnd = c(0, 3, 16)) convolution <- getConvolution(time, signal, filter) lines(time, convolution, col = "red") convolution <- getConvolution(time, signal, filter, truncated = FALSE) lines(time, convolution, col = "blue") # more complicated signal time <- seq(-2, 21, 0.01) signal <- data.frame(value = c(0, 10, 0, 50, 0), leftEnd = c(-2, 0, 3, 6, 8), rightEnd = c(0, 3, 6, 8, 21)) convolution <- getConvolution(time, signal, filter) plot(time, convolution, col = "red", type = "l") convolution <- getConvolution(time, signal, filter, truncated = FALSE) lines(time, convolution, col = "blue")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.