Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Separate blob detection logic #18

Open
3 tasks
samamou opened this issue Nov 19, 2024 · 3 comments · Fixed by #20
Open
3 tasks

Separate blob detection logic #18

samamou opened this issue Nov 19, 2024 · 3 comments · Fixed by #20
Assignees
Labels
enhancement New feature or request

Comments

@samamou
Copy link
Member

samamou commented Nov 19, 2024

The blobDetection1D logic should be independant from the Touch class

  • Extract blobDetection1D from the Touch class
  • Move it to utils.h as a reusable function
  • Update the Touch class to use blobDetection1D from utils.h
@samamou samamou added the enhancement New feature or request label Nov 19, 2024
@jcelerier
Copy link
Collaborator

@vberthiaume maybe you can look into this one with Sarah at some point to get acquainted with Puara codebase !

@edumeneses
Copy link
Member

Can this issue be merged with #16 ?

@edumeneses
Copy link
Member

From issue #16 :

What we have now is the touch-related gestures (rub and brush/swipe) extracted from a capacitive touch array of either discrete (0 or 1) or continuous normalized values (floats between 0 and 1). The descriptor was made for the T-Stick which has one of those capacitive sensing options.

This descriptor uses a simple 1 DoF blob detection algorithm that scans the array and creates blobs by reading the sequence of activated stripes (array positions). This allows us to have multiple versions of those gestures as it keeps scanning the array and finding all blobs, their sizes, and position (mean point). The rub and brush gestures integrate each blob's position to get their "speed" in a value close to their speed in cm/s. That was fine-tuned based on the distance between stripes and the free values available for the leaky integration (i.e., there's room for improvement).

What I suggest is to separate blob detection and the brush/rub classes should use a single float to calculate.

We can make classes for multi-brush and multi-rub that rely on blob detection for the specific cases of a touch array

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging a pull request may close this issue.

4 participants