Mercurial Hosting > traffic-intelligence
annotate python/tests/utils.txt @ 509:935430b1d408
corrected mask bug in feature tracking, updated display-trajectories to display on undistorted image
author | Nicolas Saunier <nicolas.saunier@polymtl.ca> |
---|---|
date | Fri, 23 May 2014 16:27:26 -0400 |
parents | abe0b2347d4c |
children | bce1fe45d1b2 |
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 |
455
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
47 >>> mostCommon(['a','b','c','b']) |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
48 'b' |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
49 >>> mostCommon(['a','b','c','b', 'c']) |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
50 'b' |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
51 >>> mostCommon(range(10)+[1]) |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
52 1 |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
53 >>> mostCommon([range(2), range(4), range(2)]) |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
54 [0, 1] |
abe0b2347d4c
added most common utility function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
374
diff
changeset
|
55 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
56 >>> 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
|
57 >>> lcss.compute(range(5), range(5)) |
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
58 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
59 >>> lcss.compute(range(1,5), range(5)) |
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
60 4 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
61 >>> lcss.compute(range(5,10), range(5)) |
285
5957aa1d69e1
Integrating Mohamed's changes
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
152
diff
changeset
|
62 0 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
63 >>> lcss.compute(range(5), range(10)) |
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
64 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
65 >>> 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
|
66 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
67 >>> lcss.similarityFunc = lambda x,y: x == y |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
68 >>> 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
|
69 3 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
70 >>> 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
|
71 1.0 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
72 >>> 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
|
73 0.75 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
74 >>> 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
|
75 3 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
76 >>> 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
|
77 3 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
78 >>> 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
|
79 4 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
80 >>> lcss.delta = 1 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
81 >>> 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
|
82 2 |
2db4e76599a1
implemented subsequence extraction and rearranged arguments
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
366
diff
changeset
|
83 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
84 >>> lcss.delta = float('inf') |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
85 >>> 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
|
86 3 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
87 >>> lcss.subSequenceIndices |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
88 [(0, 0), (1, 1), (2, 2)] |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
89 >>> 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
|
90 3 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
91 >>> lcss.subSequenceIndices |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
92 [(0, 1), (1, 2), (2, 3)] |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
93 >>> 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
|
94 3 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
95 >>> lcss.subSequenceIndices |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
96 [(0, 0), (2, 1), (3, 2)] |
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
97 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
98 >>> 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
|
99 >>> alignedLcss.compute(range(5), range(5)) |
322
28661c5887d3
Corrected a major bug for LCSS
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
297
diff
changeset
|
100 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
101 >>> 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
|
102 4 |
90bdabc06e9f
updated LCSS to be more generic with a single similarity function
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
323
diff
changeset
|
103 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
104 >>> 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
|
105 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
106 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
107 >>> lcss.delta = 2 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
108 >>> 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
|
109 0 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
110 >>> alignedLcss.delta = 6 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
111 >>> alignedLcss.compute(range(5), range(5)) |
323
efd4dd4665ac
corrected issues with large deltas
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
322
diff
changeset
|
112 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
113 >>> alignedLcss.compute(range(5), range(6)) |
323
efd4dd4665ac
corrected issues with large deltas
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
322
diff
changeset
|
114 5 |
369
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
115 >>> lcss.delta = 10 |
027e254f0b53
lcss subclass for indicators
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
368
diff
changeset
|
116 >>> alignedLcss.compute(range(1,7), range(6)) |
323
efd4dd4665ac
corrected issues with large deltas
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
322
diff
changeset
|
117 5 |
374
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
118 >>> 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
|
119 >>> 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
|
120 8 |
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
121 >>> lcss.subSequenceIndices |
a7af3519687e
finished implementation of aligned LCSS with matching sequence decoded
Nicolas Saunier <nicolas.saunier@polymtl.ca>
parents:
369
diff
changeset
|
122 [(2, 0), (4, 1), (6, 2), (7, 3), (8, 4), (9, 5), (11, 6), (13, 7)] |