Skip to contents

aniprocess 0.2.0

New features

  • New filter_ccma(): Curvature-Corrected Moving Average for 2D/3D Cartesian trajectories (Steinecker & Wuensche, 2023). Hanning and uniform kernels; padding boundary mode (#11).
  • New filter_na_excursion(): flags multi-frame tracking excursions using the criterion from Todd, Kain & de Bivort (2017) — a jump that eventually returns counts as an outlier; a sustained shift does not (#13).
  • New filter_gaussian(): Gaussian kernel smoother with NA-aware weight renormalisation (#1).
  • New filter_triangular(): triangular smoother as two passes of filter_rollmean() (#1).

Bug fixes

  • filter_lowpass_fft() / filter_highpass_fft(): fixed an asymmetric frequency-domain mask that halved the passband amplitude. Lowpass + highpass at the same cutoff now reconstruct the input exactly.
  • filter_na_speed() now flags single-frame outliers correctly (the outlier itself is blanked, not its neighbours), and a single NA in the input no longer contaminates adjacent rows (#14).
  • filter_aniframe() works on aniframes without an individual column. Identity columns now come from variables_what, spatial columns from variables_where (#16).
  • find_peaks() / find_troughs(): prominence now matches the documented topographic definition (saddle = max of left/right valley min). Previously could overestimate prominence and let peaks slip past min_prominence.
  • filter_sgolay(): preserve_edges had two bugs and is removed — signal::sgolayfilt() already handles edges correctly.
  • filter_kalman() documentation: corrected the default base_Q formula.
  • replace_na_stine() and the inline installer in filter_bandwidth.R now point at the current r-universe (#17).

Breaking changes

Dependencies

  • data.table (>= 1.18.0) promoted from Suggests to Imports (now backs the rolling filters and the LOCF interpolation step).
  • Removed roll, collapse, and animetric.

Internal / housekeeping

  • New helpers ensure_replace_na_args() and ensure_aniframe_spatial() replace duplicated input validation across the replace_na_*() and filter_na_*() families.
  • check_*() helpers for optional packages consolidated, so the canonical r-universe URL lives in a single place.
  • Three dead files removed; future work tracked in #29 (filter_by_pose) and #30 (an across-style API).
  • Package now at 100% line coverage; covr added to Suggests.

aniprocess 0.1.2

  • Added a NEWS.md file to track changes to the package.
  • Update to work with tidy movement logic.
  • Use differentiate from animetric for filter_na_speed.
  • filter_na_roi now works with 3D ROIs.