mapgesturecontroller

Gesture Controller Project

https://github.com/jonas-hurst/mapgesturecontroller

Science Score: 44.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (10.5%) to scientific vocabulary

Keywords

azure-kinect freehand gesture-detection gesture-recognition kinect map spatial
Last synced: 6 months ago · JSON representation ·

Repository

Gesture Controller Project

Basic Info
  • Host: GitHub
  • Owner: jonas-hurst
  • License: mit
  • Language: Python
  • Default Branch: master
  • Homepage:
  • Size: 1.24 MB
Statistics
  • Stars: 0
  • Watchers: 2
  • Forks: 1
  • Open Issues: 0
  • Releases: 0
Topics
azure-kinect freehand gesture-detection gesture-recognition kinect map spatial
Created about 3 years ago · Last pushed almost 2 years ago
Metadata Files
Readme License Citation

README.md

MapGestureController

Master's Thesis Project by Jonas Hurst: Tool to enable freehand gesture interaction with digital maps. Uses Microsoft's Azure Kinect camera to track the person interacting with the map.

Supports: Pan, Zoom and Retrieve operations for maps on the web

To achieve panning, zooming and retrieving, this app simulates Touchscreen interactions. For this reason, This program interfaces Windows' Winuser.h library (./src/touchcontrol/_wrapper.py). It is therefore WINDOWS ONLY.

https://github.com/jonas-hurst/MapGestureController/assets/76062450/ee1b6a6d-1fe2-47d1-a7d1-bdeda7c36a7b

Publication

This work has been published in the AGILE 2024 conference proceedings. Please refer to this publication for more information:\ Hurst, J., Degbelo, A. and Kray, C. (2024) ‘FreeMapRetrieve: freehand gestures for retrieve operations in large-screen map environments’, in Proceedings of the 27th AGILE Conference on Geographic Information Science (AGILE 2024). Glasgow, Scotland, United Kingdom.

Starting the app

  • Install Azure Kinect Sensor SDK
  • Install Azure Kinect Body Tracking SDK
  • Install python packages via pip install -r requirements.txt
  • Connect Azure Kinect camera to your
  • run ./src/app.py

Using the app

  • Define your screen environment in screen.py file (only supports multi-screen environments with screens next to each other, not on top of each other)
  • In graphics card driver, join screens to one big screen (look for e.g. mosaic, nvidia surround, ...)
  • Click "Start Camera" button" to start the camera
  • (optional) Click "Show Feed" button do display camera feed in the UI
  • Click "Enable TouchControl" button to give the program control over the touch screen
  • Select either Pointer-to-Feature or Feature-to-Pointer Retrieve mechanism

Visualization

  • This tool is made to control maps on a web browser
  • It is a lot easier if the enduser knows, what he is pointing at currently.
  • Therefore, install this extension in your chrome browser to visualize your interactions (currently only supports OSM, GMAPS and locally hosted web pages)
  • If using this plugin, start this program first, then go to website (e.g. openstreetmap.org)
  • Browser will ask you if you want to connect to server > Click Okay
  • A dot will appear at the location you are pointing at

Gestures

  • Panning: Point somewhere in the map with one hand, make a fist, move your hand, stop makingg a fist
  • Zooming: Point at two locations in the map, Make two fists, move hands apart/together, open hands
  • Retrieving: Two different mechanisms are implemented to enable this operation
    • Pointer-to-Feature: Point at the spatial feature you want to Retrieve from, move your hand in a swift motion towards the pointer. The spatial feature where the pointer is situated at will be retrieved from.
    • Feature-to-Pointer: Pan and Zoom the map so that the spatial feature to Retrieve from is in the screen's center, behind the cross-hairs. Move your hand in a swift motion towards the pointer. Whatever is behind the cross-hairs will be retrieved from.

GUI

  • Gui is created using wxPythong
  • To modify GUI, open ./gui.fbtp file in wxFormBuilder (v. 3.10.0)
  • In wxFormBuilder, select "File > Generate Code" to generate GUI base classes (./src/guibase.py)
  • To manually modify GUI, use ./src/guibaseExtended.py, which inherits from ./src/guibase.py
  • To give functionality to GUI, use ./src/gui.py, which inherits from ./src/guibaseExtended.py

Owner

  • Name: Jonas Hurst
  • Login: jonas-hurst
  • Kind: user
  • Location: Münster, Germany

Currently studying MSc. Geoinformatics at WWU Münster

Citation (CITATION.cff)

cff-version: 1.2.0
message: "If you use this software, please cite it as below."
authors:
- family-names: "Hurst"
  given-names: "Jonas"
  orcid: "https://orcid.org/0000-0000-0000-0000"
title: "MapGestureController"
version: 1.0.0
date-released: 2023-08-09
url: "https://github.com/jonas-hurst/MapGestureController"

GitHub Events

Total
  • Fork event: 1
Last Year
  • Fork event: 1

Committers

Last synced: about 2 years ago

All Time
  • Total Commits: 272
  • Total Committers: 2
  • Avg Commits per committer: 136.0
  • Development Distribution Score (DDS): 0.037
Past Year
  • Commits: 272
  • Committers: 2
  • Avg Commits per committer: 136.0
  • Development Distribution Score (DDS): 0.037
Top Committers
Name Email Commits
hurst j****r@w****e 262
Jonas Hurst 7****t 10

Issues and Pull Requests

Last synced: about 2 years ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels