Android APIs
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)

Added in API level 8

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

Returns
OrientedBoundingBox an oriented bounding box

public static OrientedBoundingBox computeOrientedBoundingBox (ArrayList<GesturePoint> originalPoints)

Added in API level 8

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

Returns
OrientedBoundingBox an oriented bounding box

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

Added in 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 Gesture: the gesture to be sampled
bitmapSize int: the size of the bitmap
keepAspectRatio boolean: if the scaling should keep the gesture's aspect ratio
Returns
float[] 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)

Added in 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 Gesture: the gesture to be sampled
bitmapSize int: the size of the bitmap
Returns
float[] 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)

Added in API level 8

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

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