Circular transformations

Circular statistics mixin


class simba.mixins.circular_statistics.CircularStatisticsMixin[source]

Mixin for circular statistics. Unlike linear data, circular data wrap around in a circular or periodic manner such as two measurements of e.g., 360 vs. 1 are more similar than two measurements of 1 vs. 3. Thus, the minimum and maximum values are connected, forming a closed loop, and we therefore need specialized statistical methods.

These methods have support for multiple animals and base radial directions derived from two or three body-parts.

Methods are adopted from the referenced packages below which are far more reliable. However, runtime on standard hardware (multicore CPU) is prioritized and typically orders of magnitude faster than referenced libraries.

See image below for example of expected run-times for a small set of method examples included in this class.

Note

Many method has numba typed signatures to decrease compilation time through reduced type inference. Make sure to pass the correct dtypes as indicated by signature decorators.

Important

See references below for mature packages computing more extensive circular measurements.

Circular statistics Circular stats runtimes

References

1

pycircstat.

2

circstat.

3

pingouin.circular.

4

pycircular.

5

scipy.stats.directional_stats.

6

astropy.stats.circstats.

7

pycircstat2.

Members

Undoc-members

Inherited-members

Circular GPU methods


members

undoc-members

show-inheritance