Add igor.packed.walk for traversing a packed experiment filesystem.
[igor.git] / test / test.py
index 2c8c60e84d8dd1ca25ab8bb6e25323edde35a1eb..1934493cd63c25776f7681b3b78b9016e90fa701 100644 (file)
+# Copyright
+
 r"""Test the igor module by loading sample files.
 
->>> dumpibw('mac-double.ibw', strict=False)  # doctest: +REPORT_UDIFF
-array([ 5.,  4.,  3.,  2.,  1.])
-{'checksum': 25137,
- 'note': '',
- 'noteSize': 0,
- 'pictSize': 0,
- 'version': 2,
- 'wfmSize': 166}
-{'aModified': 0,
- 'bname': array(['d', 'o', 'u', 'b', 'l', 'e', '', '', '', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001587842,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 0,
- 'fileName': 0,
- 'formula': 0,
- 'fsValid': 0,
- 'hsA': 1.0,
- 'hsB': 0.0,
- 'kindBits': '\x00',
- 'modDate': 3001587842,
- 'next': 0,
- 'npnts': 5,
- 'srcFldr': 0,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 4,
- 'useBits': '\x00',
- 'wData': array([ 2.3125,  0.    ,  2.25  ,  0.    ]),
- 'wModified': 0,
- 'wUnused': array(['', ''],
-      dtype='|S1'),
- 'waveNoteH': 0,
- 'whVersion': 0,
- 'xUnits': array(['', '', '', ''],
-      dtype='|S1')}
+>>> dumpibw('mac-double.ibw')  # doctest: +REPORT_UDIFF
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': 25137,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 166},
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([ 5.,  4.,  3.,  2.,  1.]),
+          'wave_header': {'aModified': 0,
+                          'bname': 'double',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001587842,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 3001587842,
+                          'next': 0,
+                          'npnts': 5,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 4,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 
 >>> dumpibw('mac-textWave.ibw')  # doctest: +REPORT_UDIFF
-array(['Mary', 'had', 'a', 'little', 'lamb'],
-      dtype='|S6')
-{'checksum': 5554,
- 'dataEUnits': '',
- 'dataEUnitsSize': 0,
- 'dimEUnits': ['', '', '', ''],
- 'dimEUnitsSize': array([0, 0, 0, 0]),
- 'dimLabels': [[], [], [], []],
- 'dimLabelsSize': array([0, 0, 0, 0]),
- 'formula': '',
- 'formulaSize': 0,
- 'note': '',
- 'noteSize': 0,
- 'optionsSize1': 0,
- 'optionsSize2': 0,
- 'sIndices': '\x00\x00\x00\x04\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x0e\x00\x00\x00\x12',
- 'sIndicesSize': 20,
- 'version': 5,
- 'wfmSize': 338}
-{'aModified': 0,
- 'bname': array(['t', 'e', 'x', 't', '0', '', '', '', '', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001571199,
- 'dFolder': 69554896,
- 'dLock': 0,
- 'dataEUnits': 0,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 22,
- 'dimEUnits': array([0, 0, 0, 0]),
- 'dimLabels': array([0, 0, 0, 0]),
- 'dimUnits': array([['', '', '', ''],
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': 5554,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 0,
+                         'noteSize': 0,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 20,
+                         'wfmSize': 338},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': '',
+          'labels': [[], [], [], []],
+          'note': '',
+          'sIndices': array([ 4,  7,  8, 14, 18]),
+          'wData': array(['Mary', 'had', 'a', 'little', 'lamb'],
+      dtype='|S6'),
+          'wave_header': {'aModified': 0,
+                          'bname': 'text0',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001571199,
+                          'dFolder': 69554896,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 22,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
- 'fileName': 0,
- 'formula': 0,
- 'fsValid': 0,
- 'kindBits': '\x00',
- 'modDate': 3001571215,
- 'nDim': array([5, 0, 0, 0]),
- 'next': 0,
- 'npnts': 5,
- 'sIndices': 69557296,
- 'sfA': array([ 1.,  1.,  1.,  1.]),
- 'sfB': array([ 0.,  0.,  0.,  0.]),
- 'srcFldr': 0,
- 'swModified': 1,
- 'topFullScale': 0.0,
- 'type': 0,
- 'useBits': '\x00',
- 'wData': 236398480.0,
- 'wModified': 0,
- 'waveNoteH': 0,
- 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
- 'whVersion': 1,
- 'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
- 'whpad2': 0,
- 'whpad3': 0,
- 'whpad4': 0}
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 3001571215,
+                          'nDim': array([5, 0, 0, 0]),
+                          'next': 0,
+                          'npnts': 5,
+                          'sIndices': 69557296,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': 0,
+                          'swModified': 1,
+                          'topFullScale': 0.0,
+                          'type': 0,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'waveNoteH': 0,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 
->>> dumpibw('mac-version2.ibw', strict=False)  # doctest: +REPORT_UDIFF
-array([ 5.,  4.,  3.,  2.,  1.], dtype=float32)
-{'checksum': -16803,
- 'note': 'This is a test.',
- 'noteSize': 15,
- 'pictSize': 0,
- 'version': 2,
- 'wfmSize': 146}
-{'aModified': 0,
- 'bname': array(['v', 'e', 'r', 's', 'i', 'o', 'n', '2', '', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001251979,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 0,
- 'fileName': 0,
- 'formula': 0,
- 'fsValid': 0,
- 'hsA': 1.0,
- 'hsB': 0.0,
- 'kindBits': '\x00',
- 'modDate': 3001573594,
- 'next': 0,
- 'npnts': 5,
- 'srcFldr': 0,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 2,
- 'useBits': '\x00',
- 'wData': array([ 5.,  4.,  3.,  2.]),
- 'wModified': 0,
- 'wUnused': array(['', ''],
-      dtype='|S1'),
- 'waveNoteH': 0,
- 'whVersion': 0,
- 'xUnits': array(['', '', '', ''],
-      dtype='|S1')}
+>>> dumpibw('mac-version2.ibw')  # doctest: +REPORT_UDIFF
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': -16803,
+                         'noteSize': 15,
+                         'pictSize': 0,
+                         'wfmSize': 146},
+          'note': 'This is a test.',
+          'padding': array([], dtype=float64),
+          'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
+          'wave_header': {'aModified': 0,
+                          'bname': 'version2',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001251979,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 3001573594,
+                          'next': 0,
+                          'npnts': 5,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 
->>> dumpibw('mac-version3Dependent.ibw', strict=False)  # doctest: +REPORT_UDIFF
-array([], dtype=int8)
-{'checksum': 0,
- 'formula': '',
- 'formulaSize': 0,
- 'note': '',
- 'noteSize': 8257536,
- 'pictSize': 262144,
- 'version': 3,
- 'wfmSize': 0}
-{'aModified': 10,
- 'bname': array(['', '', 'v', 'e', 'r', 's', 'i', 'o', 'n', '3', 'D', 'e', 'p', 'e',
-       'n', 'd', 'e', 'n', 't', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 1507328,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': -487849984,
- 'fileName': 0,
- 'formula': 1577,
- 'fsValid': 1,
- 'hsA': 4.5193417557662e-309,
- 'hsB': 0.0,
- 'kindBits': '\x00',
- 'modDate': 45801,
- 'next': 131072,
- 'npnts': 0,
- 'srcFldr': 0,
- 'swModified': 1,
- 'topFullScale': 0.0,
- 'type': -32334,
- 'useBits': '\x00',
- 'wData': array([ 0.,  0.,  0.,  0.]),
- 'wModified': 0,
- 'wUnused': array(['', ''],
-      dtype='|S1'),
- 'waveNoteH': 3835494400,
- 'whVersion': 0,
- 'xUnits': array(['', '', '', ''],
-      dtype='|S1')}
+>>> dumpibw('mac-version3Dependent.ibw')  # doctest: +REPORT_UDIFF
+{'version': 3,
+ 'wave': {'bin_header': {'checksum': -32334,
+                         'formulaSize': 4,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 126},
+          'formula': ' K0',
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([], dtype=float32),
+          'wave_header': {'aModified': 3,
+                          'bname': 'version3Dependent',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 23,
+                          'fileName': 0,
+                          'formula': 103408364,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 3001672861,
+                          'next': 0,
+                          'npnts': 10,
+                          'srcFldr': 0,
+                          'swModified': 1,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 1,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 
 >>> dumpibw('mac-version5.ibw')  # doctest: +REPORT_UDIFF
-array([ 5.,  4.,  3.,  2.,  1.], dtype=float32)
-{'checksum': -12033,
- 'dataEUnits': '',
- 'dataEUnitsSize': 0,
- 'dimEUnits': ['', '', '', ''],
- 'dimEUnitsSize': array([0, 0, 0, 0]),
- 'dimLabels': [['Column0'], [], [], []],
- 'dimLabelsSize': array([64,  0,  0,  0]),
- 'formula': '',
- 'formulaSize': 0,
- 'note': 'This is a test.',
- 'noteSize': 15,
- 'optionsSize1': 0,
- 'optionsSize2': 0,
- 'sIndicesSize': 0,
- 'version': 5,
- 'wfmSize': 340}
-{'aModified': 0,
- 'bname': array(['v', 'e', 'r', 's', 'i', 'o', 'n', '5', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001252180,
- 'dFolder': 69554896,
- 'dLock': 0,
- 'dataEUnits': 0,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 27,
- 'dimEUnits': array([0, 0, 0, 0]),
- 'dimLabels': array([69554136,        0,        0,        0]),
- 'dimUnits': array([['', '', '', ''],
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': -12033,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([64,  0,  0,  0]),
+                         'formulaSize': 0,
+                         'noteSize': 15,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 340},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': '',
+          'labels': [['Column0'], [], [], []],
+          'note': 'This is a test.',
+          'sIndices': array([], dtype=float64),
+          'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
+          'wave_header': {'aModified': 0,
+                          'bname': 'version5',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001252180,
+                          'dFolder': 69554896,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 27,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([69554136,        0,        0,        0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
- 'fileName': 69554292,
- 'formula': 0,
- 'fsValid': 0,
- 'kindBits': '\x00',
- 'modDate': 3001573601,
- 'nDim': array([5, 0, 0, 0]),
- 'next': 69555212,
- 'npnts': 5,
- 'sIndices': 0,
- 'sfA': array([ 1.,  1.,  1.,  1.]),
- 'sfB': array([ 0.,  0.,  0.,  0.]),
- 'srcFldr': -32349,
- 'swModified': 1,
- 'topFullScale': 0.0,
- 'type': 2,
- 'useBits': '\x00',
- 'wData': 5.0,
- 'wModified': 0,
- 'waveNoteH': 69554032,
- 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
- 'whVersion': 1,
- 'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
- 'whpad2': 0,
- 'whpad3': 0,
- 'whpad4': 0}
+                          'fileName': 69554292,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 3001573601,
+                          'nDim': array([5, 0, 0, 0]),
+                          'next': 69555212,
+                          'npnts': 5,
+                          'sIndices': 0,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': -32349,
+                          'swModified': 1,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'waveNoteH': 69554032,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 
 >>> dumpibw('mac-zeroPointWave.ibw')  # doctest: +REPORT_UDIFF
-array([], dtype=float32)
-{'checksum': -15649,
- 'dataEUnits': '',
- 'dataEUnitsSize': 0,
- 'dimEUnits': ['', '', '', ''],
- 'dimEUnitsSize': array([0, 0, 0, 0]),
- 'dimLabels': [[], [], [], []],
- 'dimLabelsSize': array([0, 0, 0, 0]),
- 'formula': '',
- 'formulaSize': 0,
- 'note': '',
- 'noteSize': 0,
- 'optionsSize1': 0,
- 'optionsSize2': 0,
- 'sIndicesSize': 0,
- 'version': 5,
- 'wfmSize': 320}
-{'aModified': 3,
- 'bname': array(['z', 'e', 'r', 'o', 'W', 'a', 'v', 'e', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001573964,
- 'dFolder': 69554896,
- 'dLock': 0,
- 'dataEUnits': 0,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 29,
- 'dimEUnits': array([0, 0, 0, 0]),
- 'dimLabels': array([0, 0, 0, 0]),
- 'dimUnits': array([['', '', '', ''],
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': -15649,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 0,
+                         'noteSize': 0,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 320},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': '',
+          'labels': [[], [], [], []],
+          'note': '',
+          'sIndices': array([], dtype=float64),
+          'wData': array([], dtype=float32),
+          'wave_header': {'aModified': 3,
+                          'bname': 'zeroWave',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001573964,
+                          'dFolder': 69554896,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 29,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
- 'fileName': 0,
- 'formula': 0,
- 'fsValid': 0,
- 'kindBits': '\x00',
- 'modDate': 3001573964,
- 'nDim': array([0, 0, 0, 0]),
- 'next': 0,
- 'npnts': 0,
- 'sIndices': 0,
- 'sfA': array([ 1.,  1.,  1.,  1.]),
- 'sfB': array([ 0.,  0.,  0.,  0.]),
- 'srcFldr': 0,
- 'swModified': 1,
- 'topFullScale': 0.0,
- 'type': 2,
- 'useBits': '\x00',
- 'wData': 0.0,
- 'wModified': 1,
- 'waveNoteH': 0,
- 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
- 'whVersion': 1,
- 'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
- 'whpad2': 0,
- 'whpad3': 0,
- 'whpad4': 0}
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 3001573964,
+                          'nDim': array([0, 0, 0, 0]),
+                          'next': 0,
+                          'npnts': 0,
+                          'sIndices': 0,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': 0,
+                          'swModified': 1,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 1,
+                          'waveNoteH': 0,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 
 >>> dumpibw('win-double.ibw')  # doctest: +REPORT_UDIFF
-array([ 5.,  4.,  3.,  2.,  1.])
-{'checksum': 28962,
- 'note': '',
- 'noteSize': 0,
- 'pictSize': 0,
- 'version': 2,
- 'wfmSize': 166}
-{'aModified': 0,
- 'bname': array(['d', 'o', 'u', 'b', 'l', 'e', '', '', '', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001587842,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 0,
- 'fileName': 0,
- 'formula': 0,
- 'fsValid': 0,
- 'hsA': 1.0,
- 'hsB': 0.0,
- 'kindBits': '\x00',
- 'modDate': 3001587842,
- 'next': 0,
- 'npnts': 5,
- 'srcFldr': 0,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 4,
- 'useBits': '\x00',
- 'wData': array([ 0.    ,  2.3125,  0.    ,  2.25  ]),
- 'wModified': 0,
- 'wUnused': array(['', ''],
-      dtype='|S1'),
- 'waveNoteH': 0,
- 'whVersion': 0,
- 'xUnits': array(['', '', '', ''],
-      dtype='|S1')}
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': 28962,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 166},
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([ 5.,  4.,  3.,  2.,  1.]),
+          'wave_header': {'aModified': 0,
+                          'bname': 'double',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001587842,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 3001587842,
+                          'next': 0,
+                          'npnts': 5,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 4,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 
 >>> dumpibw('win-textWave.ibw')  # doctest: +REPORT_UDIFF
-array(['Mary', 'had', 'a', 'little', 'lamb'],
-      dtype='|S6')
-{'checksum': 184,
- 'dataEUnits': '',
- 'dataEUnitsSize': 0,
- 'dimEUnits': ['', '', '', ''],
- 'dimEUnitsSize': array([0, 0, 0, 0]),
- 'dimLabels': [[], [], [], []],
- 'dimLabelsSize': array([0, 0, 0, 0]),
- 'formula': '',
- 'formulaSize': 0,
- 'note': '',
- 'noteSize': 0,
- 'optionsSize1': 0,
- 'optionsSize2': 0,
- 'sIndices': '\x04\x00\x00\x00\x07\x00\x00\x00\x08\x00\x00\x00\x0e\x00\x00\x00\x12\x00\x00\x00',
- 'sIndicesSize': 20,
- 'version': 5,
- 'wfmSize': 338}
-{'aModified': 0,
- 'bname': array(['t', 'e', 'x', 't', '0', '', '', '', '', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001571199,
- 'dFolder': 8108612,
- 'dLock': 0,
- 'dataEUnits': 0,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 32,
- 'dimEUnits': array([0, 0, 0, 0]),
- 'dimLabels': array([0, 0, 0, 0]),
- 'dimUnits': array([['', '', '', ''],
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': 184,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 0,
+                         'noteSize': 0,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 20,
+                         'wfmSize': 338},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': '',
+          'labels': [[], [], [], []],
+          'note': '',
+          'sIndices': array([ 4,  7,  8, 14, 18]),
+          'wData': array(['Mary', 'had', 'a', 'little', 'lamb'],
+      dtype='|S6'),
+          'wave_header': {'aModified': 0,
+                          'bname': 'text0',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001571199,
+                          'dFolder': 8108612,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 32,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
- 'fileName': 7814472,
- 'formula': 0,
- 'fsValid': 0,
- 'kindBits': '\x00',
- 'modDate': 3001571215,
- 'nDim': array([5, 0, 0, 0]),
- 'next': 0,
- 'npnts': 5,
- 'sIndices': 8133100,
- 'sfA': array([ 1.,  1.,  1.,  1.]),
- 'sfB': array([ 0.,  0.,  0.,  0.]),
- 'srcFldr': -1007,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 0,
- 'useBits': '\x00',
- 'wData': 7.865683337909351e+34,
- 'wModified': 1,
- 'waveNoteH': 0,
- 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
- 'whVersion': 1,
- 'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
- 'whpad2': 0,
- 'whpad3': 0,
- 'whpad4': 0}
+                          'fileName': 7814472,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 3001571215,
+                          'nDim': array([5, 0, 0, 0]),
+                          'next': 0,
+                          'npnts': 5,
+                          'sIndices': 8133100,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': -1007,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 0,
+                          'useBits': '\x00',
+                          'wModified': 1,
+                          'waveNoteH': 0,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 
 >>> dumpibw('win-version2.ibw')  # doctest: +REPORT_UDIFF
-array([ 5.,  4.,  3.,  2.,  1.], dtype=float32)
-{'checksum': 1047,
- 'note': 'This is a test.',
- 'noteSize': 15,
- 'pictSize': 0,
- 'version': 2,
- 'wfmSize': 146}
-{'aModified': 0,
- 'bname': array(['v', 'e', 'r', 's', 'i', 'o', 'n', '2', '', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001251979,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 0,
- 'fileName': 0,
- 'formula': 0,
- 'fsValid': 0,
- 'hsA': 1.0,
- 'hsB': 0.0,
- 'kindBits': '\x00',
- 'modDate': 3001573594,
- 'next': 0,
- 'npnts': 5,
- 'srcFldr': 0,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 2,
- 'useBits': '\x00',
- 'wData': array([ 5.,  4.,  3.,  2.]),
- 'wModified': 0,
- 'wUnused': array(['', ''],
-      dtype='|S1'),
- 'waveNoteH': 0,
- 'whVersion': 0,
- 'xUnits': array(['', '', '', ''],
-      dtype='|S1')}
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': 1047,
+                         'noteSize': 15,
+                         'pictSize': 0,
+                         'wfmSize': 146},
+          'note': 'This is a test.',
+          'padding': array([], dtype=float64),
+          'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
+          'wave_header': {'aModified': 0,
+                          'bname': 'version2',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001251979,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 3001573594,
+                          'next': 0,
+                          'npnts': 5,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 
 >>> dumpibw('win-version5.ibw')  # doctest: +REPORT_UDIFF
-array([ 5.,  4.,  3.,  2.,  1.], dtype=float32)
-{'checksum': 13214,
- 'dataEUnits': '',
- 'dataEUnitsSize': 0,
- 'dimEUnits': ['', '', '', ''],
- 'dimEUnitsSize': array([0, 0, 0, 0]),
- 'dimLabels': [['Column0'], [], [], []],
- 'dimLabelsSize': array([64,  0,  0,  0]),
- 'formula': '',
- 'formulaSize': 0,
- 'note': 'This is a test.',
- 'noteSize': 15,
- 'optionsSize1': 0,
- 'optionsSize2': 0,
- 'sIndicesSize': 0,
- 'version': 5,
- 'wfmSize': 340}
-{'aModified': 0,
- 'bname': array(['v', 'e', 'r', 's', 'i', 'o', 'n', '5', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001252180,
- 'dFolder': 8108612,
- 'dLock': 0,
- 'dataEUnits': 0,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 30,
- 'dimEUnits': array([0, 0, 0, 0]),
- 'dimLabels': array([8138784,       0,       0,       0]),
- 'dimUnits': array([['', '', '', ''],
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': 13214,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([64,  0,  0,  0]),
+                         'formulaSize': 0,
+                         'noteSize': 15,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 340},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': '',
+          'labels': [['Column0'], [], [], []],
+          'note': 'This is a test.',
+          'sIndices': array([], dtype=float64),
+          'wData': array([ 5.,  4.,  3.,  2.,  1.], dtype=float32),
+          'wave_header': {'aModified': 0,
+                          'bname': 'version5',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001252180,
+                          'dFolder': 8108612,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 30,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([8138784,       0,       0,       0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
- 'fileName': 8131824,
- 'formula': 0,
- 'fsValid': 0,
- 'kindBits': '\x00',
- 'modDate': 3001573601,
- 'nDim': array([5, 0, 0, 0]),
- 'next': 8125236,
- 'npnts': 5,
- 'sIndices': 0,
- 'sfA': array([ 1.,  1.,  1.,  1.]),
- 'sfB': array([ 0.,  0.,  0.,  0.]),
- 'srcFldr': -1007,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 2,
- 'useBits': '\x00',
- 'wData': 5.0,
- 'wModified': 1,
- 'waveNoteH': 8131596,
- 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
- 'whVersion': 1,
- 'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
- 'whpad2': 0,
- 'whpad3': 0,
- 'whpad4': 0}
+                          'fileName': 8131824,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 3001573601,
+                          'nDim': array([5, 0, 0, 0]),
+                          'next': 8125236,
+                          'npnts': 5,
+                          'sIndices': 0,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': -1007,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 1,
+                          'waveNoteH': 8131596,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 
 >>> dumpibw('win-zeroPointWave.ibw')  # doctest: +REPORT_UDIFF
-array([], dtype=float32)
-{'checksum': 27541,
- 'dataEUnits': '',
- 'dataEUnitsSize': 0,
- 'dimEUnits': ['', '', '', ''],
- 'dimEUnitsSize': array([0, 0, 0, 0]),
- 'dimLabels': [[], [], [], []],
- 'dimLabelsSize': array([0, 0, 0, 0]),
- 'formula': '',
- 'formulaSize': 0,
- 'note': '',
- 'noteSize': 0,
- 'optionsSize1': 0,
- 'optionsSize2': 0,
- 'sIndicesSize': 0,
- 'version': 5,
- 'wfmSize': 320}
-{'aModified': 3,
- 'bname': array(['z', 'e', 'r', 'o', 'W', 'a', 'v', 'e', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
- 'botFullScale': 0.0,
- 'creationDate': 3001573964,
- 'dFolder': 8108612,
- 'dLock': 0,
- 'dataEUnits': 0,
- 'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
- 'depID': 31,
- 'dimEUnits': array([0, 0, 0, 0]),
- 'dimLabels': array([0, 0, 0, 0]),
- 'dimUnits': array([['', '', '', ''],
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': 27541,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 0,
+                         'noteSize': 0,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 320},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': '',
+          'labels': [[], [], [], []],
+          'note': '',
+          'sIndices': array([], dtype=float64),
+          'wData': array([], dtype=float32),
+          'wave_header': {'aModified': 3,
+                          'bname': 'zeroWave',
+                          'botFullScale': 0.0,
+                          'creationDate': 3001573964,
+                          'dFolder': 8108612,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 31,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
- 'fileName': 8125252,
- 'formula': 0,
- 'fsValid': 0,
- 'kindBits': '\x00',
- 'modDate': 3001573964,
- 'nDim': array([0, 0, 0, 0]),
- 'next': 8133140,
- 'npnts': 0,
- 'sIndices': 0,
- 'sfA': array([ 1.,  1.,  1.,  1.]),
- 'sfB': array([ 0.,  0.,  0.,  0.]),
- 'srcFldr': -1007,
- 'swModified': 0,
- 'topFullScale': 0.0,
- 'type': 2,
- 'useBits': '\x00',
- 'wData': 0.0,
- 'wModified': 1,
- 'waveNoteH': 0,
- 'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
- 'whVersion': 1,
- 'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
- 'whpad2': 0,
- 'whpad3': 0,
- 'whpad4': 0}
+                          'fileName': 8125252,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 3001573964,
+                          'nDim': array([0, 0, 0, 0]),
+                          'next': 8133140,
+                          'npnts': 0,
+                          'sIndices': 0,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': -1007,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 1,
+                          'waveNoteH': 0,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 
 >>> dumppxp('polar-graphs-demo.pxp')    # doctest: +REPORT_UDIFF, +ELLIPSIS
 record 0:
@@ -652,11 +630,44 @@ record 28:
 record 29:
 <UnknownRecord-26 ...>
 record 30:
-<VariablesRecord ...>
+{'variables': {'sysVars': {'K0': 0.0,
+                           'K1': 0.0,
+                           'K10': 0.0,
+                           'K11': 0.0,
+                           'K12': 0.0,
+                           'K13': 0.0,
+                           'K14': 0.0,
+                           'K15': 0.0,
+                           'K16': 0.0,
+                           'K17': 0.0,
+                           'K18': 0.0,
+                           'K19': 0.0,
+                           'K2': 0.0,
+                           'K20': 128.0,
+                           'K3': 0.0,
+                           'K4': 0.0,
+                           'K5': 0.0,
+                           'K6': 0.0,
+                           'K7': 0.0,
+                           'K8': 0.0,
+                           'K9': 0.0},
+               'userStrs': {},
+               'userVars': {},
+               'var_header': {'numSysVars': 21,
+                              'numUserStrs': 0,
+                              'numUserVars': 0}},
+ 'version': 1}
 record 31:
-<HistoryRecord ...>
+'\x95 Polar Graphs Demo, v3.01\n\n'
 record 32:
-(array([ 0.30000001,  0.5448544 ,  0.77480197,  0.97584349,  1.13573945,
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': -25004,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 638},
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([ 0.30000001,  0.5448544 ,  0.77480197,  0.97584349,  1.13573945,
         1.24475539,  1.2962544 ,  1.28710103,  1.21785283,  1.09272552,
         0.91933674,  0.7082426 ,  0.47229454,  0.22585714, -0.01606643,
        -0.23874778, -0.42862982, -0.57415301, -0.6664573 , -0.69992352,
@@ -682,45 +693,43 @@ record 32:
         0.12770344, -0.1082412 , -0.31933719, -0.49272597, -0.61785328,
        -0.6871013 , -0.69625437, -0.64475471, -0.53574032, -0.37584305,
        -0.17479956,  0.05514668,  0.30000135], dtype=float32),
- {'checksum': -25004,
-  'note': '',
-  'noteSize': 0,
-  'pictSize': 0,
-  'version': 2,
-  'wfmSize': 638},
- {'aModified': 0,
-  'bname': array(['r', 'a', 'd', 'i', 'u', 's', 'D', 'a', 't', 'a', '', '', '', '',
-       '', '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 0,
-  'fileName': 0,
-  'formula': 0,
-  'fsValid': 0,
-  'hsA': 0.04908738521234052,
-  'hsB': 0.0,
-  'kindBits': '\x00',
-  'modDate': 2845545774,
-  'next': 0,
-  'npnts': 128,
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': array([ 0.30000001,  0.5448544 ,  0.77480197,  0.97584349]),
-  'wModified': 0,
-  'wUnused': array(['', ''],
-      dtype='|S1'),
-  'waveNoteH': 0,
-  'whVersion': 0,
-  'xUnits': array(['', '', '', ''],
-      dtype='|S1')})
+          'wave_header': {'aModified': 0,
+                          'bname': 'radiusData',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 0.04908738521234052,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 2845545774,
+                          'next': 0,
+                          'npnts': 128,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 record 33:
-(array([ 0.        ,  0.0494739 ,  0.0989478 ,  0.1484217 ,  0.1978956 ,
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': 28621,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 638},
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([ 0.        ,  0.0494739 ,  0.0989478 ,  0.1484217 ,  0.1978956 ,
         0.24736951,  0.29684341,  0.34631732,  0.3957912 ,  0.44526511,
         0.49473903,  0.54421294,  0.59368682,  0.6431607 ,  0.69263464,
         0.74210852,  0.79158241,  0.84105635,  0.89053023,  0.94000411,
@@ -746,45 +755,53 @@ record 33:
         5.6894989 ,  5.73897219,  5.78844643,  5.83792019,  5.88739443,
         5.93686819,  5.98634195,  6.03581619,  6.08528948,  6.13476372,
         6.18423796,  6.23371172,  6.28318548], dtype=float32),
- {'checksum': 28621,
-  'note': '',
-  'noteSize': 0,
-  'pictSize': 0,
-  'version': 2,
-  'wfmSize': 638},
- {'aModified': 0,
-  'bname': array(['a', 'n', 'g', 'l', 'e', 'D', 'a', 't', 'a', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 0,
-  'fileName': 0,
-  'formula': 0,
-  'fsValid': 0,
-  'hsA': 0.04908738521234052,
-  'hsB': 0.0,
-  'kindBits': '\x00',
-  'modDate': 2845470039,
-  'next': 0,
-  'npnts': 128,
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': array([ 0.       ,  0.0494739,  0.0989478,  0.1484217]),
-  'wModified': 0,
-  'wUnused': array(['', ''],
-      dtype='|S1'),
-  'waveNoteH': 0,
-  'whVersion': 0,
-  'xUnits': array(['', '', '', ''],
-      dtype='|S1')})
+          'wave_header': {'aModified': 0,
+                          'bname': 'angleData',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 0.04908738521234052,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 2845470039,
+                          'next': 0,
+                          'npnts': 128,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 record 34:
-(array([  1.83690956e-17,   2.69450769e-02,   7.65399113e-02,
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': 23021,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 80,
+                         'noteSize': 0,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 832},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': ' PolarRadiusFunction(radiusData,1,0) * cos(PolarAngleFunction(angleData,3,1,2))',
+          'labels': [[], [], [], []],
+          'note': '',
+          'sIndices': array([], dtype=float64),
+          'wData': array([  1.83690956e-17,   2.69450769e-02,   7.65399113e-02,
          1.44305170e-01,   2.23293692e-01,   3.04783821e-01,
          3.79158467e-01,   4.36888516e-01,   4.69528973e-01,
          4.70633775e-01,   4.36502904e-01,   3.66688997e-01,
@@ -827,69 +844,67 @@ record 34:
          2.33226836e-01,   2.03656554e-01,   1.57870770e-01,
          1.05330117e-01,   5.55786416e-02,   1.72677450e-02,
         -2.72719120e-03,   5.24539061e-08], dtype=float32),
- {'checksum': 23021,
-  'dataEUnits': '',
-  'dataEUnitsSize': 0,
-  'dimEUnits': ['', '', '', ''],
-  'dimEUnitsSize': array([0, 0, 0, 0]),
-  'dimLabels': [[], [], [], []],
-  'dimLabelsSize': array([0, 0, 0, 0]),
-  'formula': 'PolarRadiusFunction(radiusData,1,0) * cos(PolarAngleFunction(angleData,3,1,2))\x00',
-  'formulaSize': 80,
-  'note': '',
-  'noteSize': 0,
-  'optionsSize1': 0,
-  'optionsSize2': 0,
-  'sIndicesSize': 0,
-  'version': 5,
-  'wfmSize': 832},
- {'aModified': 0,
-  'bname': array(['W', '_', 'p', 'l', 'r', 'X', '5', '', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dFolder': 7848580,
-  'dLock': 0,
-  'dataEUnits': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 24,
-  'dimEUnits': array([0, 0, 0, 0]),
-  'dimLabels': array([0, 0, 0, 0]),
-  'dimUnits': array([['', '', '', ''],
+          'wave_header': {'aModified': 0,
+                          'bname': 'W_plrX5',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dFolder': 7848580,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 24,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
-  'fileName': 0,
-  'formula': 8054500,
-  'fsValid': 0,
-  'kindBits': '\x00',
-  'modDate': 2985072242,
-  'nDim': array([128,   0,   0,   0]),
-  'next': 8054516,
-  'npnts': 128,
-  'sIndices': 0,
-  'sfA': array([ 0.04908739,  1.        ,  1.        ,  1.        ]),
-  'sfB': array([ 0.,  0.,  0.,  0.]),
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': 1.8369095638207904e-17,
-  'wModified': 0,
-  'waveNoteH': 0,
-  'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
-  'whVersion': 1,
-  'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
-  'whpad2': 0,
-  'whpad3': 0,
-  'whpad4': 0})
+                          'fileName': 0,
+                          'formula': 8054500,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 2985072242,
+                          'nDim': array([128,   0,   0,   0]),
+                          'next': 8054516,
+                          'npnts': 128,
+                          'sIndices': 0,
+                          'sfA': array([ 0.04908739,  1.        ,  1.        ,  1.        ]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'waveNoteH': 0,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 record 35:
-(array([ 0.30000001,  0.54418772,  0.77101213,  0.96511477,  1.1135726 ,
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': -9146,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 80,
+                         'noteSize': 82,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 832},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': ' PolarRadiusFunction(radiusData,1,0) * sin(PolarAngleFunction(angleData,3,1,2))',
+          'labels': [[], [], [], []],
+          'note': 'shadowX=W_plrX5,appendRadius=radiusData,appendAngleData=angleData,angleDataUnits=2',
+          'sIndices': array([], dtype=float64),
+          'wData': array([ 0.30000001,  0.54418772,  0.77101213,  0.96511477,  1.1135726 ,
         1.20686483,  1.23956215,  1.21068466,  1.12370288,  0.98618096,
         0.80910152,  0.60592639,  0.39147732,  0.18073183, -0.01236418,
        -0.17596789, -0.30120692, -0.38277394, -0.41920158, -0.41280419,
@@ -915,69 +930,57 @@ record 35:
         0.10585135, -0.09260413, -0.28104633, -0.44468346, -0.57008827,
        -0.64630753, -0.66580337, -0.62512833, -0.52528399, -0.37171093,
        -0.17394456,  0.0550792 ,  0.30000135], dtype=float32),
- {'checksum': -9146,
-  'dataEUnits': '',
-  'dataEUnitsSize': 0,
-  'dimEUnits': ['', '', '', ''],
-  'dimEUnitsSize': array([0, 0, 0, 0]),
-  'dimLabels': [[], [], [], []],
-  'dimLabelsSize': array([0, 0, 0, 0]),
-  'formula': 'PolarRadiusFunction(radiusData,1,0) * sin(PolarAngleFunction(angleData,3,1,2))\x00',
-  'formulaSize': 80,
-  'note': 'shadowX=W_plrX5,appendRadius=radiusData,appendAngleData=angleData,angleDataUnits=2',
-  'noteSize': 82,
-  'optionsSize1': 0,
-  'optionsSize2': 0,
-  'sIndicesSize': 0,
-  'version': 5,
-  'wfmSize': 832},
- {'aModified': 0,
-  'bname': array(['W', '_', 'p', 'l', 'r', 'Y', '5', '', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dFolder': 7848580,
-  'dLock': 0,
-  'dataEUnits': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 26,
-  'dimEUnits': array([0, 0, 0, 0]),
-  'dimLabels': array([0, 0, 0, 0]),
-  'dimUnits': array([['', '', '', ''],
+          'wave_header': {'aModified': 0,
+                          'bname': 'W_plrY5',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dFolder': 7848580,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 26,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
-  'fileName': 0,
-  'formula': 8054532,
-  'fsValid': 0,
-  'kindBits': '\x00',
-  'modDate': 2985072242,
-  'nDim': array([128,   0,   0,   0]),
-  'next': 8084972,
-  'npnts': 128,
-  'sIndices': 0,
-  'sfA': array([ 0.04908739,  1.        ,  1.        ,  1.        ]),
-  'sfB': array([ 0.,  0.,  0.,  0.]),
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': 0.30000001192092896,
-  'wModified': 0,
-  'waveNoteH': 7996608,
-  'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
-  'whVersion': 1,
-  'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
-  'whpad2': 0,
-  'whpad3': 0,
-  'whpad4': 0})
+                          'fileName': 0,
+                          'formula': 8054532,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 2985072242,
+                          'nDim': array([128,   0,   0,   0]),
+                          'next': 8084972,
+                          'npnts': 128,
+                          'sIndices': 0,
+                          'sfA': array([ 0.04908739,  1.        ,  1.        ,  1.        ]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'waveNoteH': 7996608,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 record 36:
-(array([ 0.2617994 ,  0.27842158,  0.29504377,  0.31166595,  0.32828814,
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': 14307,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 382},
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([ 0.2617994 ,  0.27842158,  0.29504377,  0.31166595,  0.32828814,
         0.34491032,  0.36153251,  0.3781547 ,  0.39477688,  0.41139907,
         0.42802125,  0.44464344,  0.46126559,  0.47788778,  0.49450997,
         0.51113212,  0.52775431,  0.54437649,  0.56099868,  0.57762086,
@@ -990,45 +993,43 @@ record 36:
         1.09290862,  1.10953069,  1.12615299,  1.14277506,  1.15939736,
         1.17601943,  1.19264174,  1.2092638 ,  1.22588611,  1.24250817,
         1.25913048,  1.27575254,  1.29237485,  1.30899692], dtype=float32),
- {'checksum': 14307,
-  'note': '',
-  'noteSize': 0,
-  'pictSize': 0,
-  'version': 2,
-  'wfmSize': 382},
- {'aModified': 0,
-  'bname': array(['a', 'n', 'g', 'l', 'e', 'Q', '1', '', '', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 0,
-  'fileName': 0,
-  'formula': 0,
-  'fsValid': 0,
-  'hsA': 1.0,
-  'hsB': 0.0,
-  'kindBits': '\x00',
-  'modDate': 2845473705,
-  'next': 0,
-  'npnts': 64,
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': array([ 0.2617994 ,  0.27842158,  0.29504377,  0.31166595]),
-  'wModified': 0,
-  'wUnused': array(['', ''],
-      dtype='|S1'),
-  'waveNoteH': 0,
-  'whVersion': 0,
-  'xUnits': array(['', '', '', ''],
-      dtype='|S1')})
+          'wave_header': {'aModified': 0,
+                          'bname': 'angleQ1',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 2845473705,
+                          'next': 0,
+                          'npnts': 64,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 record 37:
-(array([ -8.34064484,  -7.66960144,  -6.62294245,  -6.82878971,
+{'version': 2,
+ 'wave': {'bin_header': {'checksum': -12080,
+                         'noteSize': 0,
+                         'pictSize': 0,
+                         'wfmSize': 382},
+          'note': '',
+          'padding': array([], dtype=float64),
+          'wData': array([ -8.34064484,  -7.66960144,  -6.62294245,  -6.82878971,
         -8.6383152 , -11.20019722, -13.83398628, -15.95139503,
        -16.18096733, -13.58062267,  -9.26843071,  -5.34649038,
         -3.01010084,  -2.30953455,  -2.73682952,  -3.72112942,
@@ -1044,45 +1045,53 @@ record 37:
         -2.93472862,  -3.47230864,  -4.7322526 ,  -6.80173016,
         -9.08601665, -10.00928402,  -8.87677383,  -6.88120317,
         -5.61007977,  -5.6351161 ,  -6.41880989,  -6.8738699 ], dtype=float32),
- {'checksum': -12080,
-  'note': '',
-  'noteSize': 0,
-  'pictSize': 0,
-  'version': 2,
-  'wfmSize': 382},
- {'aModified': 0,
-  'bname': array(['r', 'a', 'd', 'i', 'u', 's', 'Q', '1', '', '', '', '', '', '', '',
-       '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 0,
-  'fileName': 0,
-  'formula': 0,
-  'fsValid': 0,
-  'hsA': 1.0,
-  'hsB': 0.0,
-  'kindBits': '\x00',
-  'modDate': 2845473634,
-  'next': 0,
-  'npnts': 64,
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': array([-8.34064484, -7.66960144, -6.62294245, -6.82878971]),
-  'wModified': 0,
-  'wUnused': array(['', ''],
-      dtype='|S1'),
-  'waveNoteH': 0,
-  'whVersion': 0,
-  'xUnits': array(['', '', '', ''],
-      dtype='|S1')})
+          'wave_header': {'aModified': 0,
+                          'bname': 'radiusQ1',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 0,
+                          'fileName': 0,
+                          'formula': 0,
+                          'fsValid': 0,
+                          'hsA': 1.0,
+                          'hsB': 0.0,
+                          'kindBits': '\x00',
+                          'modDate': 2845473634,
+                          'next': 0,
+                          'npnts': 64,
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'wUnused': array(['', ''],
+      dtype='|S1'),
+                          'waveNoteH': 0,
+                          'whVersion': 0,
+                          'xUnits': array(['', '', '', ''],
+      dtype='|S1')}}}
 record 38:
-(array([ 30.58058929,  31.08536911,  31.93481636,  31.57315445,
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': -5745,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 78,
+                         'noteSize': 0,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 576},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': ' PolarRadiusFunction(radiusQ1,1,-40) * cos(PolarAngleFunction(angleQ1,2,2,2))',
+          'labels': [[], [], [], []],
+          'note': '',
+          'sIndices': array([], dtype=float64),
+          'wData': array([ 30.58058929,  31.08536911,  31.93481636,  31.57315445,
         29.68683434,  27.10366058,  24.47453499,  22.3495121 ,
         21.98692894,  24.21500397,  27.95923996,  31.28394508,
         33.12408066,  33.46794128,  32.79909515,  31.64211464,
@@ -1098,69 +1107,67 @@ record 38:
         15.94310474,  15.16159916,  14.10328865,  12.76812935,
         11.41363049,  10.60795975,  10.52314186,  10.67826462,
         10.5454855 ,   9.99268055,   9.22939587,   8.5736742 ], dtype=float32),
- {'checksum': -5745,
-  'dataEUnits': '',
-  'dataEUnitsSize': 0,
-  'dimEUnits': ['', '', '', ''],
-  'dimEUnitsSize': array([0, 0, 0, 0]),
-  'dimLabels': [[], [], [], []],
-  'dimLabelsSize': array([0, 0, 0, 0]),
-  'formula': 'PolarRadiusFunction(radiusQ1,1,-40) * cos(PolarAngleFunction(angleQ1,2,2,2))\x00',
-  'formulaSize': 78,
-  'note': '',
-  'noteSize': 0,
-  'optionsSize1': 0,
-  'optionsSize2': 0,
-  'sIndicesSize': 0,
-  'version': 5,
-  'wfmSize': 576},
- {'aModified': 0,
-  'bname': array(['W', '_', 'p', 'l', 'r', 'X', '6', '', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dFolder': 7848580,
-  'dLock': 0,
-  'dataEUnits': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 30,
-  'dimEUnits': array([0, 0, 0, 0]),
-  'dimLabels': array([0, 0, 0, 0]),
-  'dimUnits': array([['', '', '', ''],
+          'wave_header': {'aModified': 0,
+                          'bname': 'W_plrX6',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dFolder': 7848580,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 30,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
-  'fileName': 0,
-  'formula': 8052116,
-  'fsValid': 0,
-  'kindBits': '\x00',
-  'modDate': 2985072242,
-  'nDim': array([64,  0,  0,  0]),
-  'next': 8324392,
-  'npnts': 64,
-  'sIndices': 0,
-  'sfA': array([ 1.,  1.,  1.,  1.]),
-  'sfB': array([ 0.,  0.,  0.,  0.]),
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': 30.580589294433594,
-  'wModified': 0,
-  'waveNoteH': 0,
-  'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
-  'whVersion': 1,
-  'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
-  'whpad2': 0,
-  'whpad3': 0,
-  'whpad4': 0})
+                          'fileName': 0,
+                          'formula': 8052116,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 2985072242,
+                          'nDim': array([64,  0,  0,  0]),
+                          'next': 8324392,
+                          'npnts': 64,
+                          'sIndices': 0,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'waveNoteH': 0,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 record 39:
-(array([  8.19404411,   8.88563347,   9.70543861,  10.17177773,
+{'version': 5,
+ 'wave': {'bin_header': {'checksum': -16604,
+                         'dataEUnitsSize': 0,
+                         'dimEUnitsSize': array([0, 0, 0, 0]),
+                         'dimLabelsSize': array([0, 0, 0, 0]),
+                         'formulaSize': 78,
+                         'noteSize': 78,
+                         'optionsSize1': 0,
+                         'optionsSize2': 0,
+                         'sIndicesSize': 0,
+                         'wfmSize': 576},
+          'data_units': '',
+          'dimension_units': '',
+          'formula': ' PolarRadiusFunction(radiusQ1,1,-40) * sin(PolarAngleFunction(angleQ1,2,2,2))',
+          'labels': [[], [], [], []],
+          'note': 'shadowX=W_plrX6,appendRadius=radiusQ1,appendAngleData=angleQ1,angleDataUnits=2',
+          'sIndices': array([], dtype=float64),
+          'wData': array([  8.19404411,   8.88563347,   9.70543861,  10.17177773,
         10.11173058,   9.73756695,   9.25513077,   8.8788929 ,
          9.16085339,  10.56489944,  12.75579453,  14.90572262,
         16.46352959,  17.33401871,  17.68511391,  17.74635315,
@@ -1176,121 +1183,302 @@ record 39:
         33.4611969 ,  33.23248672,  32.3250885 ,  30.64473915,
         28.72983551,  28.05199242,  29.29024887,  31.3501091 ,
         32.7331543 ,  32.87995529,  32.28799438,  31.99738503], dtype=float32),
- {'checksum': -16604,
-  'dataEUnits': '',
-  'dataEUnitsSize': 0,
-  'dimEUnits': ['', '', '', ''],
-  'dimEUnitsSize': array([0, 0, 0, 0]),
-  'dimLabels': [[], [], [], []],
-  'dimLabelsSize': array([0, 0, 0, 0]),
-  'formula': 'PolarRadiusFunction(radiusQ1,1,-40) * sin(PolarAngleFunction(angleQ1,2,2,2))\x00',
-  'formulaSize': 78,
-  'note': 'shadowX=W_plrX6,appendRadius=radiusQ1,appendAngleData=angleQ1,angleDataUnits=2',
-  'noteSize': 78,
-  'optionsSize1': 0,
-  'optionsSize2': 0,
-  'sIndicesSize': 0,
-  'version': 5,
-  'wfmSize': 576},
- {'aModified': 0,
-  'bname': array(['W', '_', 'p', 'l', 'r', 'Y', '6', '', '', '', '', '', '', '', '',
-       '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', ''],
-      dtype='|S1'),
-  'botFullScale': 0.0,
-  'creationDate': 0,
-  'dFolder': 7848580,
-  'dLock': 0,
-  'dataEUnits': 0,
-  'dataUnits': array(['', '', '', ''],
-      dtype='|S1'),
-  'depID': 32,
-  'dimEUnits': array([0, 0, 0, 0]),
-  'dimLabels': array([0, 0, 0, 0]),
-  'dimUnits': array([['', '', '', ''],
+          'wave_header': {'aModified': 0,
+                          'bname': 'W_plrY6',
+                          'botFullScale': 0.0,
+                          'creationDate': 0,
+                          'dFolder': 7848580,
+                          'dLock': 0,
+                          'dataEUnits': 0,
+                          'dataUnits': array(['', '', '', ''],
+      dtype='|S1'),
+                          'depID': 32,
+                          'dimEUnits': array([0, 0, 0, 0]),
+                          'dimLabels': array([0, 0, 0, 0]),
+                          'dimUnits': array([['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', ''],
        ['', '', '', '']],
       dtype='|S1'),
-  'fileName': 0,
-  'formula': 7995612,
-  'fsValid': 0,
-  'kindBits': '\x00',
-  'modDate': 2985072242,
-  'nDim': array([64,  0,  0,  0]),
-  'next': 0,
-  'npnts': 64,
-  'sIndices': 0,
-  'sfA': array([ 1.,  1.,  1.,  1.]),
-  'sfB': array([ 0.,  0.,  0.,  0.]),
-  'srcFldr': 0,
-  'swModified': 0,
-  'topFullScale': 0.0,
-  'type': 2,
-  'useBits': '\x00',
-  'wData': 8.19404411315918,
-  'wModified': 0,
-  'waveNoteH': 7998208,
-  'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
-  'whVersion': 1,
-  'whpad1': array(['', '', '', '', '', ''],
-      dtype='|S1'),
-  'whpad2': 0,
-  'whpad3': 0,
-  'whpad4': 0})
+                          'fileName': 0,
+                          'formula': 7995612,
+                          'fsValid': 0,
+                          'kindBits': '\x00',
+                          'modDate': 2985072242,
+                          'nDim': array([64,  0,  0,  0]),
+                          'next': 0,
+                          'npnts': 64,
+                          'sIndices': 0,
+                          'sfA': array([ 1.,  1.,  1.,  1.]),
+                          'sfB': array([ 0.,  0.,  0.,  0.]),
+                          'srcFldr': 0,
+                          'swModified': 0,
+                          'topFullScale': 0.0,
+                          'type': 2,
+                          'useBits': '\x00',
+                          'wModified': 0,
+                          'waveNoteH': 7998208,
+                          'whUnused': array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]),
+                          'whVersion': 1,
+                          'whpad1': array(['', '', '', '', '', ''],
+      dtype='|S1'),
+                          'whpad2': 0,
+                          'whpad3': 0,
+                          'whpad4': 0}}}
 record 40:
-<FolderStartRecord ...>
+'Packages'
 record 41:
-<FolderStartRecord ...>
+'WMDataBase'
 record 42:
-<VariablesRecord ...>
+{'variables': {'sysVars': {'K0': 0.0,
+                           'K1': 0.0,
+                           'K10': 0.0,
+                           'K11': 0.0,
+                           'K12': 0.0,
+                           'K13': 0.0,
+                           'K14': 0.0,
+                           'K15': 0.0,
+                           'K16': 0.0,
+                           'K17': 0.0,
+                           'K18': 0.0,
+                           'K19': 0.0,
+                           'K2': 0.0,
+                           'K20': 128.0,
+                           'K3': 0.0,
+                           'K4': 0.0,
+                           'K5': 0.0,
+                           'K6': 0.0,
+                           'K7': 0.0,
+                           'K8': 0.0,
+                           'K9': 0.0},
+               'userStrs': {'u_dataBase': ';PolarGraph0:,...,useCircles=2,maxArcLine=6;',
+                            'u_dbBadStringChars': ',;=:',
+                            'u_dbCurrBag': 'PolarGraph1',
+                            'u_dbCurrContents': ',appendRadius=radiusQ1,...,useCircles=2,maxArcLine=6;',
+                            'u_dbReplaceBadChars': '\xa9\xae\x99\x9f',
+                            'u_str': '2'},
+               'userVars': {},
+               'var_header': {'numSysVars': 21,
+                              'numUserStrs': 6,
+                              'numUserVars': 0}},
+ 'version': 1}
 record 43:
-<FolderEndRecord ...>
+''
 record 44:
-<FolderStartRecord ...>
+'PolarGraphs'
 record 45:
-<VariablesRecord ...>
+{'variables': {'sysVars': {'K0': 0.0,
+                           'K1': 0.0,
+                           'K10': 0.0,
+                           'K11': 0.0,
+                           'K12': 0.0,
+                           'K13': 0.0,
+                           'K14': 0.0,
+                           'K15': 0.0,
+                           'K16': 0.0,
+                           'K17': 0.0,
+                           'K18': 0.0,
+                           'K19': 0.0,
+                           'K2': 0.0,
+                           'K20': 128.0,
+                           'K3': 0.0,
+                           'K4': 0.0,
+                           'K5': 0.0,
+                           'K6': 0.0,
+                           'K7': 0.0,
+                           'K8': 0.0,
+                           'K9': 0.0},
+               'userStrs': {'u_colorList': 'black;blue;green;cyan;red;magenta;yellow;white;special',
+                            'u_debugStr': 'Turn Debugging On',
+                            'u_polAngleAxesWherePop': 'Off;Radius Start;Radius End;Radius Start and End;All Major Radii;At Listed Radii',
+                            'u_polAngleUnitsPop': 'deg;rad',
+                            '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;',
+                            'u_polOffOn': 'Off;On',
+                            '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',
+                            'u_polRotPop': ' -90;  0; +90; +180',
+                            'u_popup': '',
+                            'u_prompt': ''},
+               'userVars': {'V_bottom': 232.0,
+                            'V_left': 1.0,
+                            'V_max': 2.4158518093414401,
+                            'V_min': -2.1848498883412,
+                            'V_right': 232.0,
+                            'V_top': 1.0,
+                            'u_UniqWaveNdx': 8.0,
+                            'u_UniqWinNdx': 3.0,
+                            'u_angle0': 0.0,
+                            'u_angleRange': 6.2831853071795862,
+                            'u_debug': 0.0,
+                            'u_majorDelta': 0.0,
+                            'u_numPlaces': 0.0,
+                            'u_polAngle0': 0.26179938779914941,
+                            'u_polAngleRange': 1.0471975511965976,
+                            'u_polInnerRadius': -20.0,
+                            'u_polMajorAngleInc': 0.26179938779914941,
+                            'u_polMajorRadiusInc': 10.0,
+                            'u_polMinorAngleTicks': 3.0,
+                            'u_polMinorRadiusTicks': 1.0,
+                            'u_polOuterRadius': 0.0,
+                            'u_segsPerMinorArc': 3.0,
+                            'u_tickDelta': 0.0,
+                            'u_var': 0.0,
+                            'u_x1': 11.450159535018935,
+                            'u_x2': 12.079591517721363,
+                            'u_y1': 42.732577139459856,
+                            'u_y2': 45.081649278814126},
+               'var_header': {'numSysVars': 21,
+                              'numUserStrs': 10,
+                              'numUserVars': 28}},
+ 'version': 1}
 record 46:
-<FolderEndRecord ...>
+''
 record 47:
-<FolderEndRecord ...>
+''
 record 48:
-<RecreationRecord ...>
+'| Platform=Windows95, IGORVersion=3.130\n\n\n\nMoveWindow/P 5.25,40.25,504.75,335\n...hook=PolarWindowHook\nEndMacro\n'
 record 49:
-<GetHistoryRecord ...>
+''
 record 50:
-<ProcedureRecord ...>
+'#include <Polar Graphs> version >= 3.0\n'
+<BLANKLINE>
+filesystem:
+{'root': {'K0': 0.0,
+          'K1': 0.0,
+          'K10': 0.0,
+          'K11': 0.0,
+          'K12': 0.0,
+          'K13': 0.0,
+          'K14': 0.0,
+          'K15': 0.0,
+          'K16': 0.0,
+          'K17': 0.0,
+          'K18': 0.0,
+          'K19': 0.0,
+          'K2': 0.0,
+          'K20': 128.0,
+          'K3': 0.0,
+          'K4': 0.0,
+          'K5': 0.0,
+          'K6': 0.0,
+          'K7': 0.0,
+          'K8': 0.0,
+          'K9': 0.0,
+          'Packages': {'PolarGraphs': {'V_bottom': 232.0,
+                                       'V_left': 1.0,
+                                       'V_max': 2.4158518093414401,
+                                       'V_min': -2.1848498883412,
+                                       'V_right': 232.0,
+                                       'V_top': 1.0,
+                                       'u_UniqWaveNdx': 8.0,
+                                       'u_UniqWinNdx': 3.0,
+                                       'u_angle0': 0.0,
+                                       'u_angleRange': 6.2831853071795862,
+                                       'u_colorList': 'black;blue;green;cyan;red;magenta;yellow;white;special',
+                                       'u_debug': 0.0,
+                                       'u_debugStr': 'Turn Debugging On',
+                                       'u_majorDelta': 0.0,
+                                       'u_numPlaces': 0.0,
+                                       'u_polAngle0': 0.26179938779914941,
+                                       'u_polAngleAxesWherePop': 'Off;Radius Start;Radius End;Radius Start and End;All Major Radii;At Listed Radii',
+                                       'u_polAngleRange': 1.0471975511965976,
+                                       'u_polAngleUnitsPop': 'deg;rad',
+                                       'u_polInnerRadius': -20.0,
+                                       '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;',
+                                       'u_polMajorAngleInc': 0.26179938779914941,
+                                       'u_polMajorRadiusInc': 10.0,
+                                       'u_polMinorAngleTicks': 3.0,
+                                       'u_polMinorRadiusTicks': 1.0,
+                                       'u_polOffOn': 'Off;On',
+                                       'u_polOuterRadius': 0.0,
+                                       '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',
+                                       'u_polRotPop': ' -90;  0; +90; +180',
+                                       'u_popup': '',
+                                       'u_prompt': '',
+                                       'u_segsPerMinorArc': 3.0,
+                                       'u_tickDelta': 0.0,
+                                       'u_var': 0.0,
+                                       'u_x1': 11.450159535018935,
+                                       'u_x2': 12.079591517721363,
+                                       'u_y1': 42.732577139459856,
+                                       'u_y2': 45.081649278814126},
+                       'WMDataBase': {'u_dataBase': ';PolarGraph0:,appendRadius=radiusData,...,useCircles=2,maxArcLine=6;',
+                                      'u_dbBadStringChars': ',;=:',
+                                      'u_dbCurrBag': 'PolarGraph1',
+                                      'u_dbCurrContents': ',appendRadius=radiusQ1,...,useCircles=2,maxArcLine=6;',
+                                      'u_dbReplaceBadChars': '\xa9\xae\x99\x9f',
+                                      'u_str': '2'}},
+          'W_plrX5': <WaveRecord ...>,
+          'W_plrX6': <WaveRecord ...>,
+          'W_plrY5': <WaveRecord ...>,
+          'W_plrY6': <WaveRecord ...>,
+          'angleData': <WaveRecord ...>,
+          'angleQ1': <WaveRecord ...>,
+          'radiusData': <WaveRecord ...>,
+          'radiusQ1': <WaveRecord ...>}}
+<BLANKLINE>
+walking filesystem:
+walk callback on ([], root, {'K0': 0.0,...})
+walk callback on (['root'], K0, 0.0)
+walk callback on (['root'], K1, 0.0)
+walk callback on (['root'], K10, 0.0)
+...
+walk callback on (['root'], K9, 0.0)
+walk callback on (['root'], Packages, {'PolarGraphs': ...})
+walk callback on (['root', 'Packages'], PolarGraphs, {...})
+walk callback on (['root', 'Packages', 'PolarGraphs'], V_bottom, 232.0)
+...
+walk callback on (['root', 'Packages'], WMDataBase, {...})
+...
+walk callback on (['root'], radiusQ1, <WaveRecord ...>)
 """
 
 import os.path
 from pprint import pformat
-import sys
 
+from igor import LOG
 from igor.binarywave import load as loadibw
 from igor.packed import load as loadpxp
-from igor.packed import WaveRecord
+from igor.packed import walk as _walk
+from igor.record.base import TextRecord
+from igor.record.folder import FolderStartRecord, FolderEndRecord
+from igor.record.variables import VariablesRecord
+from igor.record.wave import WaveRecord
 
 
 _this_dir = os.path.dirname(__file__)
 _data_dir = os.path.join(_this_dir, 'data')
 
-def dumpibw(filename, strict=True):
-    sys.stderr.write('Testing {}\n'.format(filename))
+def dumpibw(filename):
+    LOG.info('Testing {}\n'.format(filename))
     path = os.path.join(_data_dir, filename)
-    data,bin_info,wave_info = loadibw(path, strict=strict)
+    data = loadibw(path)
     pprint(data)
-    pprint(bin_info)
-    pprint(wave_info)
 
-def dumppxp(filename, strict=True):
-    sys.stderr.write('Testing {}\n'.format(filename))
+def walk_callback(dirpath, key, value):
+    print('walk callback on ({}, {}, {})'.format(
+            dirpath, key, pformat(value)))
+
+def dumppxp(filename, walk=True):
+    LOG.info('Testing {}\n'.format(filename))
     path = os.path.join(_data_dir, filename)
-    records = loadpxp(path, strict=strict)
+    records,filesystem = loadpxp(path)
     for i,record in enumerate(records):
         print('record {}:'.format(i))
-        if isinstance(record, WaveRecord):
+        if isinstance(record, (FolderStartRecord, FolderEndRecord)):
+            pprint(record.null_terminated_text)
+        elif isinstance(record, TextRecord):
+            pprint(record.text)
+        elif isinstance(record, VariablesRecord):
+            pprint(record.variables)
+        elif isinstance(record, WaveRecord):
             pprint(record.wave)
         else:
             pprint(record)
+    print('\nfilesystem:')
+    pprint(filesystem)
+    if walk:
+        print('\nwalking filesystem:')
+        _walk(filesystem, walk_callback)
 
 def pprint(data):
     lines = pformat(data).splitlines()