R/lowpass_filter.R

Defines functions lowpass_filter

#' This function performs low pass filtering

#' @param pd pupil column.
#' @param order order butter filter
#' @param filter_to_use hz to low pass filter
#' @param samplerate
#' @export
#' @import signal
#' @return vector containing low pass filtered pupil data

lowpass_filter <- function(pd, order, filter_to_use, samplerate=NA){
  require(signal)
  message("low pass filtering")
  num_NAs <- sum(is.na(pd))
    if (num_NAs < 1){
      myfilter = butter(order,filter_to_use/(samplerate/2), type = 'low', plane='z')
      filtered_values <- filtfilt(myfilter, pd)
    } else {
  warning("you have NAs in your data. \n Please check your data.")
      filtered_values <- NA
    }
    return(filtered_values)
  }
dmirman/gazer documentation built on Aug. 1, 2022, 2:02 p.m.