Coder Social home page Coder Social logo

aniketmitra001 / movetk Goto Github PK

View Code? Open in Web Editor NEW

This project forked from movetk/movetk

0.0 0.0 0.0 18.17 MB

MoveTK is a library for computational movement analysis written in C++.

Home Page: https://movetk.win.tue.nl/

License: Apache License 2.0

CMake 3.96% Batchfile 0.05% Shell 0.18% Dockerfile 0.32% C++ 83.37% C 0.13% Jupyter Notebook 11.59% Python 0.40%

movetk's Introduction

MoveTK: the movement toolkit

MoveTK-CI-Ubuntu MoveTK-CI-macOS MoveTK-CI-Windows MoveTK-create-docker-image

MoveTK is a library for computational movement analysis written in C++. The library has been developed as part of a collaboration between HERE Technologies , Eindhoven University of Technology and Utrecht University under the Commit2Data program.

Overview

MoveTK is a reusable, well tested, high performant, feature-rich library that incorporates state of the art algorithms for understanding movement. The library is designed to be extensible such that it can be adapted to various movement analysis tasks. It's design is inspired by the designs of CGAL and GUDHI.

You can use this library to:

  • Develop applications for processing (geo) spatial movement data at scale
  • Create high performance applications for analysis of movement data, using the algorithms available in the library

Some examples are shown below:

movetk_algorithm_visualization

The following table lists some of the algorithms available in MoveTK

Feature Algorithm
Trajectory Segmentation Monotone Segmentation [Buchin et al. 2011, Alewijnse et al. 2014]
Model Based Segmentation [Alewijnse et al. 2018]
Trajectory Simplification Douglas-Peucker Simplification [Hershberger et al. 1992,1998]
Imai-Iri Simplification [Chan et al. 1996]
Agarwal Simplification [Agarwal et al. 2005]
Trajectory Similarity Longest Common Subsequence [Vlachos et al. 2002]
Hausdorff & Fréchet Metric [Eiter et al. 1994, Alt et al. 1995]
Trajectory Outlier Detection Optimal Speed Bounded [Custers et al. 2019]
Greedy / Smart Greedy / Local Greedy [Custers et al. 2019]
Trajectory Clustering Sub-trajectory Clustering [Buchin et al. 2008]
Trajectory Interpolation Kinematic Interpolation [Long 2016]
Random Trajectory Generator [Technitis et al. 2015]

Quick Start

  1. Install Docker on your machine see the installation instructions for instance, for Windows, Mac or Ubuntu Linux.

  2. Run the container

docker run -p 6013:8888 -p 80:80 -it aniketmitra001/movetk
  1. Follow instructions in the output of step 2 to open Jupyter Notebook in a web browser. Replace port number 8888 with 6013 (or another port depending on your configuration)

  2. Once JupyterLab can be accessed from your browser, in-order to access the notebooks please navigate to /tutorials/cpp for the C++ notebooks and /tutorials/py for the python notebooks

Notes :

  • On Mac it is important to start Docker from Docker Desktop , so that localhost of the container gets mapped to the localhost of the host machine. This will allow the documentation to be rendered in Jupyter notebooks.
  • If you are running a docker build yourself, it it important to ensure that at least 4GB of memory has been allocated to the docker container

Build Artifacts

A push event to the master branch of MoveTK triggers a set of continuous integration (CI) workflows. If the worflows are sucessful, this results in the following artifacts to be generated

  • A Docker image. Do docker pull aniketmitra001/movetk:latest to get the image
  • A RPM & DEB package. If the latest run of the CI workflow for MoveTK-CI-Ubuntu is successful, select the last run. The packages can be found on the Artifacts section.

Installation with cmake

  1. Clone the repository.
git clone --recursive https://github.com/heremaps/movetk.git
  1. Replicate the steps in corresponding YAML files

    -Mac

    -Windows

    -Ubuntu

Using MoveTK in your App

Please refer to this example for a template on how to use MoveTK in your app

Third Party Libraries Included In MoveTK

MoveTK utilizes some open source components including:

  1. Modified version of GsTL (see include/third_party/GsTL-1.3)
  2. TNT (Template Numerical Toolkit) (see [include/third_party/GsTL-1.3] folder)
  3. Selection of headers of Boost version 1.70.0 (see [src/include/third_party/boost_future])
  4. Miniball (see [src/include/third_party/miniball])
  5. rapidjson (see include/third_party/rapidjson)

Acknowledgements

This project includes GsTL which is software developed by Stanford University and its contributors.

License

Copyright (C) 2017-2020 HERE Europe B.V.

Unless otherwise noted in LICENSE files for specific files or directories, the LICENSE in the root applies to all content in this repository.

movetk's People

Contributors

aniketmitra001 avatar bacusters-tue avatar tsteenbe avatar bacusters avatar

movetk's Issues

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.