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