![body-worn sensors](https://private-user-images.githubusercontent.com/4992116/314020078-3519df7c-d93d-40ce-b415-f0e7129ec85e.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NTQ5MDcsIm5iZiI6MTczOTU1NDYwNywicGF0aCI6Ii80OTkyMTE2LzMxNDAyMDA3OC0zNTE5ZGY3Yy1kOTNkLTQwY2UtYjQxNS1mMGU3MTI5ZWM4NWUucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTRUMTczNjQ3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NDAwNjkzNzhkZGM0YmRhZjVlZDNkYWZjYTQ5YTYzYzg3OTFjZjczNWQzNTA3NzQxMzQ1MTA5MzY5NjQ5M2U0MyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.3P9Kvj_PRsLbDk2hTGvNFmtDhSy2QN_5lX5m4d_Av0U)
![data](https://private-user-images.githubusercontent.com/4992116/314020808-afd31985-249a-4755-98e3-71613f6457f8.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NTQ5MDcsIm5iZiI6MTczOTU1NDYwNywicGF0aCI6Ii80OTkyMTE2LzMxNDAyMDgwOC1hZmQzMTk4NS0yNDlhLTQ3NTUtOThlMy03MTYxM2Y2NDU3ZjgucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTRUMTczNjQ3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9YjljNjk1YWU3M2YzMGExNmJkMDE2OTkyMWNjMjJkYjY5YjMxNDM5MjJhNzliMDFlNjk0NjNmNjBlYzllZDgxMiZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.G7WVlkmzRkKZd0ymKJMVhkHUoVhvry2U5h7WJ3vOeqM)
![result](https://private-user-images.githubusercontent.com/4992116/314022767-e18d7256-b534-4f7d-8613-154a86a16d19.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzk1NTQ5MDcsIm5iZiI6MTczOTU1NDYwNywicGF0aCI6Ii80OTkyMTE2LzMxNDAyMjc2Ny1lMThkNzI1Ni1iNTM0LTRmN2QtODYxMy0xNTRhODZhMTZkMTkucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI1MDIxNCUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNTAyMTRUMTczNjQ3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9NGVhODdiNTY1YWIwNzBjZmUzZWZmNzViZjk0YzZhZDk2Mzk3ZTM0NDc2ZDY2ZDU5OWZhYmJlZTc5YzQ5NmM3NyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QifQ.pJF5o7H3BarjsSiDXyQHprLosnh3utbKHZhF0s_lEk8)
Quaternion-Based Gesture Recognition Using Wireless Wearable Motion Capture Sensors
Codes for my Master's Thesis
Replace Missing Values.py - Replaces missing values for the Beta angle after conversion from quaternion to Euclidean.
add_headers.py - adds appropriate header columns to each dataset
columnSorter.py - breaks quaternion datasets in four different datasets that hold individual quaternion components
columnSorter_euclid.py - same as above but for datasets with Euclidean components
columnSorter_pStudy.py - same as above but for individual participant dataset
columnJoiner.py - joins every individual quaternion dataset to create a new dataset with homogenous quaternion component
convert2euclidean.py - convert quaternion components to Euclidean components
outlierRemover.py - removes outliers by applying linear interpolation using a 10-point sliding window
sortLeftRight.py - separates the left and right-hand gestures and turns them into individual datasets
*Training, Validation and Test sets were created using Weka 3.6
featureExtraction.py - Extracts five features from every dataset: Variance, Range, Velocity, Angular Velocity, Covariance
test.py, test2.py, test3.py, testFileSize.py, test_covariance.py, test_range.py, test_variance.py, test_velocity.py *Each file has its own description
countDatapoints.py - counts the total number of datapoints in a dataset
were done in Weka 3.6