Skip to content

spluque/scikit-diveMove

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

https://raw.githubusercontent.com/spluque/scikit-diveMove/master/docs/source/.static/skdiveMove_logo_1line.png PyPI TestPyPI Python Build PyPI - Downloads

scikit-diveMove is a Python interface to R package diveMove for scientific data analysis, with a focus on diving behaviour analysis. It has utilities to represent, visualize, filter, analyse, and summarize time-depth recorder (TDR) data. Miscellaneous functions for handling position and 3D kinematics data are also provided. scikit-diveMove communicates with a single R instance for access to low-level tools of package diveMove.

The table below shows which features of diveMove are accessible from scikit-diveMove:

diveMove scikit-diveMove Notes
Functionality Functions/Methods
Movement austFilter rmsDistFilter grpSpeedFilter distSpeed readLocs   Under consideration.
Bout analysis boutfreqs boutinit bouts2.nlsFUN bouts2.nls bouts3.nlsFUN bouts3.nls bouts2.mleFUN bouts2.ll bouts2.LL bouts.mle labelBouts plotBouts plotBouts2.cdf bec2 bec3 BoutsNLS BoutsMLE Fully implemented in Python.
Dive analysis readTDR createTDR TDR.__init__ TDRSource.__init__ Fully implemented. Single TDR class for data with or without speed measurements.
  calibrateDepth TDR.calibrate TDR.zoc TDR.detect_wet TDR.detect_dives TDR.detect_dive_phases Fully implemented
  calibrateSpeed rqPlot TDR.calibrate_speed New implementation of the algorithm entirely in Python. The procedure generates the plot concurrently.
  diveStats stampDive timeBudget TDR.dive_stats TDR.time_budget TDR.stamp_dives Fully implemented
  plotTDR plotDiveModel plotZOC TDR.plot TDR.plot_zoc_filters TDR.plot_phases TDR.plot_dive_model Fully implemented. Interactivity is the default, as standard matplotlib.
  getTDR getDepth getSpeed getTime getCCData getDtime getFileName TDR.tdr TDR.get_depth TDR.get_speed TDR.tdr.index TDR.src_file TDR.dtime Fully implemented. getCCData deemed redundant, as the columns can be accessed directly from the TDR.tdr attribute.
  getDAct getDPhaseLab getDiveDeriv getDiveModel getGAct TDR.get_wet_activity TDR.get_dives_details TDR.get_dive_deriv Fully implemented
  extractDive   Fully implemented

scikit-diveMove also provides useful tools for processing signals from tri-axial Inertial Measurement Units (IMU), such as thermal calibration, corrections for shifts in coordinate frames, as well as computation of orientation using a variety of current methods. Analyses are fully tractable by encouraging the use of xarray data structures that can be read from and written to NetCDF file format. Using these data structures, meta-data attributes can be easily appended at all layers as analyses progress.

Installation

Type the following at a terminal command line:

pip install scikit-diveMove

Or install from source tree by typing the following at the command line:

python setup.py install

The documentation can also be installed as described in Documentation.

Once installed, skdiveMove can be easily imported as:

import skdiveMove as skdive

Dependencies

skdiveMove depends primarily on R package diveMove, which must be installed and available to the user running Python. If needed, install diveMove at the R prompt:

install.packages("diveMove")

Documentation

Available at: https://spluque.github.io/scikit-diveMove

Alternatively, installing the package as follows:

pip install -e .["dev"]

allows the documentation to be built locally (choosing the desired target {"html", "pdf", etc.}):

make -C docs/ html