/// \fn private AKN_HiddenMarkovModel<int> _MSetEmissions(AKN_HiddenMarkovModel<int> _gestureHmm, List<int> _directions) /// /// \brief Update constructed Hmm with new emissions values. /// /// \author Khoubaeib Klai | [email protected] /// \date 24/04/2014 /// /// \param _gestureHmm HMM to update. /// /// \return new HMM with updated values. private AKN_HiddenMarkovModel <int> _MSetEmissions(AKN_HiddenMarkovModel <int> _gestureHmm, List <int> _directions) { for (int j = 0; j < _gestureHmm.m_StatesCount; j++) { if (_directions[j] == 17) { _gestureHmm.MSetEmission(j, 17, 1f); } else if (_directions[j] > 0) { _gestureHmm.MSetEmission(j, _MAdjustAngle(_directions[j] + 2), 0.15F); _gestureHmm.MSetEmission(j, _MAdjustAngle(_directions[j] + 1), 0.2F); _gestureHmm.MSetEmission(j, _MAdjustAngle(_directions[j]), 0.3F); _gestureHmm.MSetEmission(j, _MAdjustAngle(_directions[j] - 1), 0.20F); _gestureHmm.MSetEmission(j, _MAdjustAngle(_directions[j] - 2), 0.15F); } } return(_gestureHmm); }