C# Class Kinect.JointPositionsFilter

Implementation of a Holt Double Exponential Smoothing filter. The double exponential smooths the curve and predicts. There is also noise jitter removal. And maximum prediction bounds. The parameters are commented in the Init function.
显示文件 Open project: BrainProject/UnityTemp Class Usage Examples

Public Methods

Method Description
Init ( ) : void
Init ( KinectInterop smoothParameters ) : void
Init ( float smoothingValue, float correctionValue, float predictionValue, float jitterRadiusValue, float maxDeviationRadiusValue ) : void

Initialize the filter with a set of manually specified TransformSmoothParameters.

JointPositionsFilter ( ) : System
Reset ( ) : void
UpdateFilter ( KinectInterop &bodyFrame ) : void

Private Methods

Method Description
FilterBodyJoints ( KinectInterop &bodyData, int bodyIndex, KinectInterop &tempSmoothingParams ) : void
FilterJoint ( Vector3 rawPosition, int bodyIndex, int jointIndex, KinectInterop &smoothingParameters ) : Vector3

Method Details

Init() public method

public Init ( ) : void
return void

Init() public method

public Init ( KinectInterop smoothParameters ) : void
smoothParameters KinectInterop
return void

Init() public method

Initialize the filter with a set of manually specified TransformSmoothParameters.
public Init ( float smoothingValue, float correctionValue, float predictionValue, float jitterRadiusValue, float maxDeviationRadiusValue ) : void
smoothingValue float Smoothing = [0..1], lower values is closer to the raw data and more noisy.
correctionValue float Correction = [0..1], higher values correct faster and feel more responsive.
predictionValue float Prediction = [0..n], how many frames into the future we want to predict.
jitterRadiusValue float JitterRadius = The deviation distance in m that defines jitter.
maxDeviationRadiusValue float MaxDeviation = The maximum distance in m that filtered positions are allowed to deviate from raw data.
return void

JointPositionsFilter() public method

public JointPositionsFilter ( ) : System
return System

Reset() public method

public Reset ( ) : void
return void

UpdateFilter() public method

public UpdateFilter ( KinectInterop &bodyFrame ) : void
bodyFrame KinectInterop
return void