Add igor.packed.walk for traversing a packed experiment filesystem.
[igor.git] / test / test.py
1 # Copyright
2
3 r"""Test the igor module by loading sample files.
4
5 >>> dumpibw('mac-double.ibw')  # doctest: +REPORT_UDIFF
6 {'version': 2,
7  'wave': {'bin_header': {'checksum': 25137,
8                          'noteSize': 0,
9                          'pictSize': 0,
10                          'wfmSize': 166},
11           'note': '',
12           'padding': array([], dtype=float64),
13           'wData': array([ 5.,  4.,  3.,  2.,  1.]),
14           'wave_header': {'aModified': 0,
15                           'bname': 'double',
16                           'botFullScale': 0.0,
17                           'creationDate': 3001587842,
18                           'dataUnits': array(['', '', '', ''],
19       dtype='|S1'),
20                           'depID': 0,
21                           'fileName': 0,
22                           'formula': 0,
23                           'fsValid': 0,
24                           'hsA': 1.0,
25                           'hsB': 0.0,
26                           'kindBits': '\x00',
27                           'modDate': 3001587842,
28                           'next': 0,
29                           'npnts': 5,
30                           'srcFldr': 0,
31                           'swModified': 0,
32                           'topFullScale': 0.0,
33                           'type': 4,
34                           'useBits': '\x00',
35                           'wModified': 0,
36                           'wUnused': array(['', ''],
37       dtype='|S1'),
38                           'waveNoteH': 0,
39                           'whVersion': 0,
40                           'xUnits': array(['', '', '', ''],
41       dtype='|S1')}}}
42
43 >>> dumpibw('mac-textWave.ibw')  # doctest: +REPORT_UDIFF
44 {'version': 5,
45  'wave': {'bin_header': {'checksum': 5554,
46                          'dataEUnitsSize': 0,
47                          'dimEUnitsSize': array([0, 0, 0, 0]),
48                          'dimLabelsSize': array([0, 0, 0, 0]),
49                          'formulaSize': 0,
50                          'noteSize': 0,
51                          'optionsSize1': 0,
52                          'optionsSize2': 0,
53                          'sIndicesSize': 20,
54                          'wfmSize': 338},
55           'data_units': '',
56           'dimension_units': '',
57           'formula': '',
58           'labels': [[], [], [], []],
59           'note': '',
60           'sIndices': array([ 4,  7,  8, 14, 18]),
61           'wData': array(['Mary', 'had', 'a', 'little', 'lamb'],
62       dtype='|S6'),
63           'wave_header': {'aModified': 0,
64                           'bname': 'text0',
65                           'botFullScale': 0.0,
66                           'creationDate': 3001571199,
67                           'dFolder': 69554896,
68                           'dLock': 0,
69                           'dataEUnits': 0,
70                           'dataUnits': array(['', '', '', ''],
71       dtype='|S1'),
72                           'depID': 22,
73                           'dimEUnits': array([0, 0, 0, 0]),
74                           'dimLabels': array([0, 0, 0, 0]),
75                           'dimUnits': array([['', '', '', ''],
76        ['', '', '', ''],
77        ['', '', '', ''],
78        ['', '', '', '']],
79       dtype='|S1'),
80                           'fileName': 0,
81                           'formula': 0,
82                           'fsValid': 0,
83                           'kindBits': '\x00',
84                           'modDate': 3001571215,
85                           'nDim': array([5, 0, 0, 0]),
86                           'next': 0,
87                           'npnts': 5,
88                           'sIndices': 69557296,
89                           'sfA': array([ 1.,  1.,  1.,  1.]),
90                           'sfB': array([ 0.,  0.,  0.,  0.]),
91                           'srcFldr': 0,
92                           'swModified': 1,
93                           'topFullScale': 0.0,
94                           'type': 0,
95                           'useBits': '\x00',
96                           'wModified': 0,
97                           'waveNoteH': 0,
98                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
99                           'whVersion': 1,
100                           'whpad1': array(['', '', '', '', '', ''],
101       dtype='|S1'),
102                           'whpad2': 0,
103                           'whpad3': 0,
104                           'whpad4': 0}}}
105
106 >>> dumpibw('mac-version2.ibw')  # doctest: +REPORT_UDIFF
107 {'version': 2,
108  'wave': {'bin_header': {'checksum': -16803,
109                          'noteSize': 15,
110                          'pictSize': 0,
111                          'wfmSize': 146},
112           'note': 'This is a test.',
113           'padding': array([], dtype=float64),
114           'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
115           'wave_header': {'aModified': 0,
116                           'bname': 'version2',
117                           'botFullScale': 0.0,
118                           'creationDate': 3001251979,
119                           'dataUnits': array(['', '', '', ''],
120       dtype='|S1'),
121                           'depID': 0,
122                           'fileName': 0,
123                           'formula': 0,
124                           'fsValid': 0,
125                           'hsA': 1.0,
126                           'hsB': 0.0,
127                           'kindBits': '\x00',
128                           'modDate': 3001573594,
129                           'next': 0,
130                           'npnts': 5,
131                           'srcFldr': 0,
132                           'swModified': 0,
133                           'topFullScale': 0.0,
134                           'type': 2,
135                           'useBits': '\x00',
136                           'wModified': 0,
137                           'wUnused': array(['', ''],
138       dtype='|S1'),
139                           'waveNoteH': 0,
140                           'whVersion': 0,
141                           'xUnits': array(['', '', '', ''],
142       dtype='|S1')}}}
143
144 >>> dumpibw('mac-version3Dependent.ibw')  # doctest: +REPORT_UDIFF
145 {'version': 3,
146  'wave': {'bin_header': {'checksum': -32334,
147                          'formulaSize': 4,
148                          'noteSize': 0,
149                          'pictSize': 0,
150                          'wfmSize': 126},
151           'formula': ' K0',
152           'note': '',
153           'padding': array([], dtype=float64),
154           'wData': array([], dtype=float32),
155           'wave_header': {'aModified': 3,
156                           'bname': 'version3Dependent',
157                           'botFullScale': 0.0,
158                           'creationDate': 0,
159                           'dataUnits': array(['', '', '', ''],
160       dtype='|S1'),
161                           'depID': 23,
162                           'fileName': 0,
163                           'formula': 103408364,
164                           'fsValid': 0,
165                           'hsA': 1.0,
166                           'hsB': 0.0,
167                           'kindBits': '\x00',
168                           'modDate': 3001672861,
169                           'next': 0,
170                           'npnts': 10,
171                           'srcFldr': 0,
172                           'swModified': 1,
173                           'topFullScale': 0.0,
174                           'type': 2,
175                           'useBits': '\x00',
176                           'wModified': 1,
177                           'wUnused': array(['', ''],
178       dtype='|S1'),
179                           'waveNoteH': 0,
180                           'whVersion': 0,
181                           'xUnits': array(['', '', '', ''],
182       dtype='|S1')}}}
183
184 >>> dumpibw('mac-version5.ibw')  # doctest: +REPORT_UDIFF
185 {'version': 5,
186  'wave': {'bin_header': {'checksum': -12033,
187                          'dataEUnitsSize': 0,
188                          'dimEUnitsSize': array([0, 0, 0, 0]),
189                          'dimLabelsSize': array([64,  0,  0,  0]),
190                          'formulaSize': 0,
191                          'noteSize': 15,
192                          'optionsSize1': 0,
193                          'optionsSize2': 0,
194                          'sIndicesSize': 0,
195                          'wfmSize': 340},
196           'data_units': '',
197           'dimension_units': '',
198           'formula': '',
199           'labels': [['Column0'], [], [], []],
200           'note': 'This is a test.',
201           'sIndices': array([], dtype=float64),
202           'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
203           'wave_header': {'aModified': 0,
204                           'bname': 'version5',
205                           'botFullScale': 0.0,
206                           'creationDate': 3001252180,
207                           'dFolder': 69554896,
208                           'dLock': 0,
209                           'dataEUnits': 0,
210                           'dataUnits': array(['', '', '', ''],
211       dtype='|S1'),
212                           'depID': 27,
213                           'dimEUnits': array([0, 0, 0, 0]),
214                           'dimLabels': array([69554136,        0,        0,        0]),
215                           'dimUnits': array([['', '', '', ''],
216        ['', '', '', ''],
217        ['', '', '', ''],
218        ['', '', '', '']],
219       dtype='|S1'),
220                           'fileName': 69554292,
221                           'formula': 0,
222                           'fsValid': 0,
223                           'kindBits': '\x00',
224                           'modDate': 3001573601,
225                           'nDim': array([5, 0, 0, 0]),
226                           'next': 69555212,
227                           'npnts': 5,
228                           'sIndices': 0,
229                           'sfA': array([ 1.,  1.,  1.,  1.]),
230                           'sfB': array([ 0.,  0.,  0.,  0.]),
231                           'srcFldr': -32349,
232                           'swModified': 1,
233                           'topFullScale': 0.0,
234                           'type': 2,
235                           'useBits': '\x00',
236                           'wModified': 0,
237                           'waveNoteH': 69554032,
238                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
239                           'whVersion': 1,
240                           'whpad1': array(['', '', '', '', '', ''],
241       dtype='|S1'),
242                           'whpad2': 0,
243                           'whpad3': 0,
244                           'whpad4': 0}}}
245
246 >>> dumpibw('mac-zeroPointWave.ibw')  # doctest: +REPORT_UDIFF
247 {'version': 5,
248  'wave': {'bin_header': {'checksum': -15649,
249                          'dataEUnitsSize': 0,
250                          'dimEUnitsSize': array([0, 0, 0, 0]),
251                          'dimLabelsSize': array([0, 0, 0, 0]),
252                          'formulaSize': 0,
253                          'noteSize': 0,
254                          'optionsSize1': 0,
255                          'optionsSize2': 0,
256                          'sIndicesSize': 0,
257                          'wfmSize': 320},
258           'data_units': '',
259           'dimension_units': '',
260           'formula': '',
261           'labels': [[], [], [], []],
262           'note': '',
263           'sIndices': array([], dtype=float64),
264           'wData': array([], dtype=float32),
265           'wave_header': {'aModified': 3,
266                           'bname': 'zeroWave',
267                           'botFullScale': 0.0,
268                           'creationDate': 3001573964,
269                           'dFolder': 69554896,
270                           'dLock': 0,
271                           'dataEUnits': 0,
272                           'dataUnits': array(['', '', '', ''],
273       dtype='|S1'),
274                           'depID': 29,
275                           'dimEUnits': array([0, 0, 0, 0]),
276                           'dimLabels': array([0, 0, 0, 0]),
277                           'dimUnits': array([['', '', '', ''],
278        ['', '', '', ''],
279        ['', '', '', ''],
280        ['', '', '', '']],
281       dtype='|S1'),
282                           'fileName': 0,
283                           'formula': 0,
284                           'fsValid': 0,
285                           'kindBits': '\x00',
286                           'modDate': 3001573964,
287                           'nDim': array([0, 0, 0, 0]),
288                           'next': 0,
289                           'npnts': 0,
290                           'sIndices': 0,
291                           'sfA': array([ 1.,  1.,  1.,  1.]),
292                           'sfB': array([ 0.,  0.,  0.,  0.]),
293                           'srcFldr': 0,
294                           'swModified': 1,
295                           'topFullScale': 0.0,
296                           'type': 2,
297                           'useBits': '\x00',
298                           'wModified': 1,
299                           'waveNoteH': 0,
300                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
301                           'whVersion': 1,
302                           'whpad1': array(['', '', '', '', '', ''],
303       dtype='|S1'),
304                           'whpad2': 0,
305                           'whpad3': 0,
306                           'whpad4': 0}}}
307
308 >>> dumpibw('win-double.ibw')  # doctest: +REPORT_UDIFF
309 {'version': 2,
310  'wave': {'bin_header': {'checksum': 28962,
311                          'noteSize': 0,
312                          'pictSize': 0,
313                          'wfmSize': 166},
314           'note': '',
315           'padding': array([], dtype=float64),
316           'wData': array([ 5.,  4.,  3.,  2.,  1.]),
317           'wave_header': {'aModified': 0,
318                           'bname': 'double',
319                           'botFullScale': 0.0,
320                           'creationDate': 3001587842,
321                           'dataUnits': array(['', '', '', ''],
322       dtype='|S1'),
323                           'depID': 0,
324                           'fileName': 0,
325                           'formula': 0,
326                           'fsValid': 0,
327                           'hsA': 1.0,
328                           'hsB': 0.0,
329                           'kindBits': '\x00',
330                           'modDate': 3001587842,
331                           'next': 0,
332                           'npnts': 5,
333                           'srcFldr': 0,
334                           'swModified': 0,
335                           'topFullScale': 0.0,
336                           'type': 4,
337                           'useBits': '\x00',
338                           'wModified': 0,
339                           'wUnused': array(['', ''],
340       dtype='|S1'),
341                           'waveNoteH': 0,
342                           'whVersion': 0,
343                           'xUnits': array(['', '', '', ''],
344       dtype='|S1')}}}
345
346 >>> dumpibw('win-textWave.ibw')  # doctest: +REPORT_UDIFF
347 {'version': 5,
348  'wave': {'bin_header': {'checksum': 184,
349                          'dataEUnitsSize': 0,
350                          'dimEUnitsSize': array([0, 0, 0, 0]),
351                          'dimLabelsSize': array([0, 0, 0, 0]),
352                          'formulaSize': 0,
353                          'noteSize': 0,
354                          'optionsSize1': 0,
355                          'optionsSize2': 0,
356                          'sIndicesSize': 20,
357                          'wfmSize': 338},
358           'data_units': '',
359           'dimension_units': '',
360           'formula': '',
361           'labels': [[], [], [], []],
362           'note': '',
363           'sIndices': array([ 4,  7,  8, 14, 18]),
364           'wData': array(['Mary', 'had', 'a', 'little', 'lamb'],
365       dtype='|S6'),
366           'wave_header': {'aModified': 0,
367                           'bname': 'text0',
368                           'botFullScale': 0.0,
369                           'creationDate': 3001571199,
370                           'dFolder': 8108612,
371                           'dLock': 0,
372                           'dataEUnits': 0,
373                           'dataUnits': array(['', '', '', ''],
374       dtype='|S1'),
375                           'depID': 32,
376                           'dimEUnits': array([0, 0, 0, 0]),
377                           'dimLabels': array([0, 0, 0, 0]),
378                           'dimUnits': array([['', '', '', ''],
379        ['', '', '', ''],
380        ['', '', '', ''],
381        ['', '', '', '']],
382       dtype='|S1'),
383                           'fileName': 7814472,
384                           'formula': 0,
385                           'fsValid': 0,
386                           'kindBits': '\x00',
387                           'modDate': 3001571215,
388                           'nDim': array([5, 0, 0, 0]),
389                           'next': 0,
390                           'npnts': 5,
391                           'sIndices': 8133100,
392                           'sfA': array([ 1.,  1.,  1.,  1.]),
393                           'sfB': array([ 0.,  0.,  0.,  0.]),
394                           'srcFldr': -1007,
395                           'swModified': 0,
396                           'topFullScale': 0.0,
397                           'type': 0,
398                           'useBits': '\x00',
399                           'wModified': 1,
400                           'waveNoteH': 0,
401                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
402                           'whVersion': 1,
403                           'whpad1': array(['', '', '', '', '', ''],
404       dtype='|S1'),
405                           'whpad2': 0,
406                           'whpad3': 0,
407                           'whpad4': 0}}}
408
409 >>> dumpibw('win-version2.ibw')  # doctest: +REPORT_UDIFF
410 {'version': 2,
411  'wave': {'bin_header': {'checksum': 1047,
412                          'noteSize': 15,
413                          'pictSize': 0,
414                          'wfmSize': 146},
415           'note': 'This is a test.',
416           'padding': array([], dtype=float64),
417           'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
418           'wave_header': {'aModified': 0,
419                           'bname': 'version2',
420                           'botFullScale': 0.0,
421                           'creationDate': 3001251979,
422                           'dataUnits': array(['', '', '', ''],
423       dtype='|S1'),
424                           'depID': 0,
425                           'fileName': 0,
426                           'formula': 0,
427                           'fsValid': 0,
428                           'hsA': 1.0,
429                           'hsB': 0.0,
430                           'kindBits': '\x00',
431                           'modDate': 3001573594,
432                           'next': 0,
433                           'npnts': 5,
434                           'srcFldr': 0,
435                           'swModified': 0,
436                           'topFullScale': 0.0,
437                           'type': 2,
438                           'useBits': '\x00',
439                           'wModified': 0,
440                           'wUnused': array(['', ''],
441       dtype='|S1'),
442                           'waveNoteH': 0,
443                           'whVersion': 0,
444                           'xUnits': array(['', '', '', ''],
445       dtype='|S1')}}}
446
447 >>> dumpibw('win-version5.ibw')  # doctest: +REPORT_UDIFF
448 {'version': 5,
449  'wave': {'bin_header': {'checksum': 13214,
450                          'dataEUnitsSize': 0,
451                          'dimEUnitsSize': array([0, 0, 0, 0]),
452                          'dimLabelsSize': array([64,  0,  0,  0]),
453                          'formulaSize': 0,
454                          'noteSize': 15,
455                          'optionsSize1': 0,
456                          'optionsSize2': 0,
457                          'sIndicesSize': 0,
458                          'wfmSize': 340},
459           'data_units': '',
460           'dimension_units': '',
461           'formula': '',
462           'labels': [['Column0'], [], [], []],
463           'note': 'This is a test.',
464           'sIndices': array([], dtype=float64),
465           'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
466           'wave_header': {'aModified': 0,
467                           'bname': 'version5',
468                           'botFullScale': 0.0,
469                           'creationDate': 3001252180,
470                           'dFolder': 8108612,
471                           'dLock': 0,
472                           'dataEUnits': 0,
473                           'dataUnits': array(['', '', '', ''],
474       dtype='|S1'),
475                           'depID': 30,
476                           'dimEUnits': array([0, 0, 0, 0]),
477                           'dimLabels': array([8138784,       0,       0,       0]),
478                           'dimUnits': array([['', '', '', ''],
479        ['', '', '', ''],
480        ['', '', '', ''],
481        ['', '', '', '']],
482       dtype='|S1'),
483                           'fileName': 8131824,
484                           'formula': 0,
485                           'fsValid': 0,
486                           'kindBits': '\x00',
487                           'modDate': 3001573601,
488                           'nDim': array([5, 0, 0, 0]),
489                           'next': 8125236,
490                           'npnts': 5,
491                           'sIndices': 0,
492                           'sfA': array([ 1.,  1.,  1.,  1.]),
493                           'sfB': array([ 0.,  0.,  0.,  0.]),
494                           'srcFldr': -1007,
495                           'swModified': 0,
496                           'topFullScale': 0.0,
497                           'type': 2,
498                           'useBits': '\x00',
499                           'wModified': 1,
500                           'waveNoteH': 8131596,
501                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
502                           'whVersion': 1,
503                           'whpad1': array(['', '', '', '', '', ''],
504       dtype='|S1'),
505                           'whpad2': 0,
506                           'whpad3': 0,
507                           'whpad4': 0}}}
508
509 >>> dumpibw('win-zeroPointWave.ibw')  # doctest: +REPORT_UDIFF
510 {'version': 5,
511  'wave': {'bin_header': {'checksum': 27541,
512                          'dataEUnitsSize': 0,
513                          'dimEUnitsSize': array([0, 0, 0, 0]),
514                          'dimLabelsSize': array([0, 0, 0, 0]),
515                          'formulaSize': 0,
516                          'noteSize': 0,
517                          'optionsSize1': 0,
518                          'optionsSize2': 0,
519                          'sIndicesSize': 0,
520                          'wfmSize': 320},
521           'data_units': '',
522           'dimension_units': '',
523           'formula': '',
524           'labels': [[], [], [], []],
525           'note': '',
526           'sIndices': array([], dtype=float64),
527           'wData': array([], dtype=float32),
528           'wave_header': {'aModified': 3,
529                           'bname': 'zeroWave',
530                           'botFullScale': 0.0,
531                           'creationDate': 3001573964,
532                           'dFolder': 8108612,
533                           'dLock': 0,
534                           'dataEUnits': 0,
535                           'dataUnits': array(['', '', '', ''],
536       dtype='|S1'),
537                           'depID': 31,
538                           'dimEUnits': array([0, 0, 0, 0]),
539                           'dimLabels': array([0, 0, 0, 0]),
540                           'dimUnits': array([['', '', '', ''],
541        ['', '', '', ''],
542        ['', '', '', ''],
543        ['', '', '', '']],
544       dtype='|S1'),
545                           'fileName': 8125252,
546                           'formula': 0,
547                           'fsValid': 0,
548                           'kindBits': '\x00',
549                           'modDate': 3001573964,
550                           'nDim': array([0, 0, 0, 0]),
551                           'next': 8133140,
552                           'npnts': 0,
553                           'sIndices': 0,
554                           'sfA': array([ 1.,  1.,  1.,  1.]),
555                           'sfB': array([ 0.,  0.,  0.,  0.]),
556                           'srcFldr': -1007,
557                           'swModified': 0,
558                           'topFullScale': 0.0,
559                           'type': 2,
560                           'useBits': '\x00',
561                           'wModified': 1,
562                           'waveNoteH': 0,
563                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
564                           'whVersion': 1,
565                           'whpad1': array(['', '', '', '', '', ''],
566       dtype='|S1'),
567                           'whpad2': 0,
568                           'whpad3': 0,
569                           'whpad4': 0}}}
570
571 >>> dumppxp('polar-graphs-demo.pxp')    # doctest: +REPORT_UDIFF, +ELLIPSIS
572 record 0:
573 <UnknownRecord-11 ...>
574 record 1:
575 <UnknownRecord-12 ...>
576 record 2:
577 <UnknownRecord-13 ...>
578 record 3:
579 <UnknownRecord-13 ...>
580 record 4:
581 <UnknownRecord-13 ...>
582 record 5:
583 <UnknownRecord-13 ...>
584 record 6:
585 <UnknownRecord-13 ...>
586 record 7:
587 <UnknownRecord-13 ...>
588 record 8:
589 <UnknownRecord-13 ...>
590 record 9:
591 <UnknownRecord-14 ...>
592 record 10:
593 <UnknownRecord-15 ...>
594 record 11:
595 <UnknownRecord-16 ...>
596 record 12:
597 <UnknownRecord-16 ...>
598 record 13:
599 <UnknownRecord-17 ...>
600 record 14:
601 <UnknownRecord-17 ...>
602 record 15:
603 <UnknownRecord-17 ...>
604 record 16:
605 <UnknownRecord-17 ...>
606 record 17:
607 <UnknownRecord-17 ...>
608 record 18:
609 <UnknownRecord-17 ...>
610 record 19:
611 <UnknownRecord-16 ...>
612 record 20:
613 <UnknownRecord-17 ...>
614 record 21:
615 <UnknownRecord-17 ...>
616 record 22:
617 <UnknownRecord-17 ...>
618 record 23:
619 <UnknownRecord-17 ...>
620 record 24:
621 <UnknownRecord-17 ...>
622 record 25:
623 <UnknownRecord-17 ...>
624 record 26:
625 <UnknownRecord-18 ...>
626 record 27:
627 <UnknownRecord-11 ...>
628 record 28:
629 <UnknownRecord-26 ...>
630 record 29:
631 <UnknownRecord-26 ...>
632 record 30:
633 {'variables': {'sysVars': {'K0': 0.0,
634                            'K1': 0.0,
635                            'K10': 0.0,
636                            'K11': 0.0,
637                            'K12': 0.0,
638                            'K13': 0.0,
639                            'K14': 0.0,
640                            'K15': 0.0,
641                            'K16': 0.0,
642                            'K17': 0.0,
643                            'K18': 0.0,
644                            'K19': 0.0,
645                            'K2': 0.0,
646                            'K20': 128.0,
647                            'K3': 0.0,
648                            'K4': 0.0,
649                            'K5': 0.0,
650                            'K6': 0.0,
651                            'K7': 0.0,
652                            'K8': 0.0,
653                            'K9': 0.0},
654                'userStrs': {},
655                'userVars': {},
656                'var_header': {'numSysVars': 21,
657                               'numUserStrs': 0,
658                               'numUserVars': 0}},
659  'version': 1}
660 record 31:
661 '\x95 Polar Graphs Demo, v3.01\n\n'
662 record 32:
663 {'version': 2,
664  'wave': {'bin_header': {'checksum': -25004,
665                          'noteSize': 0,
666                          'pictSize': 0,
667                          'wfmSize': 638},
668           'note': '',
669           'padding': array([], dtype=float64),
670           'wData': array([ 0.30000001,  0.5448544 ,  0.77480197,  0.97584349,  1.13573945,
671         1.24475539,  1.2962544 ,  1.28710103,  1.21785283,  1.09272552,
672         0.91933674,  0.7082426 ,  0.47229454,  0.22585714, -0.01606643,
673        -0.23874778, -0.42862982, -0.57415301, -0.6664573 , -0.69992352,
674        -0.67251408, -0.58589762, -0.44534767, -0.25942117, -0.03943586,
675         0.20121357,  0.44787762,  0.68553883,  0.89972788,  1.0774051 ,
676         1.20775461,  1.28283918,  1.29808831,  1.25257373,  1.14906585,
677         0.99386656,  0.79642528,  0.56876069,  0.32473388,  0.07920124,
678        -0.15288824, -0.35740662, -0.52190179, -0.63635898, -0.69381076,
679        -0.69075894, -0.62739003, -0.5075599 , -0.3385666 , -0.13069656,
680         0.10339352,  0.34945396,  0.59250361,  0.81774551,  1.01146686,
681         1.16187334,  1.25980926,  1.29931164,  1.27797604,  1.1971004 ,
682         1.06160903,  0.87975079,  0.66259789,  0.42336911,  0.17663053,
683        -0.06259823, -0.2797519 , -0.46160996, -0.59710097, -0.67797607,
684        -0.69931161, -0.65980917, -0.56187314, -0.41146588, -0.21774435,
685         0.00749773,  0.25054744,  0.49660596,  0.7306987 ,  0.93856692,
686         1.10756063,  1.22738981,  1.29075909,  1.29381061,  1.23635852,
687         1.1219027 ,  0.95740634,  0.7528879 ,  0.52079749,  0.2752648 ,
688         0.03123802, -0.19642642, -0.39386547, -0.54906607, -0.6525743 ,
689        -0.69808841, -0.68283898, -0.60775399, -0.47740453, -0.29972947,
690        -0.08553842,  0.15212469,  0.39878684,  0.63943672,  0.85942155,
691         1.04534864,  1.18589854,  1.2725141 ,  1.29992342,  1.2664578 ,
692         1.17415261,  1.0286293 ,  0.83874667,  0.61606491,  0.37414294,
693         0.12770344, -0.1082412 , -0.31933719, -0.49272597, -0.61785328,
694        -0.6871013 , -0.69625437, -0.64475471, -0.53574032, -0.37584305,
695        -0.17479956,  0.05514668,  0.30000135], dtype=float32),
696           'wave_header': {'aModified': 0,
697                           'bname': 'radiusData',
698                           'botFullScale': 0.0,
699                           'creationDate': 0,
700                           'dataUnits': array(['', '', '', ''],
701       dtype='|S1'),
702                           'depID': 0,
703                           'fileName': 0,
704                           'formula': 0,
705                           'fsValid': 0,
706                           'hsA': 0.04908738521234052,
707                           'hsB': 0.0,
708                           'kindBits': '\x00',
709                           'modDate': 2845545774,
710                           'next': 0,
711                           'npnts': 128,
712                           'srcFldr': 0,
713                           'swModified': 0,
714                           'topFullScale': 0.0,
715                           'type': 2,
716                           'useBits': '\x00',
717                           'wModified': 0,
718                           'wUnused': array(['', ''],
719       dtype='|S1'),
720                           'waveNoteH': 0,
721                           'whVersion': 0,
722                           'xUnits': array(['', '', '', ''],
723       dtype='|S1')}}}
724 record 33:
725 {'version': 2,
726  'wave': {'bin_header': {'checksum': 28621,
727                          'noteSize': 0,
728                          'pictSize': 0,
729                          'wfmSize': 638},
730           'note': '',
731           'padding': array([], dtype=float64),
732           'wData': array([ 0.        ,  0.0494739 ,  0.0989478 ,  0.1484217 ,  0.1978956 ,
733         0.24736951,  0.29684341,  0.34631732,  0.3957912 ,  0.44526511,
734         0.49473903,  0.54421294,  0.59368682,  0.6431607 ,  0.69263464,
735         0.74210852,  0.79158241,  0.84105635,  0.89053023,  0.94000411,
736         0.98947805,  1.03895199,  1.08842587,  1.13789964,  1.18737364,
737         1.23684752,  1.2863214 ,  1.3357954 ,  1.38526928,  1.43474305,
738         1.48421705,  1.53369093,  1.58316481,  1.63263881,  1.68211269,
739         1.73158658,  1.78106046,  1.83053434,  1.88000822,  1.92948222,
740         1.9789561 ,  2.02842999,  2.07790399,  2.12737775,  2.17685175,
741         2.22632551,  2.27579927,  2.32527351,  2.37474728,  2.42422128,
742         2.47369504,  2.52316904,  2.5726428 ,  2.6221168 ,  2.67159081,
743         2.72106457,  2.77053857,  2.82001233,  2.86948609,  2.91896009,
744         2.9684341 ,  3.0179081 ,  3.06738186,  3.11685586,  3.16632962,
745         3.21580338,  3.26527762,  3.31475139,  3.36422539,  3.41369915,
746         3.46317315,  3.51264691,  3.56212091,  3.61159492,  3.66106868,
747         3.71054268,  3.76001644,  3.8094902 ,  3.85896444,  3.90843821,
748         3.95791221,  4.00738621,  4.05685997,  4.10633373,  4.15580797,
749         4.20528126,  4.2547555 ,  4.30422926,  4.3537035 ,  4.40317726,
750         4.45265102,  4.50212526,  4.55159855,  4.60107279,  4.65054703,
751         4.70002079,  4.74949455,  4.79896832,  4.84844255,  4.89791584,
752         4.94739008,  4.99686432,  5.04633808,  5.09581184,  5.14528561,
753         5.19475985,  5.24423361,  5.29370737,  5.34318161,  5.3926549 ,
754         5.44212914,  5.4916029 ,  5.54107714,  5.5905509 ,  5.64002466,
755         5.6894989 ,  5.73897219,  5.78844643,  5.83792019,  5.88739443,
756         5.93686819,  5.98634195,  6.03581619,  6.08528948,  6.13476372,
757         6.18423796,  6.23371172,  6.28318548], dtype=float32),
758           'wave_header': {'aModified': 0,
759                           'bname': 'angleData',
760                           'botFullScale': 0.0,
761                           'creationDate': 0,
762                           'dataUnits': array(['', '', '', ''],
763       dtype='|S1'),
764                           'depID': 0,
765                           'fileName': 0,
766                           'formula': 0,
767                           'fsValid': 0,
768                           'hsA': 0.04908738521234052,
769                           'hsB': 0.0,
770                           'kindBits': '\x00',
771                           'modDate': 2845470039,
772                           'next': 0,
773                           'npnts': 128,
774                           'srcFldr': 0,
775                           'swModified': 0,
776                           'topFullScale': 0.0,
777                           'type': 2,
778                           'useBits': '\x00',
779                           'wModified': 0,
780                           'wUnused': array(['', ''],
781       dtype='|S1'),
782                           'waveNoteH': 0,
783                           'whVersion': 0,
784                           'xUnits': array(['', '', '', ''],
785       dtype='|S1')}}}
786 record 34:
787 {'version': 5,
788  'wave': {'bin_header': {'checksum': 23021,
789                          'dataEUnitsSize': 0,
790                          'dimEUnitsSize': array([0, 0, 0, 0]),
791                          'dimLabelsSize': array([0, 0, 0, 0]),
792                          'formulaSize': 80,
793                          'noteSize': 0,
794                          'optionsSize1': 0,
795                          'optionsSize2': 0,
796                          'sIndicesSize': 0,
797                          'wfmSize': 832},
798           'data_units': '',
799           'dimension_units': '',
800           'formula': ' PolarRadiusFunction(radiusData,1,0) * cos(PolarAngleFunction(angleData,3,1,2))',
801           'labels': [[], [], [], []],
802           'note': '',
803           'sIndices': array([], dtype=float64),
804           'wData': array([  1.83690956e-17,   2.69450769e-02,   7.65399113e-02,
805          1.44305170e-01,   2.23293692e-01,   3.04783821e-01,
806          3.79158467e-01,   4.36888516e-01,   4.69528973e-01,
807          4.70633775e-01,   4.36502904e-01,   3.66688997e-01,
808          2.64211357e-01,   1.35452762e-01,  -1.02594923e-02,
809         -1.61356136e-01,  -3.04955602e-01,  -4.27943677e-01,
810         -5.18107474e-01,  -5.65230608e-01,  -5.62046587e-01,
811         -5.04969478e-01,  -3.94532531e-01,  -2.35490710e-01,
812         -3.65724117e-02,   1.90097600e-01,   4.29877043e-01,
813          6.66696191e-01,   8.84287775e-01,   1.06744885e+00,
814          1.20323074e+00,   1.28195620e+00,   1.29798901e+00,
815          1.25017929e+00,   1.14195395e+00,   9.81046736e-01,
816          7.78884649e-01,   5.49682915e-01,   3.09332967e-01,
817          7.41607845e-02,  -1.40328899e-01,  -3.20629656e-01,
818         -4.56221938e-01,  -5.40310800e-01,  -5.70244014e-01,
819         -5.47582209e-01,  -4.77826297e-01,  -3.69823217e-01,
820         -2.34920204e-01,  -8.59207287e-02,   6.40354082e-02,
821          2.02596441e-01,   3.19209903e-01,   4.05949473e-01,
822          4.58081126e-01,   4.74326164e-01,   4.56804305e-01,
823          4.10668582e-01,   3.43470216e-01,   2.64317334e-01,
824          1.82909429e-01,   1.08534366e-01,   4.91267964e-02,
825          1.04717268e-02,  -4.36885841e-03,   4.64119762e-03,
826          3.45129520e-02,   7.95329511e-02,   1.31838784e-01,
827          1.82213545e-01,   2.21028924e-01,   2.39245579e-01,
828          2.29380637e-01,   1.86348081e-01,   1.08093813e-01,
829         -4.03938442e-03,  -1.45255283e-01,  -3.07566285e-01,
830         -4.80366081e-01,  -6.51240766e-01,  -8.07001889e-01,
831         -9.34792042e-01,  -1.02321768e+00,  -1.06338477e+00,
832         -1.04975033e+00,  -9.80714381e-01,  -8.58889818e-01,
833         -6.91040277e-01,  -4.87653464e-01,  -2.62210011e-01,
834         -3.01902127e-02,   1.92100301e-01,   3.88785005e-01,
835          5.45667768e-01,   6.51326835e-01,   6.98035002e-01,
836          6.82368934e-01,   6.05477571e-01,   4.72992837e-01,
837          2.94585884e-01,   8.31873119e-02,  -1.46010652e-01,
838         -3.76755983e-01,  -5.93006968e-01,  -7.80143738e-01,
839         -9.26071882e-01,  -1.02209401e+00,  -1.06349015e+00,
840         -1.04976654e+00,  -9.84551251e-01,  -8.75151932e-01,
841         -7.31834948e-01,  -5.66861272e-01,  -3.93398553e-01,
842         -2.24383846e-01,  -7.14399144e-02,   5.60413450e-02,
843          1.51621893e-01,   2.12215677e-01,   2.38205954e-01,
844          2.33226836e-01,   2.03656554e-01,   1.57870770e-01,
845          1.05330117e-01,   5.55786416e-02,   1.72677450e-02,
846         -2.72719120e-03,   5.24539061e-08], dtype=float32),
847           'wave_header': {'aModified': 0,
848                           'bname': 'W_plrX5',
849                           'botFullScale': 0.0,
850                           'creationDate': 0,
851                           'dFolder': 7848580,
852                           'dLock': 0,
853                           'dataEUnits': 0,
854                           'dataUnits': array(['', '', '', ''],
855       dtype='|S1'),
856                           'depID': 24,
857                           'dimEUnits': array([0, 0, 0, 0]),
858                           'dimLabels': array([0, 0, 0, 0]),
859                           'dimUnits': array([['', '', '', ''],
860        ['', '', '', ''],
861        ['', '', '', ''],
862        ['', '', '', '']],
863       dtype='|S1'),
864                           'fileName': 0,
865                           'formula': 8054500,
866                           'fsValid': 0,
867                           'kindBits': '\x00',
868                           'modDate': 2985072242,
869                           'nDim': array([128,   0,   0,   0]),
870                           'next': 8054516,
871                           'npnts': 128,
872                           'sIndices': 0,
873                           'sfA': array([ 0.04908739,  1.        ,  1.        ,  1.        ]),
874                           'sfB': array([ 0.,  0.,  0.,  0.]),
875                           'srcFldr': 0,
876                           'swModified': 0,
877                           'topFullScale': 0.0,
878                           'type': 2,
879                           'useBits': '\x00',
880                           'wModified': 0,
881                           'waveNoteH': 0,
882                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
883                           'whVersion': 1,
884                           'whpad1': array(['', '', '', '', '', ''],
885       dtype='|S1'),
886                           'whpad2': 0,
887                           'whpad3': 0,
888                           'whpad4': 0}}}
889 record 35:
890 {'version': 5,
891  'wave': {'bin_header': {'checksum': -9146,
892                          'dataEUnitsSize': 0,
893                          'dimEUnitsSize': array([0, 0, 0, 0]),
894                          'dimLabelsSize': array([0, 0, 0, 0]),
895                          'formulaSize': 80,
896                          'noteSize': 82,
897                          'optionsSize1': 0,
898                          'optionsSize2': 0,
899                          'sIndicesSize': 0,
900                          'wfmSize': 832},
901           'data_units': '',
902           'dimension_units': '',
903           'formula': ' PolarRadiusFunction(radiusData,1,0) * sin(PolarAngleFunction(angleData,3,1,2))',
904           'labels': [[], [], [], []],
905           'note': 'shadowX=W_plrX5,appendRadius=radiusData,appendAngleData=angleData,angleDataUnits=2',
906           'sIndices': array([], dtype=float64),
907           'wData': array([ 0.30000001,  0.54418772,  0.77101213,  0.96511477,  1.1135726 ,
908         1.20686483,  1.23956215,  1.21068466,  1.12370288,  0.98618096,
909         0.80910152,  0.60592639,  0.39147732,  0.18073183, -0.01236418,
910        -0.17596789, -0.30120692, -0.38277394, -0.41920158, -0.41280419,
911        -0.36929506, -0.29712263, -0.20658807, -0.10882771, -0.01475283,
912         0.06595302,  0.12569843,  0.15962352,  0.16596791,  0.14613269,
913         0.10443594,  0.04758934, -0.01605497, -0.0774129 , -0.12764584,
914        -0.15911636, -0.16622847, -0.14607331, -0.09881912, -0.02780312,
915         0.06068454,  0.15791172,  0.25346208,  0.33617997,  0.3952153 ,
916         0.42107204,  0.40657136,  0.34763175,  0.24380288,  0.09848462,
917        -0.08117689, -0.28473276, -0.49916485, -0.70986813, -0.90179092,
918        -1.06064332, -1.17407382, -1.23270524, -1.23095524, -1.16755545,
919        -1.04573321, -0.87303019, -0.66077417, -0.42323959, -0.1765765 ,
920         0.06242594,  0.2776148 ,  0.45470679,  0.58236426,  0.65303123,
921         0.66346282,  0.61490625,  0.51291907,  0.36684951,  0.18901938,
922        -0.00631659, -0.20414437, -0.389898  , -0.55060786, -0.67586488,
923        -0.75857663, -0.79539269, -0.78681922, -0.73699296, -0.65315133,
924        -0.54485315, -0.42300734, -0.29883695, -0.18282266, -0.08376524,
925        -0.00802278,  0.0409977 ,  0.06305727,  0.06099379,  0.04033075,
926         0.00863387, -0.02533132, -0.05255322, -0.06475239, -0.05528941,
927        -0.01991711,  0.04269439,  0.13071296,  0.23921135,  0.36052904,
928         0.48491719,  0.60139763,  0.69877088,  0.76667541,  0.79660165,
929         0.78277934,  0.72283876,  0.6181944 ,  0.47410288,  0.29939076,
930         0.10585135, -0.09260413, -0.28104633, -0.44468346, -0.57008827,
931        -0.64630753, -0.66580337, -0.62512833, -0.52528399, -0.37171093,
932        -0.17394456,  0.0550792 ,  0.30000135], dtype=float32),
933           'wave_header': {'aModified': 0,
934                           'bname': 'W_plrY5',
935                           'botFullScale': 0.0,
936                           'creationDate': 0,
937                           'dFolder': 7848580,
938                           'dLock': 0,
939                           'dataEUnits': 0,
940                           'dataUnits': array(['', '', '', ''],
941       dtype='|S1'),
942                           'depID': 26,
943                           'dimEUnits': array([0, 0, 0, 0]),
944                           'dimLabels': array([0, 0, 0, 0]),
945                           'dimUnits': array([['', '', '', ''],
946        ['', '', '', ''],
947        ['', '', '', ''],
948        ['', '', '', '']],
949       dtype='|S1'),
950                           'fileName': 0,
951                           'formula': 8054532,
952                           'fsValid': 0,
953                           'kindBits': '\x00',
954                           'modDate': 2985072242,
955                           'nDim': array([128,   0,   0,   0]),
956                           'next': 8084972,
957                           'npnts': 128,
958                           'sIndices': 0,
959                           'sfA': array([ 0.04908739,  1.        ,  1.        ,  1.        ]),
960                           'sfB': array([ 0.,  0.,  0.,  0.]),
961                           'srcFldr': 0,
962                           'swModified': 0,
963                           'topFullScale': 0.0,
964                           'type': 2,
965                           'useBits': '\x00',
966                           'wModified': 0,
967                           'waveNoteH': 7996608,
968                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
969                           'whVersion': 1,
970                           'whpad1': array(['', '', '', '', '', ''],
971       dtype='|S1'),
972                           'whpad2': 0,
973                           'whpad3': 0,
974                           'whpad4': 0}}}
975 record 36:
976 {'version': 2,
977  'wave': {'bin_header': {'checksum': 14307,
978                          'noteSize': 0,
979                          'pictSize': 0,
980                          'wfmSize': 382},
981           'note': '',
982           'padding': array([], dtype=float64),
983           'wData': array([ 0.2617994 ,  0.27842158,  0.29504377,  0.31166595,  0.32828814,
984         0.34491032,  0.36153251,  0.3781547 ,  0.39477688,  0.41139907,
985         0.42802125,  0.44464344,  0.46126559,  0.47788778,  0.49450997,
986         0.51113212,  0.52775431,  0.54437649,  0.56099868,  0.57762086,
987         0.59424305,  0.61086524,  0.62748742,  0.64410961,  0.66073179,
988         0.67735398,  0.69397616,  0.71059835,  0.72722054,  0.74384272,
989         0.76046491,  0.77708709,  0.79370928,  0.81033146,  0.82695365,
990         0.84357584,  0.86019802,  0.87682021,  0.89344239,  0.91006458,
991         0.92668676,  0.94330889,  0.95993114,  0.97655326,  0.99317551,
992         1.00979757,  1.02641988,  1.04304194,  1.05966425,  1.07628632,
993         1.09290862,  1.10953069,  1.12615299,  1.14277506,  1.15939736,
994         1.17601943,  1.19264174,  1.2092638 ,  1.22588611,  1.24250817,
995         1.25913048,  1.27575254,  1.29237485,  1.30899692], dtype=float32),
996           'wave_header': {'aModified': 0,
997                           'bname': 'angleQ1',
998                           'botFullScale': 0.0,
999                           'creationDate': 0,
1000                           'dataUnits': array(['', '', '', ''],
1001       dtype='|S1'),
1002                           'depID': 0,
1003                           'fileName': 0,
1004                           'formula': 0,
1005                           'fsValid': 0,
1006                           'hsA': 1.0,
1007                           'hsB': 0.0,
1008                           'kindBits': '\x00',
1009                           'modDate': 2845473705,
1010                           'next': 0,
1011                           'npnts': 64,
1012                           'srcFldr': 0,
1013                           'swModified': 0,
1014                           'topFullScale': 0.0,
1015                           'type': 2,
1016                           'useBits': '\x00',
1017                           'wModified': 0,
1018                           'wUnused': array(['', ''],
1019       dtype='|S1'),
1020                           'waveNoteH': 0,
1021                           'whVersion': 0,
1022                           'xUnits': array(['', '', '', ''],
1023       dtype='|S1')}}}
1024 record 37:
1025 {'version': 2,
1026  'wave': {'bin_header': {'checksum': -12080,
1027                          'noteSize': 0,
1028                          'pictSize': 0,
1029                          'wfmSize': 382},
1030           'note': '',
1031           'padding': array([], dtype=float64),
1032           'wData': array([ -8.34064484,  -7.66960144,  -6.62294245,  -6.82878971,
1033         -8.6383152 , -11.20019722, -13.83398628, -15.95139503,
1034        -16.18096733, -13.58062267,  -9.26843071,  -5.34649038,
1035         -3.01010084,  -2.30953455,  -2.73682952,  -3.72112942,
1036         -4.85171413,  -5.63053226,  -5.48626232,  -4.49401283,
1037         -3.53216696,  -3.34821796,  -4.07400894,  -5.87675714,
1038         -9.11268425, -12.98700237, -15.06296921, -13.71571922,
1039        -10.23535728,  -7.01303005,  -5.23288727,  -5.71091986,
1040         -9.24852943, -14.06335735, -15.846241  , -12.78800964,
1041         -7.8465519 ,  -4.56293297,  -3.54999399,  -3.67789125,
1042         -4.10172844,  -4.78980875,  -6.20238352,  -8.17891598,
1043         -9.2803278 ,  -8.36780167,  -6.3059268 ,  -4.85605574,
1044         -4.54975414,  -4.52917624,  -3.99160147,  -3.1971693 ,
1045         -2.93472862,  -3.47230864,  -4.7322526 ,  -6.80173016,
1046         -9.08601665, -10.00928402,  -8.87677383,  -6.88120317,
1047         -5.61007977,  -5.6351161 ,  -6.41880989,  -6.8738699 ], dtype=float32),
1048           'wave_header': {'aModified': 0,
1049                           'bname': 'radiusQ1',
1050                           'botFullScale': 0.0,
1051                           'creationDate': 0,
1052                           'dataUnits': array(['', '', '', ''],
1053       dtype='|S1'),
1054                           'depID': 0,
1055                           'fileName': 0,
1056                           'formula': 0,
1057                           'fsValid': 0,
1058                           'hsA': 1.0,
1059                           'hsB': 0.0,
1060                           'kindBits': '\x00',
1061                           'modDate': 2845473634,
1062                           'next': 0,
1063                           'npnts': 64,
1064                           'srcFldr': 0,
1065                           'swModified': 0,
1066                           'topFullScale': 0.0,
1067                           'type': 2,
1068                           'useBits': '\x00',
1069                           'wModified': 0,
1070                           'wUnused': array(['', ''],
1071       dtype='|S1'),
1072                           'waveNoteH': 0,
1073                           'whVersion': 0,
1074                           'xUnits': array(['', '', '', ''],
1075       dtype='|S1')}}}
1076 record 38:
1077 {'version': 5,
1078  'wave': {'bin_header': {'checksum': -5745,
1079                          'dataEUnitsSize': 0,
1080                          'dimEUnitsSize': array([0, 0, 0, 0]),
1081                          'dimLabelsSize': array([0, 0, 0, 0]),
1082                          'formulaSize': 78,
1083                          'noteSize': 0,
1084                          'optionsSize1': 0,
1085                          'optionsSize2': 0,
1086                          'sIndicesSize': 0,
1087                          'wfmSize': 576},
1088           'data_units': '',
1089           'dimension_units': '',
1090           'formula': ' PolarRadiusFunction(radiusQ1,1,-40) * cos(PolarAngleFunction(angleQ1,2,2,2))',
1091           'labels': [[], [], [], []],
1092           'note': '',
1093           'sIndices': array([], dtype=float64),
1094           'wData': array([ 30.58058929,  31.08536911,  31.93481636,  31.57315445,
1095         29.68683434,  27.10366058,  24.47453499,  22.3495121 ,
1096         21.98692894,  24.21500397,  27.95923996,  31.28394508,
1097         33.12408066,  33.46794128,  32.79909515,  31.64211464,
1098         30.36601639,  29.40137291,  29.22361755,  29.74564171,
1099         30.21624565,  30.02338219,  29.0822773 ,  27.28613091,
1100         24.38687515,  21.04944038,  19.16931915,  19.92274094,
1101         22.23493385,  24.27418709,  25.1893177 ,  24.44671249,
1102         21.56310272,  17.87704659,  16.35500908,  18.09041786,
1103         20.97328949,  22.66550255,  22.84443283,  22.29068756,
1104         21.55643272,  20.67234993,  19.38551521,  17.81604385,
1105         16.77393341,  16.8293457 ,  17.4496479 ,  17.6982975 ,
1106         17.34101677,  16.83446693,  16.56042671,  16.38027191,
1107         15.94310474,  15.16159916,  14.10328865,  12.76812935,
1108         11.41363049,  10.60795975,  10.52314186,  10.67826462,
1109         10.5454855 ,   9.99268055,   9.22939587,   8.5736742 ], dtype=float32),
1110           'wave_header': {'aModified': 0,
1111                           'bname': 'W_plrX6',
1112                           'botFullScale': 0.0,
1113                           'creationDate': 0,
1114                           'dFolder': 7848580,
1115                           'dLock': 0,
1116                           'dataEUnits': 0,
1117                           'dataUnits': array(['', '', '', ''],
1118       dtype='|S1'),
1119                           'depID': 30,
1120                           'dimEUnits': array([0, 0, 0, 0]),
1121                           'dimLabels': array([0, 0, 0, 0]),
1122                           'dimUnits': array([['', '', '', ''],
1123        ['', '', '', ''],
1124        ['', '', '', ''],
1125        ['', '', '', '']],
1126       dtype='|S1'),
1127                           'fileName': 0,
1128                           'formula': 8052116,
1129                           'fsValid': 0,
1130                           'kindBits': '\x00',
1131                           'modDate': 2985072242,
1132                           'nDim': array([64,  0,  0,  0]),
1133                           'next': 8324392,
1134                           'npnts': 64,
1135                           'sIndices': 0,
1136                           'sfA': array([ 1.,  1.,  1.,  1.]),
1137                           'sfB': array([ 0.,  0.,  0.,  0.]),
1138                           'srcFldr': 0,
1139                           'swModified': 0,
1140                           'topFullScale': 0.0,
1141                           'type': 2,
1142                           'useBits': '\x00',
1143                           'wModified': 0,
1144                           'waveNoteH': 0,
1145                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
1146                           'whVersion': 1,
1147                           'whpad1': array(['', '', '', '', '', ''],
1148       dtype='|S1'),
1149                           'whpad2': 0,
1150                           'whpad3': 0,
1151                           'whpad4': 0}}}
1152 record 39:
1153 {'version': 5,
1154  'wave': {'bin_header': {'checksum': -16604,
1155                          'dataEUnitsSize': 0,
1156                          'dimEUnitsSize': array([0, 0, 0, 0]),
1157                          'dimLabelsSize': array([0, 0, 0, 0]),
1158                          'formulaSize': 78,
1159                          'noteSize': 78,
1160                          'optionsSize1': 0,
1161                          'optionsSize2': 0,
1162                          'sIndicesSize': 0,
1163                          'wfmSize': 576},
1164           'data_units': '',
1165           'dimension_units': '',
1166           'formula': ' PolarRadiusFunction(radiusQ1,1,-40) * sin(PolarAngleFunction(angleQ1,2,2,2))',
1167           'labels': [[], [], [], []],
1168           'note': 'shadowX=W_plrX6,appendRadius=radiusQ1,appendAngleData=angleQ1,angleDataUnits=2',
1169           'sIndices': array([], dtype=float64),
1170           'wData': array([  8.19404411,   8.88563347,   9.70543861,  10.17177773,
1171         10.11173058,   9.73756695,   9.25513077,   8.8788929 ,
1172          9.16085339,  10.56489944,  12.75579453,  14.90572262,
1173         16.46352959,  17.33401871,  17.68511391,  17.74635315,
1174         17.70048141,  17.79942513,  18.36241531,  19.38741684,
1175         20.41767311,  21.02259827,  21.09260368,  20.4905529 ,
1176         18.95538521,  16.9299469 ,  15.94969368,  17.14490509,
1177         19.78741264,  22.33615875,  23.96352196,  24.04369545,
1178         21.92454147,  18.79150391,  17.77407646,  20.32803917,
1179         24.37140465,  27.24079132,  28.40307808,  28.67787933,
1180         28.70550728,  28.50283432,  27.68538666,  26.36607552,
1181         25.73583984,  26.78374672,  28.8236084 ,  30.36226463,
1182         30.91939545,  31.22146797,  31.97431755,  32.95656204,
1183         33.4611969 ,  33.23248672,  32.3250885 ,  30.64473915,
1184         28.72983551,  28.05199242,  29.29024887,  31.3501091 ,
1185         32.7331543 ,  32.87995529,  32.28799438,  31.99738503], dtype=float32),
1186           'wave_header': {'aModified': 0,
1187                           'bname': 'W_plrY6',
1188                           'botFullScale': 0.0,
1189                           'creationDate': 0,
1190                           'dFolder': 7848580,
1191                           'dLock': 0,
1192                           'dataEUnits': 0,
1193                           'dataUnits': array(['', '', '', ''],
1194       dtype='|S1'),
1195                           'depID': 32,
1196                           'dimEUnits': array([0, 0, 0, 0]),
1197                           'dimLabels': array([0, 0, 0, 0]),
1198                           'dimUnits': array([['', '', '', ''],
1199        ['', '', '', ''],
1200        ['', '', '', ''],
1201        ['', '', '', '']],
1202       dtype='|S1'),
1203                           'fileName': 0,
1204                           'formula': 7995612,
1205                           'fsValid': 0,
1206                           'kindBits': '\x00',
1207                           'modDate': 2985072242,
1208                           'nDim': array([64,  0,  0,  0]),
1209                           'next': 0,
1210                           'npnts': 64,
1211                           'sIndices': 0,
1212                           'sfA': array([ 1.,  1.,  1.,  1.]),
1213                           'sfB': array([ 0.,  0.,  0.,  0.]),
1214                           'srcFldr': 0,
1215                           'swModified': 0,
1216                           'topFullScale': 0.0,
1217                           'type': 2,
1218                           'useBits': '\x00',
1219                           'wModified': 0,
1220                           'waveNoteH': 7998208,
1221                           'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
1222                           'whVersion': 1,
1223                           'whpad1': array(['', '', '', '', '', ''],
1224       dtype='|S1'),
1225                           'whpad2': 0,
1226                           'whpad3': 0,
1227                           'whpad4': 0}}}
1228 record 40:
1229 'Packages'
1230 record 41:
1231 'WMDataBase'
1232 record 42:
1233 {'variables': {'sysVars': {'K0': 0.0,
1234                            'K1': 0.0,
1235                            'K10': 0.0,
1236                            'K11': 0.0,
1237                            'K12': 0.0,
1238                            'K13': 0.0,
1239                            'K14': 0.0,
1240                            'K15': 0.0,
1241                            'K16': 0.0,
1242                            'K17': 0.0,
1243                            'K18': 0.0,
1244                            'K19': 0.0,
1245                            'K2': 0.0,
1246                            'K20': 128.0,
1247                            'K3': 0.0,
1248                            'K4': 0.0,
1249                            'K5': 0.0,
1250                            'K6': 0.0,
1251                            'K7': 0.0,
1252                            'K8': 0.0,
1253                            'K9': 0.0},
1254                'userStrs': {'u_dataBase': ';PolarGraph0:,...,useCircles=2,maxArcLine=6;',
1255                             'u_dbBadStringChars': ',;=:',
1256                             'u_dbCurrBag': 'PolarGraph1',
1257                             'u_dbCurrContents': ',appendRadius=radiusQ1,...,useCircles=2,maxArcLine=6;',
1258                             'u_dbReplaceBadChars': '\xa9\xae\x99\x9f',
1259                             'u_str': '2'},
1260                'userVars': {},
1261                'var_header': {'numSysVars': 21,
1262                               'numUserStrs': 6,
1263                               'numUserVars': 0}},
1264  'version': 1}
1265 record 43:
1266 ''
1267 record 44:
1268 'PolarGraphs'
1269 record 45:
1270 {'variables': {'sysVars': {'K0': 0.0,
1271                            'K1': 0.0,
1272                            'K10': 0.0,
1273                            'K11': 0.0,
1274                            'K12': 0.0,
1275                            'K13': 0.0,
1276                            'K14': 0.0,
1277                            'K15': 0.0,
1278                            'K16': 0.0,
1279                            'K17': 0.0,
1280                            'K18': 0.0,
1281                            'K19': 0.0,
1282                            'K2': 0.0,
1283                            'K20': 128.0,
1284                            'K3': 0.0,
1285                            'K4': 0.0,
1286                            'K5': 0.0,
1287                            'K6': 0.0,
1288                            'K7': 0.0,
1289                            'K8': 0.0,
1290                            'K9': 0.0},
1291                'userStrs': {'u_colorList': 'black;blue;green;cyan;red;magenta;yellow;white;special',
1292                             'u_debugStr': 'Turn Debugging On',
1293                             'u_polAngleAxesWherePop': 'Off;Radius Start;Radius End;Radius Start and End;All Major Radii;At Listed Radii',
1294                             'u_polAngleUnitsPop': 'deg;rad',
1295                             'u_polLineStylePop': 'solid;dash 1;dash 2;dash 3;dash 4;dash 5;dash 6;dash 7;dash 8;dash 9;dash 10;dash 11;dash 12;dash 13;dash 14;dash 15;dash 16;dash 17;',
1296                             'u_polOffOn': 'Off;On',
1297                             'u_polRadAxesWherePop': '  Off;  Angle Start;  Angle Middle;  Angle End;  Angle Start and End;  0;  90;  180; -90;  0, 90;  90, 180; -180, -90; -90, 0;  0, 180;  90, -90;  0, 90, 180, -90;  All Major Angles;  At Listed Angles',
1298                             'u_polRotPop': ' -90;  0; +90; +180',
1299                             'u_popup': '',
1300                             'u_prompt': ''},
1301                'userVars': {'V_bottom': 232.0,
1302                             'V_left': 1.0,
1303                             'V_max': 2.4158518093414401,
1304                             'V_min': -2.1848498883412,
1305                             'V_right': 232.0,
1306                             'V_top': 1.0,
1307                             'u_UniqWaveNdx': 8.0,
1308                             'u_UniqWinNdx': 3.0,
1309                             'u_angle0': 0.0,
1310                             'u_angleRange': 6.2831853071795862,
1311                             'u_debug': 0.0,
1312                             'u_majorDelta': 0.0,
1313                             'u_numPlaces': 0.0,
1314                             'u_polAngle0': 0.26179938779914941,
1315                             'u_polAngleRange': 1.0471975511965976,
1316                             'u_polInnerRadius': -20.0,
1317                             'u_polMajorAngleInc': 0.26179938779914941,
1318                             'u_polMajorRadiusInc': 10.0,
1319                             'u_polMinorAngleTicks': 3.0,
1320                             'u_polMinorRadiusTicks': 1.0,
1321                             'u_polOuterRadius': 0.0,
1322                             'u_segsPerMinorArc': 3.0,
1323                             'u_tickDelta': 0.0,
1324                             'u_var': 0.0,
1325                             'u_x1': 11.450159535018935,
1326                             'u_x2': 12.079591517721363,
1327                             'u_y1': 42.732577139459856,
1328                             'u_y2': 45.081649278814126},
1329                'var_header': {'numSysVars': 21,
1330                               'numUserStrs': 10,
1331                               'numUserVars': 28}},
1332  'version': 1}
1333 record 46:
1334 ''
1335 record 47:
1336 ''
1337 record 48:
1338 '| Platform=Windows95, IGORVersion=3.130\n\n\n\nMoveWindow/P 5.25,40.25,504.75,335\n...hook=PolarWindowHook\nEndMacro\n'
1339 record 49:
1340 ''
1341 record 50:
1342 '#include <Polar Graphs> version >= 3.0\n'
1343 <BLANKLINE>
1344 filesystem:
1345 {'root': {'K0': 0.0,
1346           'K1': 0.0,
1347           'K10': 0.0,
1348           'K11': 0.0,
1349           'K12': 0.0,
1350           'K13': 0.0,
1351           'K14': 0.0,
1352           'K15': 0.0,
1353           'K16': 0.0,
1354           'K17': 0.0,
1355           'K18': 0.0,
1356           'K19': 0.0,
1357           'K2': 0.0,
1358           'K20': 128.0,
1359           'K3': 0.0,
1360           'K4': 0.0,
1361           'K5': 0.0,
1362           'K6': 0.0,
1363           'K7': 0.0,
1364           'K8': 0.0,
1365           'K9': 0.0,
1366           'Packages': {'PolarGraphs': {'V_bottom': 232.0,
1367                                        'V_left': 1.0,
1368                                        'V_max': 2.4158518093414401,
1369                                        'V_min': -2.1848498883412,
1370                                        'V_right': 232.0,
1371                                        'V_top': 1.0,
1372                                        'u_UniqWaveNdx': 8.0,
1373                                        'u_UniqWinNdx': 3.0,
1374                                        'u_angle0': 0.0,
1375                                        'u_angleRange': 6.2831853071795862,
1376                                        'u_colorList': 'black;blue;green;cyan;red;magenta;yellow;white;special',
1377                                        'u_debug': 0.0,
1378                                        'u_debugStr': 'Turn Debugging On',
1379                                        'u_majorDelta': 0.0,
1380                                        'u_numPlaces': 0.0,
1381                                        'u_polAngle0': 0.26179938779914941,
1382                                        'u_polAngleAxesWherePop': 'Off;Radius Start;Radius End;Radius Start and End;All Major Radii;At Listed Radii',
1383                                        'u_polAngleRange': 1.0471975511965976,
1384                                        'u_polAngleUnitsPop': 'deg;rad',
1385                                        'u_polInnerRadius': -20.0,
1386                                        'u_polLineStylePop': 'solid;dash 1;dash 2;dash 3;dash 4;dash 5;dash 6;dash 7;dash 8;dash 9;dash 10;dash 11;dash 12;dash 13;dash 14;dash 15;dash 16;dash 17;',
1387                                        'u_polMajorAngleInc': 0.26179938779914941,
1388                                        'u_polMajorRadiusInc': 10.0,
1389                                        'u_polMinorAngleTicks': 3.0,
1390                                        'u_polMinorRadiusTicks': 1.0,
1391                                        'u_polOffOn': 'Off;On',
1392                                        'u_polOuterRadius': 0.0,
1393                                        'u_polRadAxesWherePop': '  Off;  Angle Start;  Angle Middle;  Angle End;  Angle Start and End;  0;  90;  180; -90;  0, 90;  90, 180; -180, -90; -90, 0;  0, 180;  90, -90;  0, 90, 180, -90;  All Major Angles;  At Listed Angles',
1394                                        'u_polRotPop': ' -90;  0; +90; +180',
1395                                        'u_popup': '',
1396                                        'u_prompt': '',
1397                                        'u_segsPerMinorArc': 3.0,
1398                                        'u_tickDelta': 0.0,
1399                                        'u_var': 0.0,
1400                                        'u_x1': 11.450159535018935,
1401                                        'u_x2': 12.079591517721363,
1402                                        'u_y1': 42.732577139459856,
1403                                        'u_y2': 45.081649278814126},
1404                        'WMDataBase': {'u_dataBase': ';PolarGraph0:,appendRadius=radiusData,...,useCircles=2,maxArcLine=6;',
1405                                       'u_dbBadStringChars': ',;=:',
1406                                       'u_dbCurrBag': 'PolarGraph1',
1407                                       'u_dbCurrContents': ',appendRadius=radiusQ1,...,useCircles=2,maxArcLine=6;',
1408                                       'u_dbReplaceBadChars': '\xa9\xae\x99\x9f',
1409                                       'u_str': '2'}},
1410           'W_plrX5': <WaveRecord ...>,
1411           'W_plrX6': <WaveRecord ...>,
1412           'W_plrY5': <WaveRecord ...>,
1413           'W_plrY6': <WaveRecord ...>,
1414           'angleData': <WaveRecord ...>,
1415           'angleQ1': <WaveRecord ...>,
1416           'radiusData': <WaveRecord ...>,
1417           'radiusQ1': <WaveRecord ...>}}
1418 <BLANKLINE>
1419 walking filesystem:
1420 walk callback on ([], root, {'K0': 0.0,...})
1421 walk callback on (['root'], K0, 0.0)
1422 walk callback on (['root'], K1, 0.0)
1423 walk callback on (['root'], K10, 0.0)
1424 ...
1425 walk callback on (['root'], K9, 0.0)
1426 walk callback on (['root'], Packages, {'PolarGraphs': ...})
1427 walk callback on (['root', 'Packages'], PolarGraphs, {...})
1428 walk callback on (['root', 'Packages', 'PolarGraphs'], V_bottom, 232.0)
1429 ...
1430 walk callback on (['root', 'Packages'], WMDataBase, {...})
1431 ...
1432 walk callback on (['root'], radiusQ1, <WaveRecord ...>)
1433 """
1434
1435 import os.path
1436 from pprint import pformat
1437
1438 from igor import LOG
1439 from igor.binarywave import load as loadibw
1440 from igor.packed import load as loadpxp
1441 from igor.packed import walk as _walk
1442 from igor.record.base import TextRecord
1443 from igor.record.folder import FolderStartRecord, FolderEndRecord
1444 from igor.record.variables import VariablesRecord
1445 from igor.record.wave import WaveRecord
1446
1447
1448 _this_dir = os.path.dirname(__file__)
1449 _data_dir = os.path.join(_this_dir, 'data')
1450
1451 def dumpibw(filename):
1452     LOG.info('Testing {}\n'.format(filename))
1453     path = os.path.join(_data_dir, filename)
1454     data = loadibw(path)
1455     pprint(data)
1456
1457 def walk_callback(dirpath, key, value):
1458     print('walk callback on ({}, {}, {})'.format(
1459             dirpath, key, pformat(value)))
1460
1461 def dumppxp(filename, walk=True):
1462     LOG.info('Testing {}\n'.format(filename))
1463     path = os.path.join(_data_dir, filename)
1464     records,filesystem = loadpxp(path)
1465     for i,record in enumerate(records):
1466         print('record {}:'.format(i))
1467         if isinstance(record, (FolderStartRecord, FolderEndRecord)):
1468             pprint(record.null_terminated_text)
1469         elif isinstance(record, TextRecord):
1470             pprint(record.text)
1471         elif isinstance(record, VariablesRecord):
1472             pprint(record.variables)
1473         elif isinstance(record, WaveRecord):
1474             pprint(record.wave)
1475         else:
1476             pprint(record)
1477     print('\nfilesystem:')
1478     pprint(filesystem)
1479     if walk:
1480         print('\nwalking filesystem:')
1481         _walk(filesystem, walk_callback)
1482
1483 def pprint(data):
1484     lines = pformat(data).splitlines()
1485     print('\n'.join([line.rstrip() for line in lines]))