This site has been retired. For up to date information, see handbook.gnome.org or gitlab.gnome.org.


[Home] [TitleIndex] [WordIndex

This page contains the use cases for MouseTrap.

1. Main Use Cases

1.1 Start MouseTrap

1.2 Identify Tracking Points

This use case is used upon start up to initialize the image and set up the pointer movement.

  1. Capture image from camera (Controller)
  2. Detect feature and identify tracking points from image (Model)
  3. Calibrate the pointer manager (i.e., set up the kind of pointer manager (joystick and screen)
  4. Update heads-up display (HUD) (View)

1.3 Track Changes

This is the main use case for mousetrap which utilizes a Model-View-Controller architecture. First time we get the image, calculate the points for the appropriate feature.

  1. Capture new image from camera (Controller)
  2. Find previous tracking points in new image (Model)
  3. Calculate change in tracking points between previous and new image (Model)
  4. Interpret change by pointer manager to determine what type of change is required (Model)
  5. Move the pointer based on pointer manager (View)
  6. Update heads-up display (HUD) (View)

Current threads:

  1. Update pointer
  2. Update screen
  3. Calculate points - takes an X image and figures out the difference and calculates the difference
  4. UI

Classes

Controller - Coordinates all of the actions

Camera - Interface with physical camera

Tracker - Coordinates the detection of a feature and tracking of motion <Need a paragraph describing how the Tracker/FeatureDetector/MotionTracker work together.>

FeatureDetector - Detects the appropriate feature in an image

MotionTracker - Calculates the change between two images

PointerManater - Manages the change in pointer movement based on settings and algoritm (screen, joystick)

HeadsUpDisplay - Displays image and any necessary graphics (e.g., box) to window

Pointer - Coordinates the physical movement and clicking

Settings - Save/Load to Settings File

Replace Dubug class w/ Python Logger

File Structure

New File Structure


2024-10-23 11:37