1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 package org.ximtec.igesture.algorithm.myscript;
28
29 import org.sigtec.ink.Note;
30 import org.sigtec.ink.recognition.MyScript;
31 import org.sigtec.ink.recognition.Recogniser;
32 import org.sigtec.ink.recognition.Result;
33 import org.ximtec.igesture.algorithm.DefaultAlgorithm;
34 import org.ximtec.igesture.algorithm.rubine.RubineConfiguration;
35 import org.ximtec.igesture.algorithm.rubine.RubineConfiguration.Config;
36 import org.ximtec.igesture.configuration.Configuration;
37 import org.ximtec.igesture.core.Gesture;
38 import org.ximtec.igesture.core.GestureClass;
39 import org.ximtec.igesture.core.GestureSample;
40 import org.ximtec.igesture.core.ResultSet;
41
42
43
44
45
46
47
48
49
50 public class HWRecogniser extends DefaultAlgorithm {
51
52 private Recogniser recogniser;
53
54
55 public void init(Configuration configuration) {
56 recogniser = new Recogniser();
57 recogniser.loadResource(MyScript.getResource(MyScript.EN_UK_AK_CUR));
58 recogniser.loadResource(MyScript.getResource(MyScript.EN_UK_LK_TEXT));
59 }
60
61
62 public ResultSet recognise(Gesture< ? > gesture) {
63 ResultSet resultSet = new ResultSet();
64
65 if (gesture instanceof GestureSample) {
66 Note note = ((GestureSample)gesture).getGesture();
67 Note clone = (Note)note.clone();
68 Result result = recogniser.recognise(clone);
69 resultSet.addResult(new org.ximtec.igesture.core.Result(
70 new GestureClass(result.getText()), result.getConfidence()));
71 }
72
73 return resultSet;
74 }
75
76
77 public Config[] getConfigParameters() {
78 return RubineConfiguration.Config.values();
79 }
80
81
82 @Override
83 public int getType() {
84 return -1;
85 }
86
87 }