startCalibration method

  1. @override
Future<bool> startCalibration(
  1. List<CalibrationPoint> points
)
override

Implementation

@override
Future<bool> startCalibration(List<CalibrationPoint> points) async {
  if (_currentState != EyeTrackingState.ready &&
      _currentState != EyeTrackingState.warmingUp &&
      _currentState != EyeTrackingState.tracking) {
    return false;
  }

  // await _ensureTrackerOn();
  // await _awaitLiveFrames(timeout: const Duration(seconds: 3));

  _calibTrainSamples = 0;
  _calibEvalSamples = 0;
  _sumErrPx = 0.0;
  _lastAccuracy01 = 0.0;

  try {
    _calibrationPoints = List.from(points);
    _isCalibrating = true;
    _emitNewState(EyeTrackingState.calibrating);

    // Clear existing calibration if WebGazer is loaded
    if (_webGazerStarted && _hasWebGazerProperty()) {
      try {
        _callWebGazerMethod('clearData');
      } catch (e) {
        _evalJS('webgazer.clearData()');
      }
    }

    return true;
  } catch (e) {
    return false;
  }
}