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