patter provides particle filtering, smoothing and sampling algorithms for animal movement modelling, with a focus on passive acoustic telemetry systems. This wraps and enhances a fast Julia backend (Patter.jl). The methodology enables the reconstruction of movement paths and patterns of space use. patter unifies a suite of methods formerly known as the flapper algorithms and supersedes the experimental flapper package (Lavender et al., 2023).

Vignettes

For an introduction to patter, use:

For a full list of all functions, see help(package = 'patter').

For a glossary of key arguments, see glossary.

Datasets

For example datasets from the Movement Ecology of Flapper Skate project (datasets-mefs), which inspired patter, see:

To validate new datasets for use with patter, see pat_setup_data() and/or the assemble_*() function documentation.

For example algorithm outputs (datasets-algorithms), see:

Set up Julia

To link patter and the Patter.jl Julia backend, use:

These functions should be run at the start of every R session.

Abstract Types

patter is based on three Abstract Types, defined in Julia:

  • State structures hold the state (location) of an animal at a given time step;

  • ModelMove structures hold movement model, used to simulate new states;

  • ModelObs structures hold observation model parameters, used to evaluate the correspondence between simulated states and observations;

Simulation

To simulate animal movement time series, see:

To evaluate model skill in reconstructing simulated patterns, see skill_*() functions:

Data exploration

For help with data acquisition, processing, checking and preliminary analyses, see the flapper package. This facilitates:

  • Data preparation;

  • Spatial operations;

  • Distance calculations;

  • Movement analyses;

Please submit a feature request if you would like functions from flapper in patter.

Algorithms

The main thrust of patter is the provision of fast, integrated modelling workflow based on particle filtering for reconstructing animal movement paths and emergent patterns of space use from observational time series (with a focus on passive acoustic telemetry systems).

To assemble datasets for particle filtering, use assemble_*() functions:

Ancillary time series should be structured in the same way for inclusion in the particle filter.

To implement particle filtering (PF) routines, use:

These functions return pf_particles objects.

For convenience plotting functions, see:

For mapping utilisation distributions, use:

Options

For additional options in patter, see:

Miscellaneous

References

Lavender, E. et al. (2023). An integrative modelling framework for passive acoustic telemetry. Methods in Ecology and Evolution. https://doi.org/10.1111/2041-210X.14193.

See also

Author

Edward Lavender (ORCID)