@@ -27,6 +27,24 @@ def _write_data(name, data, output_directory):
27
27
return
28
28
29
29
30
+ def _generate_variance_data (raw_data , variance ):
31
+ data = [(f , (random .uniform (v - variance , v + variance ))) for f , v in raw_data ]
32
+ assert len (raw_data ) == len (data )
33
+ return data
34
+
35
+
36
+ def _generate_spike_data (raw_data , variance , spike_probability ):
37
+ data = []
38
+ temp_data = [(f , random .uniform (v - variance , v + variance )) for f , v in raw_data ]
39
+ for (raw_f , raw_v ), (spike_f , spike_v ) in zip (raw_data , temp_data ):
40
+ if random .random () < spike_probability :
41
+ data .append ((spike_f , spike_v ))
42
+ else :
43
+ data .append ((raw_f , raw_v ))
44
+ assert len (raw_data ) == len (data )
45
+ return data
46
+
47
+
30
48
output_directory = (
31
49
'${USERPROFILE}/dev/mayaMatchMoveSolver/lib/rust/mmscenegraph/tests/data'
32
50
)
@@ -39,46 +57,66 @@ def _write_data(name, data, output_directory):
39
57
variance_high = 1.0
40
58
variance_very_high = 10.0
41
59
60
+ spike_probability_low = 0.01
61
+ spike_probability_medium = 0.1
62
+ spike_probability_high = 0.25
42
63
43
64
# Identity (all zero values)
44
65
raw_data = _sample_attr (start_frame , end_frame , 'identity.translateY' )
45
66
_write_data ('identity_raw' , raw_data , output_directory )
46
67
47
68
variance = variance_low
48
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
69
+ data = _generate_variance_data ( raw_data , variance )
49
70
_write_data ('identity_variance1' , data , output_directory )
50
71
51
72
variance = variance_medium
52
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
73
+ data = _generate_variance_data ( raw_data , variance )
53
74
_write_data ('identity_variance2' , data , output_directory )
54
75
55
76
variance = variance_high
56
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
77
+ data = _generate_variance_data ( raw_data , variance )
57
78
_write_data ('identity_variance3' , data , output_directory )
58
79
59
80
variance = variance_very_high
60
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
81
+ data = _generate_variance_data ( raw_data , variance )
61
82
_write_data ('identity_variance4' , data , output_directory )
62
83
84
+ variance = variance_low
85
+ spike_probability = spike_probability_medium
86
+ data = _generate_spike_data (raw_data , variance , spike_probability )
87
+ _write_data ('identity_spike1' , data , output_directory )
88
+
89
+ variance = variance_medium
90
+ data = _generate_spike_data (raw_data , variance , spike_probability )
91
+ _write_data ('identity_spike2' , data , output_directory )
92
+
93
+ variance = variance_high
94
+ data = _generate_spike_data (raw_data , variance , spike_probability )
95
+ _write_data ('identity_spike3' , data , output_directory )
96
+
97
+ variance = variance_very_high
98
+ data = _generate_spike_data (raw_data , variance , spike_probability )
99
+ _write_data ('identity_spike4' , data , output_directory )
100
+
63
101
64
102
# Degrees 45 - Up
65
103
raw_data = _sample_attr (start_frame , end_frame , 'degree_45_up.translateY' )
66
104
_write_data ('degree_45_up_raw' , raw_data , output_directory )
67
105
68
106
variance = variance_low
69
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
107
+ data = _generate_variance_data ( raw_data , variance )
70
108
_write_data ('degree_45_up_variance1' , data , output_directory )
71
109
72
110
variance = variance_medium
73
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
111
+ data = _generate_variance_data ( raw_data , variance )
74
112
_write_data ('degree_45_up_variance2' , data , output_directory )
75
113
76
114
variance = variance_high
77
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
115
+ data = _generate_variance_data ( raw_data , variance )
78
116
_write_data ('degree_45_up_variance3' , data , output_directory )
79
117
80
118
variance = variance_very_high
81
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
119
+ data = _generate_variance_data ( raw_data , variance )
82
120
_write_data ('degree_45_up_variance4' , data , output_directory )
83
121
84
122
@@ -87,19 +125,19 @@ def _write_data(name, data, output_directory):
87
125
_write_data ('degree_45_down_raw' , raw_data , output_directory )
88
126
89
127
variance = variance_low
90
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
128
+ data = _generate_variance_data ( raw_data , variance )
91
129
_write_data ('degree_45_down_variance1' , data , output_directory )
92
130
93
131
variance = variance_medium
94
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
132
+ data = _generate_variance_data ( raw_data , variance )
95
133
_write_data ('degree_45_down_variance2' , data , output_directory )
96
134
97
135
variance = variance_high
98
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
136
+ data = _generate_variance_data ( raw_data , variance )
99
137
_write_data ('degree_45_down_variance3' , data , output_directory )
100
138
101
139
variance = variance_very_high
102
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
140
+ data = _generate_variance_data ( raw_data , variance )
103
141
_write_data ('degree_45_down_variance4' , data , output_directory )
104
142
105
143
@@ -108,19 +146,19 @@ def _write_data(name, data, output_directory):
108
146
_write_data ('linear_2_point_raw' , raw_data , output_directory )
109
147
110
148
variance = variance_low
111
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
149
+ data = _generate_variance_data ( raw_data , variance )
112
150
_write_data ('linear_2_point_variance1' , data , output_directory )
113
151
114
152
variance = variance_medium
115
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
153
+ data = _generate_variance_data ( raw_data , variance )
116
154
_write_data ('linear_2_point_variance2' , data , output_directory )
117
155
118
156
variance = variance_high
119
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
157
+ data = _generate_variance_data ( raw_data , variance )
120
158
_write_data ('linear_2_point_variance3' , data , output_directory )
121
159
122
160
variance = variance_very_high
123
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
161
+ data = _generate_variance_data ( raw_data , variance )
124
162
_write_data ('linear_2_point_variance4' , data , output_directory )
125
163
126
164
@@ -129,40 +167,57 @@ def _write_data(name, data, output_directory):
129
167
_write_data ('linear_3_point_raw' , raw_data , output_directory )
130
168
131
169
variance = variance_low
132
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
170
+ data = _generate_variance_data ( raw_data , variance )
133
171
_write_data ('linear_3_point_variance1' , data , output_directory )
134
172
135
173
variance = variance_medium
136
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
174
+ data = _generate_variance_data ( raw_data , variance )
137
175
_write_data ('linear_3_point_variance2' , data , output_directory )
138
176
139
177
variance = variance_high
140
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
178
+ data = _generate_variance_data ( raw_data , variance )
141
179
_write_data ('linear_3_point_variance3' , data , output_directory )
142
180
143
181
variance = variance_very_high
144
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
182
+ data = _generate_variance_data ( raw_data , variance )
145
183
_write_data ('linear_3_point_variance4' , data , output_directory )
146
184
185
+ variance = variance_low
186
+ spike_probability = spike_probability_medium
187
+ data = _generate_spike_data (raw_data , variance , spike_probability )
188
+ _write_data ('linear_3_point_spike1' , data , output_directory )
189
+
190
+ variance = variance_medium
191
+ data = _generate_spike_data (raw_data , variance , spike_probability )
192
+ _write_data ('linear_3_point_spike2' , data , output_directory )
193
+
194
+ variance = variance_high
195
+ data = _generate_spike_data (raw_data , variance , spike_probability )
196
+ _write_data ('linear_3_point_spike3' , data , output_directory )
197
+
198
+ variance = variance_very_high
199
+ _generate_spike_data (raw_data , variance , spike_probability )
200
+ data = _write_data ('linear_3_point_spike4' , data , output_directory )
201
+
147
202
148
203
# Linear (4-point)
149
204
raw_data = _sample_attr (start_frame , end_frame , 'linear_4_point.translateY' )
150
205
_write_data ('linear_4_point_raw' , raw_data , output_directory )
151
206
152
207
variance = variance_low
153
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
208
+ data = _generate_variance_data ( raw_data , variance )
154
209
_write_data ('linear_4_point_variance1' , data , output_directory )
155
210
156
211
variance = variance_medium
157
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
212
+ data = _generate_variance_data ( raw_data , variance )
158
213
_write_data ('linear_4_point_variance2' , data , output_directory )
159
214
160
215
variance = variance_high
161
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
216
+ data = _generate_variance_data ( raw_data , variance )
162
217
_write_data ('linear_4_point_variance3' , data , output_directory )
163
218
164
219
variance = variance_very_high
165
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
220
+ data = _generate_variance_data ( raw_data , variance )
166
221
_write_data ('linear_4_point_variance4' , data , output_directory )
167
222
168
223
@@ -171,19 +226,19 @@ def _write_data(name, data, output_directory):
171
226
_write_data ('up_down_up_raw' , raw_data , output_directory )
172
227
173
228
variance = variance_low
174
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
229
+ data = _generate_variance_data ( raw_data , variance )
175
230
_write_data ('up_down_up_variance1' , data , output_directory )
176
231
177
232
variance = variance_medium
178
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
233
+ data = _generate_variance_data ( raw_data , variance )
179
234
_write_data ('up_down_up_variance2' , data , output_directory )
180
235
181
236
variance = variance_high
182
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
237
+ data = _generate_variance_data ( raw_data , variance )
183
238
_write_data ('up_down_up_variance3' , data , output_directory )
184
239
185
240
variance = variance_very_high
186
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
241
+ data = _generate_variance_data ( raw_data , variance )
187
242
_write_data ('up_down_up_variance4' , data , output_directory )
188
243
189
244
@@ -192,19 +247,19 @@ def _write_data(name, data, output_directory):
192
247
_write_data ('down_up_down_raw' , raw_data , output_directory )
193
248
194
249
variance = variance_low
195
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
250
+ data = _generate_variance_data ( raw_data , variance )
196
251
_write_data ('down_up_down_variance1' , data , output_directory )
197
252
198
253
variance = variance_medium
199
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
254
+ data = _generate_variance_data ( raw_data , variance )
200
255
_write_data ('down_up_down_variance2' , data , output_directory )
201
256
202
257
variance = variance_high
203
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
258
+ data = _generate_variance_data ( raw_data , variance )
204
259
_write_data ('down_up_down_variance3' , data , output_directory )
205
260
206
261
variance = variance_very_high
207
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
262
+ data = _generate_variance_data ( raw_data , variance )
208
263
_write_data ('down_up_down_variance4' , data , output_directory )
209
264
210
265
@@ -213,17 +268,17 @@ def _write_data(name, data, output_directory):
213
268
_write_data ('bounce_5_up_down_raw' , raw_data , output_directory )
214
269
215
270
variance = variance_low
216
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
271
+ data = _generate_variance_data ( raw_data , variance )
217
272
_write_data ('bounce_5_up_down_variance1' , data , output_directory )
218
273
219
274
variance = variance_medium
220
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
275
+ data = _generate_variance_data ( raw_data , variance )
221
276
_write_data ('bounce_5_up_down_variance2' , data , output_directory )
222
277
223
278
variance = variance_high
224
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
279
+ data = _generate_variance_data ( raw_data , variance )
225
280
_write_data ('bounce_5_up_down_variance3' , data , output_directory )
226
281
227
282
variance = variance_very_high
228
- data = [( f , ( random . uniform ( v - variance , v + variance ))) for f , v in raw_data ]
283
+ data = _generate_variance_data ( raw_data , variance )
229
284
_write_data ('bounce_5_up_down_variance4' , data , output_directory )
0 commit comments