Auto-CS 2.0

https://sourceforge.net/projects/autocs/

Module CuedSpeech.whenhand.transition

Class WhenTransitionPredictorDuchnowski2000

Description

Predict hand transition moments with (Duchnowski et al., 2000) method.

Paul Duchnowski, David S. Lum, Jean C. Krause, Matthew G. Sexton, Maroula S. Bratakos, and Louis D. Braida Development of Speechreading Supplements Based in Automatic Speech Recognition IEEE Transactions on Biomedical Engineering, vol. 47, no. 4, pp. 487-496, 2000. doi: 10.1109/10.828148.

In section III.C (page 491) of this paper: "The 'dynamic' display used heuristic rules to apportion cue display time between time paused at target positions and time spent in transition between these positions. Typically, 150 ms was allocated to the transition provided the hand could pause at the target position for at least 100 ms. The movement between target positions was, thus, smooth unless the cue was short, in which case it would tend to resemble the original 'static' display."

The 'static' system mentioned here is their previous system with no transition duration described in (Duchnowski et al., 1998).

Constructor

Instantiate (Duchnowski et al. 2000) hand transition moment's predictor.

View Source
def __init__(self):
    """Instantiate (Duchnowski et al. 2000) hand transition moment's predictor.

    """
    super(WhenTransitionPredictorDuchnowski2000, self).__init__()
    self._description = MSG_DESCRIPTION_DUCHNOWSKI

Public functions

predict_position

Predict [M1,M2] the moments when the hand is moving.

Returns
  • (m1: float, m2: float)
View Source
def predict_position(self, **kwargs) -> tuple:
    """Predict [M1,M2] the moments when the hand is moving.

        :return: (m1: float, m2: float)

        """
    m1 = max(0.0, self.a1 - 0.25)
    m2 = max(0.0, self.a1 - 0.1)
    return (m1, m2)

predict_shape

Predict [D1,D2] the moments when fingers are changing.

Returns
  • (d1: float, d2: float)
View Source
def predict_shape(self, **kwargs) -> tuple:
    """Predict [D1,D2] the moments when fingers are changing.

        :return: (d1: float, d2: float)

        """
    d1 = max(0.0, self.a1 - 0.25)
    d2 = max(0.0, self.a1 - 0.1)
    return (d1, d2)