vigenere23 / finger-angles-predictions-emg Goto Github PK
View Code? Open in Web Editor NEWFinger angles predictions from EMG and camera-based ground-truth
License: Apache License 2.0
Finger angles predictions from EMG and camera-based ground-truth
License: Apache License 2.0
Create a process to show queues usage.
See lab 2, part 3.
Créer un pipeline OpenCV pour mesurer et sauvegarder l'angle d'un doigt en temps réel, à l'aide de marqueurs visuels.
Sections :
Trouver comment sélectionner des blocs de données aléatoires à partir du couplage signal--angle des données d'entraînement.
Use config file for :
This will ensure flexibility and reproductibility.
Split data fetching and processing into 2 distinct processes :
There are some very interesting UART configurations that should be checked :
These settings MUST be set on both the MSP430 and Python scripts.
https://electronics.stackexchange.com/questions/10249/serial-uart-communication
We could implement some UART protocol to make the UART sending/receiving strategy flexible. This should make supporting multi-channel ADC (#13) and buffered sending (for #7 and #10) way easier.
Here's a potential solution :
#bytes | name | content | desc |
---|---|---|---|
1 | sync | \n |
Like a start byte. Use with Python's read_until('\n') |
1 | channels | 1 to 255 | Either the number of (ADC) channels that are sent **, or the channel number ***. |
1 | data length | 1 to 255 | Number of data bytes. Use with Python's read(length) |
length |
data | splitted integers | Data (integers) sent as bytes. |
** : Splitting strategy to be determined (ABAB or AABB) -> both are as efficient in Python, but ABAB should be easier in C.
*** : This will mean harder handling on the MSP since one buffer will be needed for each channel (each packet will only contain data for 1 channel). But this would make the Python code very fast and easy to use.
This will give a data ratio of length / (length + 2)
, which with 30 bytes of data (32 total, without checksum) results in 94% (compared to current 50-60%) while being extremely flexible.
To ensure flexible usage on Python's end, we should use a new class that wraps this info :
DataType = Var('DataType', List[int], bytes)
class DataPacket[DataType]:
channels/channel_id: int
data: DataType
... or something similar.
Current data segmentation algorithm preprocessing is in at least O(4n)
, because it :
O(n)
for each byte in message, currently 2 bytes)Then, iteration over the zipped arrays of bytes takes O(1)
access time.
Also, this method trashes and retries the entire batch if only 1 message is corrupted, which leads to large error losses.
A single for loop with controlled iteration could be faster by achieving O(1)
amortized preprocessing time since it would be achieve during the data access iteration.
Check if numpy can achieve such algorithm faster with parallelization
Get the code from Gab's labs
Supposer un placement pour le pouce.
Au lieu d'ajouter le timestamp sur les données lorsque traitées, plutôt ajouter un start_time
et end_time
lors de la collecte en batch, puis répartir ce temps sur les données lors du parsing.
Calculer et envoyer le timestamp à partir du MSP 430.
Problème : requiert au moins 64 bits (8 bytes) additionnel alors que les données sont seulement 16 bits (2 bytes) chaque...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.