• Stars
    star
    268
  • Rank 153,144 (Top 4 %)
  • Language
    Python
  • License
    GNU General Publi...
  • Created almost 9 years ago
  • Updated 7 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Open Source Analytics & Visualisation Software for Inertial Measurement Units

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 (Custom research app for data collection)
  • 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)
    • Evenson Activity Alogirhtm (Kelly R. Evenson, Diane J. Catellier, Karminder Gill, Kristin S. Ondrak & Robert G. McMurray (2008) Calibration of two objective measures of physical activity for children, Journal of Sports Sciences, 26:14, 1557-1565, DOI: 10.1080/02640410802334196 )
    • Processed results viewer
  • Data exporter

    • CSV format
    • Matlab format
    • Data export selector
  • Available in French and English, and as Windows and Mac OS apps.

Planned features

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

  • More data processing modules

Screenshots

Screenshot_1 Screenshot_2 Screenshot_3 Screenshot_4 Screenshot_5 Screenshot_6

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

  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.10, PySide6 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.10 environment in "{PROJECT_ROOT}/python/env/python-3.10" 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!

More Repositories

1

rtabmap

RTAB-Map library and standalone application
C++
2,776
star
2

rtabmap_ros

RTAB-Map's ROS package.
C++
986
star
3

odas

ODAS: Open embeddeD Audition System
C
782
star
4

find-object

Find-Object project
C++
447
star
5

manyears

ManyEars Sound Source Localization, Tracking and Separation
C++
184
star
6

odas_web

A desktop visualization GUI for the ODAS library
JavaScript
138
star
7

16SoundsUSB

16 Synchronized Inputs USB (UAC2) Sound Card Based on XMOS xCORE-200
98
star
8

ros_for_ios

How to build the Robot Operating System for the iOS platform.
C
67
star
9

OpenIMU-MiniLogger

OpenIMU - Open Hardware Mini Logger based on ESP32
C++
41
star
10

odas_ros

ODAS ROS package
Python
39
star
11

opentera-webrtc

WebRTC JavaScript, C++ and Python libraries and signaling server for the OpenTera project with hardware acceleration with GStreamer
C++
32
star
12

webrtc-native-build

Native build of Google's webrtc library.
Dockerfile
30
star
13

introlab-ros-pkg

IntRoLab's ROS packages
C++
30
star
14

dotmask

Python
28
star
15

securbot

Security robot prototype
Rich Text Format
25
star
16

rendezvous

Next generation videoconference system
C
24
star
17

opentera

OpenTera - Open TeleRehabilitation Server and Micro-Services
Python
16
star
18

opentera-webrtc-ros

ROS package for OpenTera WebRTC signaling server.
C++
15
star
19

mars

Microphone Array Real-time System
12
star
20

audio_utils

ROS node and utilities for audio streams.
C++
12
star
21

WISS

Speaker recognition system for mobile robots
MATLAB
7
star
22

MusicBeatDetector

TableTop - MusicBeatDetector
C++
7
star
23

t-top

T-Top is a tabletop robot designed with advanced audio and vision sensors, deep learning perceptual processing and telecommunication capabilities to provide richer interaction modalities and develop higher cognitive abilities from interacting with people.
Python
7
star
24

xSoundsMicrophones

Microphones for 8SoundsUSB and 16SoundsUSB
6
star
25

uimvdr

Python
6
star
26

opentera-webrtc-teleop-frontend

OpenTera VUE3.js Frontend to be used with opentera-webrtc signaling server (local or on the Internet)
Vue
4
star
27

opentera-teleop-service

OpenTera Service handling teleoperation sessions based on webrtc.
JavaScript
4
star
28

opentera-webportal-service

Portal for users / participants
TypeScript
2
star
29

openteraplus

OpenTeraPlus
C++
2
star
30

MOvITPlus

AGEWELL - MOvIT+ Sensor Platform
Shell
2
star
31

egonoise

Python
2
star
32

demo_integration

Projet démonstration pour intégration continue avec Git, GitHub Actions
Python
1
star
33

opentera_messages

Protobuf messages for OpenTera
CMake
1
star
34

github-stats-action

Get GitHub project stats
Python
1
star
35

rtabmap_ros-release

1
star
36

find_object_2d-release

1
star
37

hbba_lite

Hybrid Behavior Based Architecture Lite Library
C++
1
star
38

IRL-1

Code and simulation models for the IRL-1 robot.
C++
1
star