Code Monkey home page Code Monkey logo

movekit's People

Contributors

arjun-majumdar avatar cwebkas avatar eren-ck avatar jollejolles avatar manuel030 avatar timkleinlein avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

movekit's Issues

Medoid

  • Compute the medoid for each time frame

Cluster Jupyter notebook

  • Create a example notebook for the clustering with detailed description how to use and what the results are

distance matrix computation

There is some indexing issue in the function which produces the same result for each tie frame
This maybe solves the issue
for time in data_time.keys(): final_matrix[time] = pd.DataFrame(distance_matrix(data_time[time].loc[:, ['x', 'y']].values, data_time[time].loc[:, ['x', 'y']]), index = data_time[time].loc[:, 'animal_id'].values, columns = data_time[time].loc[:, 'animal_id'].values)

Consistent styling

Improve styling of all code pages, specifically considering indentation, max line length, blank lines, single vs double quotes etc. Use PEP8 as foundation.

DTW for trajectories

Enable the computation of DTW for the trajectories - so a distance matrix between all trajectories
This should be computationally expensive

examples - demo

Extend the demo by depicting the computed features for each animal in a chart
Also display the resulting Json in a readable way in the notebook

Error distance and direction

  • divide by zero encountered in double_scalars direction = math.degrees(math.atan((y2 - y1) / (x2 - x1)))
  • RuntimeWarning: invalid value encountered in double_scalar direction = math.degrees(math.atan((y2 - y1) / (x2 - x1)))

Use scipy distance functions

Split trajectories - fuzzy segmentation

Add fuzzy temporal segmentation - e,g, if the dataset is segmented into 10 min intervals. Add a window of 2 minutes the overlaps on either side of the segments.

Add to preprocessing

Feature - distance

Traveled distance between the first point in the animal trajectory and the last point - sum of traveled distance per animal

Improve readme

Add general description of the package and its functionalities, list of dependencies, citation with zenodo doi, development statement to the readme

Absolute features - stats

  • Compute for speed, acceleration, metric distance etc. the mean, median, variance, IQR
  • Use the tsfresh library for this

Compute the distance to a object

  • Compute the distance to a object - input is a coordinate and then the library computes the distance to this object for each time frame

sphinx

Create a documentation and a online page with Sphinx

Autocorrelation

  • temporal autocorrelation of speed and heading to determine how quickly fish change in their movements
  • use tsfresh

Dead code

Remove dead code - or add comments to the code snippet to with #dead to indicate that the code is currently not used

Outlier detection

  • Use a outlier detection algorithm
  • Use a parameter 'e' to determine the distance to some features which specifies if a mover is an outlier

Minimum Convex Polygon

Compute the minimum convex polygon to compute the animal homrange using a minimum convex polygon. Compute the mimumum convex polygon for the whole animal group and each animal individually.

Heading angle and turning speed

  • provide the option to calculate this from x,y data (‘heading’) or to actually use a data column where angle is provided from the tracking directly (‘orientation’)

  • compute turning speed

Feature - max distance

Compute the maximum distance between two consecutive points in time (largest metric distance between two frames)

Split Trajectories

Split the trajectory of a single animal into several intervals (segments) according to some specific criterion.

Splitting may be interesting for example to detect different properties in time intervals. E.g. split into segments of 1 minute

Duration at a location

  • Input again a location (x,y) and a minimum distance e then the duration for each animal at that location is computed

Feature Moving

  • proportion of time moving/not-moving based on the stopped feature

Resample

Resample the movement data of each animal - by downsampling at fixed time intervals.
This can be done systematically (every minute pick a element from an animal) or random downsampling (the same random time intervals for each animal).

Two install errors

When installing in new environment, the following error always arises:

ERROR: tsfresh 0.12.0 has requirement pandas<=0.23.4,>=0.20.3, but you'll have pandas 0.24.2 which is incompatible.

Also there are issues with the "init.py" file as it seems not able to load the relative files, like the csv module in the io folder:

>>> import movekit
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/Users/Jolle/.virtualenvs/jolpy3/lib/python2.7/site-packages/movekit/__init__.py", line 1, in <module>
    from .io.csv import *
ImportError: No module named io.csv

Voronoi diagram

Compute the voronoi diagram for each time step and compute also the area for each cell over time

Extend example demo

Document all ts-fresh parameters for the mkit.ts_feature(data_features, 'autocorrelation')

See example demo for this

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.