Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

dollarpy

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

dollarpy

A python imlementation of the $P Point-Cloud Recognizer

  • 0.1.1
  • PyPI
  • Socket score

Maintainers
1

dollarpy

dollarpy is a python implementation of the $P Point-Cloud Recognizer <http://depts.washington.edu/aimgroup/proj/dollar/pdollar.html>__.

|License|

|Python Compatibility| |PyPI Version| |Format|

|Build Status| |Coverage Status|

From the website:

The $P Point-Cloud Recognizer is a 2-D gesture recognizer designed
for rapid prototyping of gesture-based user interfaces. In machine
learning terms, $P is an instance-based nearest-neighbor classifier
with a Euclidean scoring function, i.e., a geometric template
matcher.

$P is the latest in the dollar family of recognizers that includes
$1 for unistrokes and $N for multistrokes. Although about half of
$P’s code is from $1, unlike both $1 and $N, $P does not represent
gestures as ordered series of points (i.e., strokes), but as
unordered point-clouds. By representing gestures as point-clouds, $P
can handle both unistrokes and multistrokes equivalently and without
the combinatoric overhead of $N. When comparing two point-clouds, $P
solves the classic assignment problem between two bipartite graphs
using an approximation of the Hungarian algorithm.

Vatavu, R. D., Anthony, L., & Wobbrock, J. O., "Gestures as Point Clouds: A $P Recognizer for User Interface Prototypes" <http://faculty.washington.edu/wobbrock/pubs/icmi-12.pdf>__, in: Proceedings of the 14th ACM International Conference on Multimodal Interaction (ICMI), Santa Monica, LA, USA, 2012, pp. 273-280.

Installation

dollarpy can be installed using pip:

::

pip install dollarpy

Usage

dollarpy is used in 3 steps:

.. code:: python

from dollarpy import Recognizer, Template, Point

# Define 'Template' gestures, each consisting of a name and a list of 'Point' elements.
# These 'Point' elements have 'x' and 'y' coordinates and optionally the stroke index a point belongs to.
tmpl_1 = Template('X', [
    Point(0, 0, 1),
    Point(1, 1, 1),
    Point(0, 1, 2),
    Point(1, 0, 2)])
tmpl_2 = Template('line', [
    Point(0, 0),
    Point(1, 0)])

# Create a 'Recognizer' object and pass the created 'Template' objects as a list.
recognizer = Recognizer([tmpl_1, tmpl_2])

# Call 'recognize(...)' to match a list of 'Point' elements to the previously defined templates.
result = recognizer.recognize([
    Point( 31, 141, 1),
    Point(109, 222, 1),
    Point( 22, 219, 2),
    Point(113, 146, 2)])
print(result)  # Output: ('X', 0.733770116545184)

.. |License| image:: https://img.shields.io/pypi/l/dollarpy.svg :target: https://www.gnu.org/licenses/lgpl.html .. |Python Compatibility| image:: https://img.shields.io/pypi/pyversions/dollarpy.svg :target: https://pypi.python.org/pypi/dollarpy/ .. |PyPI Version| image:: https://img.shields.io/pypi/v/dollarpy.svg :target: https://pypi.python.org/pypi/dollarpy/ .. |Format| image:: https://img.shields.io/pypi/format/dollarpy.svg :target: https://pypi.python.org/pypi/dollarpy/ .. |Build Status| image:: https://img.shields.io/travis/sonovice/dollarpy.svg :target: https://travis-ci.org/sonovice/dollarpy .. |Coverage Status| image:: https://img.shields.io/codecov/c/github/sonovice/dollarpy.svg :target: https://codecov.io/gh/sonovice/dollarpy

Keywords

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc