A user application which displays data and solicits annotations from the user
A user-application to faciltate data annotations
To get started with this project, follow these steps:
- Install python-3.11
- Install dependencies
- Clone the repository
git clone git@github.com:4d30/jump_plotter.git
- Install Python
- Python 3.11.0+ is required
- https://www.python.org/downloads/
- Install dependencies
python -m venv venv .\venv\Scripts\activate (Windows) source venv/bin/activate (Linux/Mac) pip install -r requirements.txt
Edit config.ini. Set input to the path of the your input zip file.
nano config.iniRun
# activate venv if necessary
.\venv\Scripts\activate (Windows)
source venv/bin/activate (Linux/Mac)
python jump_plotter_nu.pyWhen to label a sensor as k (kill the whole sensor file):
-
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)
-
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
- If there are > 10 jumps, mark the sensor file as k
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
└── ...Contributions are welcome! Please follow these guidelines:
- Fork the project
- Create your feature branch (
git checkout -b feature/YourFeature) - Commit your changes (
git commit -m 'Add some feature') - Push to the branch (
git push origin feature/YourFeature) - Open a pull request