Home Forums Software Development Heavy Filtering of gaze data

Viewing 4 posts - 1 through 4 (of 4 total)
  • Author
    Posts
  • #3055
    Mark Gatrell
    Participant

    I am using the EyeXHost engine to determine the current gaze point etc .
    Using C# (GazePointDataStream) all is working ok.

    I have been using the GazePointDataMode.LightlyFiltered datastream.
    I have noticed that one of your showcase applications manages to filter the data very well and gives a smooth motion to the eye position on the screen.

    Would you mind telling me if this filter is available via the SDK.

    If not would you mind telling me the filter method?

    Thanks for your help

    regards

    Mark.

    #3059
    Jenny [Tobii]
    Participant

    Hi Mark,

    There is currently no heavy filtering version of the Gaze Point Data stream in the EyeX Engine API. If you want to create a smoothing filter yourself, my collegue Robert had the following suggestion in a separate topic:

    One easy filter that is quite efficient is a weighted moving average filter, for example the exponentially decaying filter discussed in this StackOverflow thread. For further reading, this paper includes a good summary.

    This is the smoothing algorithm we use to create the smoothed movement of the light in the flashlight sample scene in the EyeX SDK for Unity:

    public float alpha = 0.3f;
     private Vector2 _historicPoint;
     private bool _hasHistoricPoint:t;
    (...)
     private Vector2 Smoothify(Vector2 point)
    {
    	if (!_hasHistoricPoint)
    	{
    		_historicPoint = point;
    		_hasHistoricPoint = true;
    	}
    
    	var smoothedPoint = new Vector2(point.x*alpha + _historicPoint.x*(1.0f - alpha),
    		point.y*alpha + _historicPoint.y*(1.0f - alpha));
    
    	_historicPoint = smoothedPoint;
    
    	return smoothedPoint;
    }
    #6572
    chaitanya
    Participant

    hi jenny is there any other alternative to get the accurate eye position on the screen where we are looking at

    #6578
    Grant [Tobii]
    Keymaster

    Hi @chaitu, What do you mean by alternative to eye position on screen? Certainly the GazePointDataStream provides the location of where the user is looking to best accuracy available.

    If you mean however the actual eyeball position itself in 3D space, I am afraid this metric is no longer available.

    Please kindly clarify your request and I will see what I can find out.

Viewing 4 posts - 1 through 4 (of 4 total)
  • You must be logged in to reply to this topic.