Giter Site home page Giter Site logo

thomaswang525 / openimu Goto Github PK

View Code? Open in Web Editor NEW

This project forked from introlab/openimu

0.0 0.0 0.0 55.76 MB

Open Source Analytics & Visualisation Software for Inertial Measurement Units

Python 92.08% MATLAB 4.93% HTML 0.46% QML 0.06% Mako 0.08% CMake 1.01% Inno Setup 0.32% Jupyter Notebook 1.07%

openimu's Introduction

Analytics

OpenIMU - Data Analyser for Inertial Measurement Units and Actimetry Data

Authors

  • Dominic Létourneau (@doumdi)
  • Simon Brière (@sbriere)

Description

OpenIMU aims to provide an open source and free generic data importer, viewer, manager, processor and exporter for Inertial Measurement Units (IMU) and actimetry data. By using a common sensor data format and structure, data from different sources can be imported and managed in the software. This software was developped with support from INTER.

Features

Current features

  • Common file format (SQLite) managed by OpenIMU, but that can also be opened from other software

  • Import recorded data from sensors:

  • Transfer data directly from sensors:

    • AppleWatch SensorLogger (Open-source project available soon)
  • Data organization

    • By participants groups

    • By participants

    • By recordsets

    • By results

  • Data viewing

    • Temporal display of recordsets to quickly see when data was recorded

    • Sensor graph view plotting with zoom functions

    • GPS viewer for GPS data

  • Data processing

    • Processing module, currently supporting:

      • Freedson Activity Algorithm (Freedson PS1, Melanson E, Sirard J., Calibration of the Computer Science and Applications, Inc. accelerometer., Med Sci Sports Exerc. 1998 May;30(5):777-81)
    • Processed results viewer

  • Data exporter

    • CSV format

Planned features

  • English translation (currently only available in French)

  • Data splitting into sub-recordsets (by time, by day, manually)

  • Versatile data exporter (currently exporting all data, not possible to filter or change format)

  • Matlab API to access the OpenIMU file format (database)

  • More data processing modules

Screenshots

Screenshot_1 Screenshot_2 Screenshot_3 Screenshot_4 Screenshot_5

Getting Started for Developers

Please follow those steps to setup your development environment.

Requirements

  1. Make sure you have a valid compiler installed:

    1. Linux : gcc/g++
    2. Mac : LLVM through XCode
    3. Windows: Visual Studio C++ 2017
  2. Install CMake

  3. Install Qt + QtCreator

    1. Install the latest Desktop distribution fitting your compiling environment (will not be needed in the future)
  4. Install MiniConda3

    1. Install Python 3.6 version for current user (in user directory)
  5. Install PyCharm Community Edition

Step 1 : Open the root CMakeLists.txt in QtCreator

  1. Opening the root CMakeLists.txt will allow to create and build the project
    1. Build the project using the "python-all" target, it will automatically generate the Python environment in env/python-3.6, PyQt UI and RCC files.
    2. All python dependencies will be automatically downloaded
    3. Once the project is built, you will not need QtCreator until you change or add a resource file or a QtDesigner ui file.
    4. If you change or add ui or resources files, you need to rebuild the project from QtCreator.

Step 2 : Create a PyCharm project

  1. Using PyCharm, opening the directory "{PROJECT_ROOT}/python"
    1. Select the existing Python 3.6 environment in "{PROJECT_ROOT}/python/env/python-3.6" in the app menu: PyCharm->Preferences->Project:python->Project Interpreter

Step 3 : Run the application

  1. Run the OpenIMUApp.py application from PyCharm

  2. Edit the code as you would normally do in a python program.

  3. Run tests in the tests directory

Notes

  1. In a near future, we hope to have everything in the QtCreator IDE. Stay tuned!

Enjoy!

openimu's People

Contributors

doumdi avatar sbriere avatar stephdia avatar marcantoinedepelteau avatar amine7493 avatar sacredarkonite avatar gevrai avatar

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.