Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Jump Plotter

A user application which displays data and solicits annotations from the user

Table of Contents

About the Project

A user-application to faciltate data annotations

Built With

Getting Started

To get started with this project, follow these steps:

Prerequisites

  • Install python-3.11
  • Install dependencies

Installation

  1. Clone the repository
    git clone git@github.com:4d30/jump_plotter.git
  2. Install Python
  1. Install dependencies
    python -m venv venv
    .\venv\Scripts\activate (Windows)
    source venv/bin/activate (Linux/Mac)
    pip install -r requirements.txt

Usage

Edit config.ini. Set input to the path of the your input zip file.

nano config.ini

Run

# activate venv if necessary
.\venv\Scripts\activate (Windows)
source venv/bin/activate (Linux/Mac)


python jump_plotter_nu.py

Notes

When to label a sensor as k (kill the whole sensor file):

  1. Check if there is a sensor event before the jump that confirms or denies synchronization Check if there is a sensor event after the jump that confirms or denies synchronization IF yes to both, label the jump based on the results (a,b, or c)

  2. Check for an obvious sensor discontinuity within the jump page (black). If so, label it as a.

IF you can't tell after checking 1 & 2, look at the jump duration

if jump is < 0.5 seconds, make a guess (bc the consequences of being wrong are small) if jump is > 0.5 seconds, mark it k (bc the consequences of being wrong are large)

If you have to label a too many jumps with a guess (arbitrarily defined as 4 jumps), mark the sensor file as k

  1. If there are > 10 jumps, mark the sensor file as k

Input Data

The input data takes the form of a zip file. It must contain a directory for each session to be inspected. Don't unpack the zipfile yourself, just point config.ini at it and the program will do the rest.

mydata.zip
│
├── session01/
│   └── session01_M_conv_accl_gyro_raw.csv
│   └── session01_S1_conv_accl_gyro_raw.csv
│   └── session01_S2_conv_accl_gyro_raw.csv
│   └── session01_S3_conv_accl_gyro_raw.csv
│   └── session01_S4_conv_accl_gyro_raw.csv
│   └── session01_S5_conv_accl_gyro_raw.csv
│   └── session01_S6_conv_accl_gyro_raw.csv
│   └── session01_S7_conv_accl_gyro_raw.csv
│   └── session01_S8_conv_accl_gyro_raw.csv
│   └── session01_S9_conv_accl_gyro_raw.csv
│   └── session01_ECF.csv
├── session02/
│   └── session02_M_conv_accel_gyro_raw.csv
│   └── ...
│   └── session02_ECF.csv
└── ...

Contributing

Contributions are welcome! Please follow these guidelines:

  1. Fork the project
  2. Create your feature branch (git checkout -b feature/YourFeature)
  3. Commit your changes (git commit -m 'Add some feature')
  4. Push to the branch (git push origin feature/YourFeature)
  5. Open a pull request

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages