def map(self, function, new_dset, new_attrs): """Transforms data using function, and puts the result in new_dset, and attachs the attributes new_attrs.""" for group in self.groups: # Make sure the new dataset doesn't exist, so we can define it silent_del(group, new_dset) group[new_dset] = function(group) update_attrs(group[new_dset].attrs, new_attrs)
def create_sample_h5_file(filename): f = h5py.File(filename) f['x'] = np.arange(0, 10, 0.1, dtype=np.float64) f['y'] = 100 * np.sin(f['x'][:]) x_attrs = OrderedDict( ((u'name', "Time"), (u'unit', u'ms'), (u'label', u"Time [ms]"), (u'label_latex', u'Time $t \\: [\\mathrm{ms}]$'), (u'help', u'Time example'))) update_attrs(f['x'].attrs, x_attrs) y_attrs = OrderedDict( ((u'name', "Displacement Squared"), (u'unit', u'nm^2'), (u'label', u"z [nm\xb2]"), (u'label_latex', u'$z \\: [\\mathrm{nm}^2]$'), (u'help', u'Displacement example'), (u'n_avg', 1.0))) update_attrs(f['y'].attrs, y_attrs) f.close()
def setUp(self): silentremove(self.filename) self.f = h5py.File(self.filename) self.f['x'] = np.arange(0, 10, 0.1, dtype=np.float64) self.f['y'] = 100 * np.sin(self.f['x'][:]) x_attrs = OrderedDict( ((u'name', "Time"), (u'unit', u'ms'), (u'label', u"Time [ms]"), (u'label_latex', u'Time $t \\: [\\mathrm{ms}]$'), (u'help', u'Time example'))) update_attrs(self.f['x'].attrs, x_attrs) y_attrs = OrderedDict( ((u'name', "Displacement"), (u'unit', u'nm'), (u'label', u"z [nm]"), (u'label_latex', u'$z \\: [\\mathrm{nm}]$'), (u'help', u'Displacement example'), (u'n_avg', 1.0))) update_attrs(self.f['y'].attrs, y_attrs) self.f.close() del self.f
def setUp(self): silentremove(self.filename) self.f = h5py.File(self.filename) self.f['x'] = np.arange(0, 10, 0.1, dtype=np.float64) self.f['y'] = 100 * np.sin(self.f['x'][:]) x_attrs = OrderedDict( ((u'name', "Time"), (u'unit', u'ms'), (u'label', u"Time [ms]"), (u'label_latex', u'Time $t \\: [\\mathrm{ms}]$'), (u'help', u'Time example'))) update_attrs(self.f['x'].attrs, x_attrs) y_attrs = OrderedDict( ((u'name', "Displacement Squared"), (u'unit', u'nm^2'), (u'label', u"z [nm\xb2]"), (u'label_latex', u'$z \\: [\\mathrm{nm}^2]$'), (u'help', u'Displacement example'), (u'n_avg', 1.0))) update_attrs(self.f['y'].attrs, y_attrs) self.plotter = PlotFromManyFiles() self.plotter.add(self.filename)