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.
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
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")
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