3 r"""Test the igor module by loading sample files.
5 >>> dumpibw('mac-double.ibw') # doctest: +REPORT_UDIFF
7 'wave': {'bin_header': {'checksum': 25137,
12 'padding': array([], dtype=float64),
13 'wData': array([ 5., 4., 3., 2., 1.]),
14 'wave_header': {'aModified': 0,
17 'creationDate': 3001587842,
18 'dataUnits': array(['', '', '', ''],
27 'modDate': 3001587842,
36 'wUnused': array(['', ''],
40 'xUnits': array(['', '', '', ''],
43 >>> dumpibw('mac-textWave.ibw') # doctest: +REPORT_UDIFF
45 'wave': {'bin_header': {'checksum': 5554,
47 'dimEUnitsSize': array([0, 0, 0, 0]),
48 'dimLabelsSize': array([0, 0, 0, 0]),
56 'dimension_units': '',
58 'labels': [[], [], [], []],
60 'sIndices': array([ 4, 7, 8, 14, 18]),
61 'wData': array(['Mary', 'had', 'a', 'little', 'lamb'],
63 'wave_header': {'aModified': 0,
66 'creationDate': 3001571199,
70 'dataUnits': array(['', '', '', ''],
73 'dimEUnits': array([0, 0, 0, 0]),
74 'dimLabels': array([0, 0, 0, 0]),
75 'dimUnits': array([['', '', '', ''],
84 'modDate': 3001571215,
85 'nDim': array([5, 0, 0, 0]),
89 'sfA': array([ 1., 1., 1., 1.]),
90 'sfB': array([ 0., 0., 0., 0.]),
98 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
100 'whpad1': array(['', '', '', '', '', ''],
106 >>> dumpibw('mac-version2.ibw') # doctest: +REPORT_UDIFF
108 'wave': {'bin_header': {'checksum': -16803,
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,
118 'creationDate': 3001251979,
119 'dataUnits': array(['', '', '', ''],
128 'modDate': 3001573594,
137 'wUnused': array(['', ''],
141 'xUnits': array(['', '', '', ''],
144 >>> dumpibw('mac-version3Dependent.ibw') # doctest: +REPORT_UDIFF
146 'wave': {'bin_header': {'checksum': -32334,
153 'padding': array([], dtype=float64),
154 'wData': array([], dtype=float32),
155 'wave_header': {'aModified': 3,
156 'bname': 'version3Dependent',
159 'dataUnits': array(['', '', '', ''],
163 'formula': 103408364,
168 'modDate': 3001672861,
177 'wUnused': array(['', ''],
181 'xUnits': array(['', '', '', ''],
184 >>> dumpibw('mac-version5.ibw') # doctest: +REPORT_UDIFF
186 'wave': {'bin_header': {'checksum': -12033,
188 'dimEUnitsSize': array([0, 0, 0, 0]),
189 'dimLabelsSize': array([64, 0, 0, 0]),
197 'dimension_units': '',
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,
206 'creationDate': 3001252180,
210 'dataUnits': array(['', '', '', ''],
213 'dimEUnits': array([0, 0, 0, 0]),
214 'dimLabels': array([69554136, 0, 0, 0]),
215 'dimUnits': array([['', '', '', ''],
220 'fileName': 69554292,
224 'modDate': 3001573601,
225 'nDim': array([5, 0, 0, 0]),
229 'sfA': array([ 1., 1., 1., 1.]),
230 'sfB': array([ 0., 0., 0., 0.]),
237 'waveNoteH': 69554032,
238 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
240 'whpad1': array(['', '', '', '', '', ''],
246 >>> dumpibw('mac-zeroPointWave.ibw') # doctest: +REPORT_UDIFF
248 'wave': {'bin_header': {'checksum': -15649,
250 'dimEUnitsSize': array([0, 0, 0, 0]),
251 'dimLabelsSize': array([0, 0, 0, 0]),
259 'dimension_units': '',
261 'labels': [[], [], [], []],
263 'sIndices': array([], dtype=float64),
264 'wData': array([], dtype=float32),
265 'wave_header': {'aModified': 3,
268 'creationDate': 3001573964,
272 'dataUnits': array(['', '', '', ''],
275 'dimEUnits': array([0, 0, 0, 0]),
276 'dimLabels': array([0, 0, 0, 0]),
277 'dimUnits': array([['', '', '', ''],
286 'modDate': 3001573964,
287 'nDim': array([0, 0, 0, 0]),
291 'sfA': array([ 1., 1., 1., 1.]),
292 'sfB': array([ 0., 0., 0., 0.]),
300 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
302 'whpad1': array(['', '', '', '', '', ''],
308 >>> dumpibw('win-double.ibw') # doctest: +REPORT_UDIFF
310 'wave': {'bin_header': {'checksum': 28962,
315 'padding': array([], dtype=float64),
316 'wData': array([ 5., 4., 3., 2., 1.]),
317 'wave_header': {'aModified': 0,
320 'creationDate': 3001587842,
321 'dataUnits': array(['', '', '', ''],
330 'modDate': 3001587842,
339 'wUnused': array(['', ''],
343 'xUnits': array(['', '', '', ''],
346 >>> dumpibw('win-textWave.ibw') # doctest: +REPORT_UDIFF
348 'wave': {'bin_header': {'checksum': 184,
350 'dimEUnitsSize': array([0, 0, 0, 0]),
351 'dimLabelsSize': array([0, 0, 0, 0]),
359 'dimension_units': '',
361 'labels': [[], [], [], []],
363 'sIndices': array([ 4, 7, 8, 14, 18]),
364 'wData': array(['Mary', 'had', 'a', 'little', 'lamb'],
366 'wave_header': {'aModified': 0,
369 'creationDate': 3001571199,
373 'dataUnits': array(['', '', '', ''],
376 'dimEUnits': array([0, 0, 0, 0]),
377 'dimLabels': array([0, 0, 0, 0]),
378 'dimUnits': array([['', '', '', ''],
387 'modDate': 3001571215,
388 'nDim': array([5, 0, 0, 0]),
392 'sfA': array([ 1., 1., 1., 1.]),
393 'sfB': array([ 0., 0., 0., 0.]),
401 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
403 'whpad1': array(['', '', '', '', '', ''],
409 >>> dumpibw('win-version2.ibw') # doctest: +REPORT_UDIFF
411 'wave': {'bin_header': {'checksum': 1047,
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,
421 'creationDate': 3001251979,
422 'dataUnits': array(['', '', '', ''],
431 'modDate': 3001573594,
440 'wUnused': array(['', ''],
444 'xUnits': array(['', '', '', ''],
447 >>> dumpibw('win-version5.ibw') # doctest: +REPORT_UDIFF
449 'wave': {'bin_header': {'checksum': 13214,
451 'dimEUnitsSize': array([0, 0, 0, 0]),
452 'dimLabelsSize': array([64, 0, 0, 0]),
460 'dimension_units': '',
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,
469 'creationDate': 3001252180,
473 'dataUnits': array(['', '', '', ''],
476 'dimEUnits': array([0, 0, 0, 0]),
477 'dimLabels': array([8138784, 0, 0, 0]),
478 'dimUnits': array([['', '', '', ''],
487 'modDate': 3001573601,
488 'nDim': array([5, 0, 0, 0]),
492 'sfA': array([ 1., 1., 1., 1.]),
493 'sfB': array([ 0., 0., 0., 0.]),
500 'waveNoteH': 8131596,
501 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
503 'whpad1': array(['', '', '', '', '', ''],
509 >>> dumpibw('win-zeroPointWave.ibw') # doctest: +REPORT_UDIFF
511 'wave': {'bin_header': {'checksum': 27541,
513 'dimEUnitsSize': array([0, 0, 0, 0]),
514 'dimLabelsSize': array([0, 0, 0, 0]),
522 'dimension_units': '',
524 'labels': [[], [], [], []],
526 'sIndices': array([], dtype=float64),
527 'wData': array([], dtype=float32),
528 'wave_header': {'aModified': 3,
531 'creationDate': 3001573964,
535 'dataUnits': array(['', '', '', ''],
538 'dimEUnits': array([0, 0, 0, 0]),
539 'dimLabels': array([0, 0, 0, 0]),
540 'dimUnits': array([['', '', '', ''],
549 'modDate': 3001573964,
550 'nDim': array([0, 0, 0, 0]),
554 'sfA': array([ 1., 1., 1., 1.]),
555 'sfB': array([ 0., 0., 0., 0.]),
563 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
565 'whpad1': array(['', '', '', '', '', ''],
571 >>> dumppxp('polar-graphs-demo.pxp') # doctest: +REPORT_UDIFF, +ELLIPSIS
573 <UnknownRecord-11 ...>
575 <UnknownRecord-12 ...>
577 <UnknownRecord-13 ...>
579 <UnknownRecord-13 ...>
581 <UnknownRecord-13 ...>
583 <UnknownRecord-13 ...>
585 <UnknownRecord-13 ...>
587 <UnknownRecord-13 ...>
589 <UnknownRecord-13 ...>
591 <UnknownRecord-14 ...>
593 <UnknownRecord-15 ...>
595 <UnknownRecord-16 ...>
597 <UnknownRecord-16 ...>
599 <UnknownRecord-17 ...>
601 <UnknownRecord-17 ...>
603 <UnknownRecord-17 ...>
605 <UnknownRecord-17 ...>
607 <UnknownRecord-17 ...>
609 <UnknownRecord-17 ...>
611 <UnknownRecord-16 ...>
613 <UnknownRecord-17 ...>
615 <UnknownRecord-17 ...>
617 <UnknownRecord-17 ...>
619 <UnknownRecord-17 ...>
621 <UnknownRecord-17 ...>
623 <UnknownRecord-17 ...>
625 <UnknownRecord-18 ...>
627 <UnknownRecord-11 ...>
629 <UnknownRecord-26 ...>
631 <UnknownRecord-26 ...>
633 {'variables': {'sysVars': {'K0': 0.0,
656 'var_header': {'numSysVars': 21,
661 '\x95 Polar Graphs Demo, v3.01\n\n'
664 'wave': {'bin_header': {'checksum': -25004,
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',
700 'dataUnits': array(['', '', '', ''],
706 'hsA': 0.04908738521234052,
709 'modDate': 2845545774,
718 'wUnused': array(['', ''],
722 'xUnits': array(['', '', '', ''],
726 'wave': {'bin_header': {'checksum': 28621,
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',
762 'dataUnits': array(['', '', '', ''],
768 'hsA': 0.04908738521234052,
771 'modDate': 2845470039,
780 'wUnused': array(['', ''],
784 'xUnits': array(['', '', '', ''],
788 'wave': {'bin_header': {'checksum': 23021,
790 'dimEUnitsSize': array([0, 0, 0, 0]),
791 'dimLabelsSize': array([0, 0, 0, 0]),
799 'dimension_units': '',
800 'formula': ' PolarRadiusFunction(radiusData,1,0) * cos(PolarAngleFunction(angleData,3,1,2))',
801 'labels': [[], [], [], []],
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,
854 'dataUnits': array(['', '', '', ''],
857 'dimEUnits': array([0, 0, 0, 0]),
858 'dimLabels': array([0, 0, 0, 0]),
859 'dimUnits': array([['', '', '', ''],
868 'modDate': 2985072242,
869 'nDim': array([128, 0, 0, 0]),
873 'sfA': array([ 0.04908739, 1. , 1. , 1. ]),
874 'sfB': array([ 0., 0., 0., 0.]),
882 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
884 'whpad1': array(['', '', '', '', '', ''],
891 'wave': {'bin_header': {'checksum': -9146,
893 'dimEUnitsSize': array([0, 0, 0, 0]),
894 'dimLabelsSize': array([0, 0, 0, 0]),
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,
940 'dataUnits': array(['', '', '', ''],
943 'dimEUnits': array([0, 0, 0, 0]),
944 'dimLabels': array([0, 0, 0, 0]),
945 'dimUnits': array([['', '', '', ''],
954 'modDate': 2985072242,
955 'nDim': array([128, 0, 0, 0]),
959 'sfA': array([ 0.04908739, 1. , 1. , 1. ]),
960 'sfB': array([ 0., 0., 0., 0.]),
967 'waveNoteH': 7996608,
968 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
970 'whpad1': array(['', '', '', '', '', ''],
977 'wave': {'bin_header': {'checksum': 14307,
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,
1000 'dataUnits': array(['', '', '', ''],
1009 'modDate': 2845473705,
1014 'topFullScale': 0.0,
1018 'wUnused': array(['', ''],
1022 'xUnits': array(['', '', '', ''],
1026 'wave': {'bin_header': {'checksum': -12080,
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,
1052 'dataUnits': array(['', '', '', ''],
1061 'modDate': 2845473634,
1066 'topFullScale': 0.0,
1070 'wUnused': array(['', ''],
1074 'xUnits': array(['', '', '', ''],
1078 'wave': {'bin_header': {'checksum': -5745,
1079 'dataEUnitsSize': 0,
1080 'dimEUnitsSize': array([0, 0, 0, 0]),
1081 'dimLabelsSize': array([0, 0, 0, 0]),
1089 'dimension_units': '',
1090 'formula': ' PolarRadiusFunction(radiusQ1,1,-40) * cos(PolarAngleFunction(angleQ1,2,2,2))',
1091 'labels': [[], [], [], []],
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,
1112 'botFullScale': 0.0,
1117 'dataUnits': array(['', '', '', ''],
1120 'dimEUnits': array([0, 0, 0, 0]),
1121 'dimLabels': array([0, 0, 0, 0]),
1122 'dimUnits': array([['', '', '', ''],
1131 'modDate': 2985072242,
1132 'nDim': array([64, 0, 0, 0]),
1136 'sfA': array([ 1., 1., 1., 1.]),
1137 'sfB': array([ 0., 0., 0., 0.]),
1140 'topFullScale': 0.0,
1145 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
1147 'whpad1': array(['', '', '', '', '', ''],
1154 'wave': {'bin_header': {'checksum': -16604,
1155 'dataEUnitsSize': 0,
1156 'dimEUnitsSize': array([0, 0, 0, 0]),
1157 'dimLabelsSize': array([0, 0, 0, 0]),
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,
1188 'botFullScale': 0.0,
1193 'dataUnits': array(['', '', '', ''],
1196 'dimEUnits': array([0, 0, 0, 0]),
1197 'dimLabels': array([0, 0, 0, 0]),
1198 'dimUnits': array([['', '', '', ''],
1207 'modDate': 2985072242,
1208 'nDim': array([64, 0, 0, 0]),
1212 'sfA': array([ 1., 1., 1., 1.]),
1213 'sfB': array([ 0., 0., 0., 0.]),
1216 'topFullScale': 0.0,
1220 'waveNoteH': 7998208,
1221 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
1223 'whpad1': array(['', '', '', '', '', ''],
1233 {'variables': {'sysVars': {'K0': 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',
1261 'var_header': {'numSysVars': 21,
1270 {'variables': {'sysVars': {'K0': 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',
1301 'userVars': {'V_bottom': 232.0,
1303 'V_max': 2.4158518093414401,
1304 'V_min': -2.1848498883412,
1307 'u_UniqWaveNdx': 8.0,
1308 'u_UniqWinNdx': 3.0,
1310 'u_angleRange': 6.2831853071795862,
1312 'u_majorDelta': 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,
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,
1331 'numUserVars': 28}},
1338 '| Platform=Windows95, IGORVersion=3.130\n\n\n\nMoveWindow/P 5.25,40.25,504.75,335\n...hook=PolarWindowHook\nEndMacro\n'
1342 '#include <Polar Graphs> version >= 3.0\n'
1345 {'root': {'K0': 0.0,
1366 'Packages': {'PolarGraphs': {'V_bottom': 232.0,
1368 'V_max': 2.4158518093414401,
1369 'V_min': -2.1848498883412,
1372 'u_UniqWaveNdx': 8.0,
1373 'u_UniqWinNdx': 3.0,
1375 'u_angleRange': 6.2831853071795862,
1376 'u_colorList': 'black;blue;green;cyan;red;magenta;yellow;white;special',
1378 'u_debugStr': 'Turn Debugging On',
1379 'u_majorDelta': 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',
1397 'u_segsPerMinorArc': 3.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',
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 ...>}}
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)
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)
1430 walk callback on (['root', 'Packages'], WMDataBase, {...})
1432 walk callback on (['root'], radiusQ1, <WaveRecord ...>)
1436 from pprint import pformat
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
1448 _this_dir = os.path.dirname(__file__)
1449 _data_dir = os.path.join(_this_dir, 'data')
1451 def dumpibw(filename):
1452 LOG.info('Testing {}\n'.format(filename))
1453 path = os.path.join(_data_dir, filename)
1454 data = loadibw(path)
1457 def walk_callback(dirpath, key, value):
1458 print('walk callback on ({}, {}, {})'.format(
1459 dirpath, key, pformat(value)))
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):
1471 elif isinstance(record, VariablesRecord):
1472 pprint(record.variables)
1473 elif isinstance(record, WaveRecord):
1477 print('\nfilesystem:')
1480 print('\nwalking filesystem:')
1481 _walk(filesystem, walk_callback)
1484 lines = pformat(data).splitlines()
1485 print('\n'.join([line.rstrip() for line in lines]))