public final class

GestureUtils

extends Object
java.lang.Object
   ↳ android.gesture.GestureUtils

Class Overview

Utility functions for gesture processing & analysis, including methods for:

  • feature extraction (e.g., samplers and those for calculating bounding boxes and gesture path lengths);
  • geometric transformation (e.g., translation, rotation and scaling);
  • gesture similarity comparison (e.g., calculating Euclidean or Cosine distances between two gestures).

Summary

Public Methods
static OrientedBoundingBox computeOrientedBoundingBox(float[] originalPoints)
Computes an oriented, minimum bounding box of a set of points.
static OrientedBoundingBox computeOrientedBoundingBox(ArrayList<GesturePoint> originalPoints)
Computes an oriented, minimum bounding box of a set of points.
static float[] spatialSampling(Gesture gesture, int bitmapSize, boolean keepAspectRatio)
Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap.
static float[] spatialSampling(Gesture gesture, int bitmapSize)
Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap.
static float[] temporalSampling(GestureStroke stroke, int numPoints)
Samples a stroke temporally into a given number of evenly-distributed points.
[Expand]
Inherited Methods
From class java.lang.Object

Public Methods

public static OrientedBoundingBox computeOrientedBoundingBox (float[] originalPoints)

Since: API Level 8

Computes an oriented, minimum bounding box of a set of points.

Returns
  • an oriented bounding box

public static OrientedBoundingBox computeOrientedBoundingBox (ArrayList<GesturePoint> originalPoints)

Since: API Level 8

Computes an oriented, minimum bounding box of a set of points.

Returns
  • an oriented bounding box

public static float[] spatialSampling (Gesture gesture, int bitmapSize, boolean keepAspectRatio)

Since: API Level 8

Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. Scales the gesture to fit the size of the bitmap.

Parameters
gesture the gesture to be sampled
bitmapSize the size of the bitmap
keepAspectRatio if the scaling should keep the gesture's aspect ratio
Returns
  • a bitmapSize x bitmapSize grayscale bitmap that is represented as a 1D array. The float at index i represents the grayscale value at pixel [i%bitmapSize, i/bitmapSize]

public static float[] spatialSampling (Gesture gesture, int bitmapSize)

Since: API Level 8

Samples the gesture spatially by rendering the gesture into a 2D grayscale bitmap. Scales the gesture to fit the size of the bitmap. The scaling does not necessarily keep the aspect ratio of the gesture.

Parameters
gesture the gesture to be sampled
bitmapSize the size of the bitmap
Returns
  • a bitmapSize x bitmapSize grayscale bitmap that is represented as a 1D array. The float at index i represents the grayscale value at pixel [i%bitmapSize, i/bitmapSize]

public static float[] temporalSampling (GestureStroke stroke, int numPoints)

Since: API Level 8

Samples a stroke temporally into a given number of evenly-distributed points.

Parameters
stroke the gesture stroke to be sampled
numPoints the number of points
Returns
  • the sampled points in the form of [x1, y1, x2, y2, ..., xn, yn]