+yaml.add_representer(numpy.ndarray, none_representer)
+yaml.add_representer(numpy.dtype, none_representer)
+
+def bool_representer(dumper, data):
+ return dumper.represent_bool(data)
+yaml.add_representer(numpy.bool_, bool_representer)
+
+def int_representer(dumper, data):
+ return dumper.represent_int(data)
+yaml.add_representer(numpy.int32, int_representer)
+yaml.add_representer(numpy.dtype(numpy.int32), int_representer)
+
+def long_representer(dumper, data):
+ return dumper.represent_long(data)
+yaml.add_representer(numpy.int64, int_representer)
+
+def float_representer(dumper, data):
+ return dumper.represent_float(data)
+yaml.add_representer(numpy.float32, float_representer)
+yaml.add_representer(numpy.float64, float_representer)
+
+def data_representer(dumper, data):
+ info = dict(data.info)
+ print 'KEYS', info.keys()
+ for key in info.keys():
+ if key.startswith('raw '):# or 'peak' in key: #or key not in ['surface deflection offset (m)', 'z piezo sensitivity (m/V)', 'z piezo scan (V/bit)', 'z piezo gain', 'deflection range (V)', 'z piezo range (V)', 'spring constant (N/m)', 'z piezo scan size (V)', 'deflection sensitivity (V/bit)', 'z piezo ramp size (V/bit)', 'surface deflection offset', 'z piezo offset (V)', 'name']:
+ del(info[key])
+ print 'AAAS', info.keys()
+ return dumper.represent_mapping(u'!hooke.curve.DataInfo', info)
+yaml.add_representer(Data, data_representer)