As we mentioned, the system’s noise and the small movements of the animal could conceal stops, especially extremely short ones. In order to recognize these stops SEE Path Smoother uses a different smoothing method – Running Median. This method is more local than Robust LOWESS, but is nevertheless robust (eliminating system outliers). A local smooth is necessary because a strong smooth might loose short stops that are located between two fast movement segments. This is because during smoothing the fast neighbors of a very short stop might average this stop out and replace it with a slowing-down episode.
The running median also uses a moving time window, constructed around each data point in turn. However, instead of fitting a polynomial fit to the data in the window, as is done in LOWESS, it fits the median of the data in the window (each data point in turn is replaced by the value of the median of the data included in the window). In this way, outliers are fitted back in place. After smoothing with Running Median, SEE Path Smoother recognizes stops by finding data sequences whose location does not change for a specified number of frames (the number of frames can be determined by the user; we use 5 and 6 frames for the respective tracking rates of 25 Hz, and 30 Hz).
The Running Median is only used for finding stops and not for data smoothing. After recognizing the stops, SEE Path Smoother uses Robust LOWESS for smoothing. This second round of smoothing is again done on the raw data, which do not include the changes made by the Running Median. Since Robust LOWESS creates output data that also include speeds, SEE Path Smoother enters a zero speed value in the location of points that were previously recognized by Running Median as stops. From that point in time and on, the stops are marked by zero speed in the output file of the program.