Giter Club home page Giter Club logo

pewter's Introduction

alt tag

Pewter

Pewter is an open-source project for

1. Data acquisition
2. Analysis
3. Visualisation

of raw data from Myo and conduct experiments on it. If you are working on raw data from the Myo Armband, then you can make use of Pewter's simple GUI to acquire data and work on it. It not only reduces devlopement time but also makes the life of a machine learning engineer easier. You can create experiments and visualise the data for doing some analysis before preprocessing and feature extraction. All the experiment data will be saved in Json format which makes it even convenient for reuse. The entire project is created using Node.js and I thank Thalmiclabs for the myo.js library which made my life a lot more simpler.

Pewter was originally developed by me for data acquisition and analysis of raw data from Myo Armband for one of my projects Voice.

I would be glad if you could contribute in this initiative of mine to help other developers working on Myo Armbands and making their lives easier.


Feel free to give any suggestions or report bugs in the issues tab.

#Prerequisites

  1. Windows Operating System
  2. Node.js
  3. Myo Connect for windows
  4. Myo Armband

#Installation ###Install dependencies Enter the following command inside the pewter folder that you have cloned

npm install

alt tag

###Run Pewter Enter the following command in the pewter directory to start pewter

node app.js

alt tag

The app by default listens to port 3000. To change it to any other port update the listener in the the app.js file and restart.

###Start Using Pewter Open any browser and open the following link to start Pewter. Make sure to run MyoConnect before opening the page or else you will not see any data.

http://localhost:3000

The app by default listens to port 3000. To change it to any other port update the listener in the the app.js file and restart.

#How to use Pewter Using Pewter is extremely simple. Follow the annotations on the images below and you will be able to kick off in a few minutes. ###Data Acquisition
The following are the functions of the buttons available,

  1. Play: Starts recording data.
  2. Pause: Pauses recording data.
  3. Undo: Undos the recording.
  4. save: Saves the experiment data.
  5. Visualizations**: Redirects to the visualization page.

Please give an 'Experiment Name' before saving data.

alt tag

####Where is the data saved? The data is saved inside the 'experimentdata' directory inside the root directory of the project.

####What is the data format? The data is saved in json format. The following is the structure of a sample experiment data.

{
  "expName": "test",
  "emg": {
    "data": [
      [
        13,
        11,
        5,
        2,
        22,
        10,
        3,
        5
      ]
    ],
    "timestamps": [
      "1468000525763185"
    ]
  },
  "gyr": {
    "data": [
      [
        -0.75,
        -0.375,
        2.0625
      ]
    ],
    "timestamps": [
      "1468000525755180"
    ]
  },
  "ori": {
    "data": [
      [
        0.48699951171875,
        -0.339599609375,
        -0.69305419921875,
        0.408935546875
      ]
    ],
    "timestamps": [
      "1468000525755180"
    ]
  },
  "acc": {
    "data": [
      [
        -0.39404296875,
        0.8837890625,
        0.291015625
      ]
    ],
    "timestamps": [
      "1468000525755180"
    ]
  }
}

#####For EMG

Key Value (Data from sensor)
emg.data[0][0] EMG POD 0
emg.data[0][1] EMG POD 1
emg.data[0][2] EMG POD 2
emg.data[0][3] EMG POD 3
emg.data[0][4] EMG POD 4
emg.data[0][5] EMG POD 5
emg.data[0][6] EMG POD 6
emg.data[0][7] EMG POD 7
emg.timestamps[0] Timestamp for emg.data[0]

#####For Accelerometer

Key Value
acc.data[0][0] Accelerometer_x
acc.data[0][1] Accelerometer_y
acc.data[0][2] Accelerometer_z
acc.timestamps[0] Timestamp for acc.data[0]

#####For Gyroscope

Key Value
gyr.data[0][0] Gyroscope_x
gyr.data[0][1] Gyroscope_y
gyr.data[0][2] Gyroscope_z
gyr.timestamps[0] Timestamp for gyr.data[0]

#####For Orientation

Key Value
ori.data[0][0] Orientation_x
ori.data[0][1] Orientation_y
ori.data[0][2] Orientation_z
ori.data[0][3] Orientation_w
ori.timestamps[0] Timestamp for ori.data[0]

###Visualisation The visualisation page is even simpler. You can select an experiment from the experiment selection dropdown list. The graphs correspond to all the avaiable sensor data that Myo Armband provides. For visualisation I have used Ploty.js. I would like to thank them for the awesome work that they have done.

alt tag

#For more information

  1. Sigvoiced
  2. Myo.js

pewter's People

Contributors

dashayushman avatar sigvoiced avatar

Watchers

 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.