Summary: v0.3‐beta (The third iteration) - 0mp/io-touchpad GitHub Wiki
Overall
-
We've added 5 new hardcoded symbols:
- small a
- large k
- small gamma
- small gamma with a dot in the lower right corner
- large sigma
The default behaviour is that small a launches
x-www-browser
. Every other symbol creates a file if detected. The file is stored in/tmp
and the pattern for the names is created-by-<symbol's name>.
Classifier
- classifier.py has been modified to work with many symbols.
- Classifying is carried out by the k-nn algorithm implemented in the scikit-learn library.
- After classifying the drawn symbol to the closest symbol from the training set, the app checks if the drawn symbol is close enough to the symbol found by k-nn. The "distance tolerance" is computed using Nearest Neighbors tools available in scikit-learn, like in previous iteration.
FeatureExtractor
- featureextractor.py has been refactored, so now it is object oriented.
- Curve class was created with thought of using different comparison features. It is now easy to add feature and test it, therefore it's easier to test different feature sets and pick the best one if we'd like to change to it.
- The rest of the code has been fully documented and segmented into small classes.
Use cases
-
Three use cases have been written:
- Symbol learning
- Built-in symbol usage
- Daily usage of the user-defined symbols
-
With every use case comes a diagram in UML.
-
Documents and diagrams: