Mercurial > hg > nsaunier > traffic-intelligence
annotate python/tests/utils.txt @ 398:3399bd48cb40
Ajout d'une méthode pour obtenir le nombre de FPS
Méthode de capture des trames vidéos plus résistante aux erreur
Utilisation d'un dictionnaire pour les fichier de configuration afin de garder le nom des sections
| author | Jean-Philippe Jodoin <jpjodoin@gmail.com> |
|---|---|
| date | Mon, 29 Jul 2013 13:46:07 -0400 |
| parents | a7af3519687e |
| children | abe0b2347d4c |
| rev | line source |
|---|---|
|
31
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
1 >>> from utils import * |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
2 >>> from moving import Point |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
3 |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
4 >>> computeChi2([],[]) |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
5 0.0 |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
6 >>> computeChi2(range(1,10),range(1,10)) |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
7 0.0 |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
8 >>> computeChi2(range(1,9),range(1,10)) |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
9 0.0 |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
10 |
| 32 | 11 >>> ceilDecimals(1.23, 0) |
| 12 2.0 | |
| 13 >>> ceilDecimals(1.23, 1) | |
| 14 1.3 | |
| 15 | |
|
152
74b1fc68d4df
re-organized code to avoid cyclic python module dependencies
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
42
diff
changeset
|
16 >>> inBetween(1,2,1.5) |
|
74b1fc68d4df
re-organized code to avoid cyclic python module dependencies
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
42
diff
changeset
|
17 True |
|
74b1fc68d4df
re-organized code to avoid cyclic python module dependencies
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
42
diff
changeset
|
18 >>> inBetween(2.1,1,1.5) |
|
74b1fc68d4df
re-organized code to avoid cyclic python module dependencies
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
42
diff
changeset
|
19 True |
|
74b1fc68d4df
re-organized code to avoid cyclic python module dependencies
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
42
diff
changeset
|
20 >>> inBetween(1,2,0) |
|
74b1fc68d4df
re-organized code to avoid cyclic python module dependencies
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
42
diff
changeset
|
21 False |
|
31
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
22 |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
23 >>> f = openCheck('non_existant_file.txt') |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
24 File non_existant_file.txt could not be opened. |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
25 |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
26 >>> removeExtension('test-adfasdf.asdfa.txt') |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
27 'test-adfasdf.asdfa' |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
28 >>> removeExtension('test-adfasdf') |
|
c000f37c316d
moved tests to independent file, added chi2 computation
Nicolas Saunier <nico@confins.net>
parents:
diff
changeset
|
29 'test-adfasdf' |
|
42
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
30 |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
31 >>> values = line2Ints('1 2 3 5 6') |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
32 >>> values[0] |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
33 1 |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
34 >>> values[-1] |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
35 6 |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
36 >>> values = line2Floats('1.3 2.45 7.158e+01 5 6') |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
37 >>> values[0] |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
38 1.3 |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
39 >>> values[2] #doctest: +ELLIPSIS |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
40 71.5... |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
41 >>> values[-1] |
|
1a2ac2d4f53a
added loading of the rest of the data for objects
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
32
diff
changeset
|
42 6.0 |
|
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
43 |
|
297
f6f423e25c7f
adding function to generate step plots (for cumulative number of vehicles)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
285
diff
changeset
|
44 >>> stepPlot([3, 5, 7, 8], 1, 10, 0) |
|
f6f423e25c7f
adding function to generate step plots (for cumulative number of vehicles)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
285
diff
changeset
|
45 ([1, 3, 3, 5, 5, 7, 7, 8, 8, 10], [0, 0, 1, 1, 2, 2, 3, 3, 4, 4]) |
|
f6f423e25c7f
adding function to generate step plots (for cumulative number of vehicles)
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
285
diff
changeset
|
46 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
47 >>> lcss = LCSS(lambda x,y: abs(x-y) <= 0.1) |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
48 >>> lcss.compute(range(5), range(5)) |
|
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
49 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
50 >>> lcss.compute(range(1,5), range(5)) |
|
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
51 4 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
52 >>> lcss.compute(range(5,10), range(5)) |
|
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
53 0 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
54 >>> lcss.compute(range(5), range(10)) |
|
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
55 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
56 >>> lcss.compute(range(5), range(10), 2) |
|
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
57 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
58 >>> lcss.similarityFunc = lambda x,y: x == y |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
59 >>> lcss.compute(['a','b','c'], ['a','b','c', 'd']) |
|
366
90bdabc06e9f
updated LCSS to be more generic with a single similarity function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
323
diff
changeset
|
60 3 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
61 >>> lcss.computeNormalized(['a','b','c'], ['a','b','c', 'd']) #doctest: +ELLIPSIS |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
62 1.0 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
63 >>> lcss.computeNormalized(['a','b','c','x'], ['a','b','c', 'd']) #doctest: +ELLIPSIS |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
64 0.75 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
65 >>> lcss.compute(['a','b','c'], ['a','b','c', 'd']) |
|
366
90bdabc06e9f
updated LCSS to be more generic with a single similarity function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
323
diff
changeset
|
66 3 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
67 >>> lcss.compute(['a','x','b','c'], ['a','b','c','d','x']) |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
68 3 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
69 >>> lcss.compute(['a','b','c','x','d'], ['a','b','c','d','x']) |
|
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
70 4 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
71 >>> lcss.delta = 1 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
72 >>> lcss.compute(['a','b','c'], ['a','b','x','x','c']) |
|
368
2db4e76599a1
implemented subsequence extraction and rearranged arguments
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
366
diff
changeset
|
73 2 |
|
2db4e76599a1
implemented subsequence extraction and rearranged arguments
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
366
diff
changeset
|
74 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
75 >>> lcss.delta = float('inf') |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
76 >>> lcss.compute(['a','b','c'], ['a','b','c', 'd'], computeSubSequence = True) |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
77 3 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
78 >>> lcss.subSequenceIndices |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
79 [(0, 0), (1, 1), (2, 2)] |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
80 >>> lcss.compute(['a','b','c'], ['x','a','b','c'], computeSubSequence = True) |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
81 3 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
82 >>> lcss.subSequenceIndices |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
83 [(0, 1), (1, 2), (2, 3)] |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
84 >>> lcss.compute(['a','g','b','c'], ['a','b','c', 'd'], computeSubSequence = True) |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
85 3 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
86 >>> lcss.subSequenceIndices |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
87 [(0, 0), (2, 1), (3, 2)] |
|
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
88 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
89 >>> alignedLcss = LCSS(lambda x,y:(abs(x-y) <= 0.1), delta = 2, aligned = True) |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
90 >>> alignedLcss.compute(range(5), range(5)) |
|
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
91 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
92 >>> alignedLcss.compute(range(1,5), range(5)) |
|
366
90bdabc06e9f
updated LCSS to be more generic with a single similarity function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
323
diff
changeset
|
93 4 |
|
90bdabc06e9f
updated LCSS to be more generic with a single similarity function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
323
diff
changeset
|
94 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
95 >>> alignedLcss.compute(range(5,10), range(10)) |
|
366
90bdabc06e9f
updated LCSS to be more generic with a single similarity function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
323
diff
changeset
|
96 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
97 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
98 >>> lcss.delta = 2 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
99 >>> lcss.compute(range(5,10), range(10)) |
|
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
100 0 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
101 >>> alignedLcss.delta = 6 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
102 >>> alignedLcss.compute(range(5), range(5)) |
|
323
efd4dd4665ac
corrected issues with large deltas
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
322
diff
changeset
|
103 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
104 >>> alignedLcss.compute(range(5), range(6)) |
|
323
efd4dd4665ac
corrected issues with large deltas
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
322
diff
changeset
|
105 5 |
|
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
106 >>> lcss.delta = 10 |
|
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
107 >>> alignedLcss.compute(range(1,7), range(6)) |
|
323
efd4dd4665ac
corrected issues with large deltas
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
322
diff
changeset
|
108 5 |
|
374
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
109 >>> lcss = LCSS(lambda x,y: x == y, delta = 2, aligned = True) |
|
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
110 >>> lcss.compute(range(20), [2,4,6,7,8,9,11,13], True) |
|
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
111 8 |
|
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
112 >>> lcss.subSequenceIndices |
|
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
113 [(2, 0), (4, 1), (6, 2), (7, 3), (8, 4), (9, 5), (11, 6), (13, 7)] |
