def observable(self, obs_name, shape=None, dtype=None, data=None, time=True, unit=None, time_unit=None, **kwargs): """Returns observable data as a TimeData object.""" if "observables" in self.f.keys(): group = self.f["observables"] else: group = self.f.create_group("observables") if obs_name in self.f["observables"].keys(): item = group[obs_name] if type(item) == h5py.Group: assert is_h5md(item) return TimeData(group, obs_name) elif type(item) == h5py.Dataset: assert shape == dtype == data == None return FixedData(group, obs_name) else: raise Exception("obs_name does not provide H5MD data") else: if time: return TimeData( self.f["observables"], obs_name, shape=shape, dtype=dtype, data=data, unit=unit, time_unit=time_unit, **kwargs ) else: return FixedData( self.f["observables"], obs_name, shape=shape, dtype=dtype, data=data, unit=unit, **kwargs )
def walk(self, g=None): if g == None: g = self.f['/'] if type(g) == h5py.Group: if is_h5md(g): self.walk_list.append(g) for k in g.keys(): self.walk(g[k])
def walk(self, g=None): if g == None: g = self.f["/"] if type(g) == h5py.Group: if is_h5md(g): self.walk_list.append(g) for k in g.keys(): self.walk(g[k])
def box(self, dimension=None, boundary=None, edges=None, time=False, unit=None, time_unit=None): """Creates a box in the particles group. Returns the box group.""" if dimension is None or boundary is None: item = self["box/edges"] if type(item) == h5py.Group: assert is_h5md(item) return TimeData(self["box"], "edges") elif type(item) == h5py.Dataset: return FixedData(self["box"], "edges") return Box(self, dimension, boundary, edges, time, unit, time_unit)
def box(self, dimension=None, boundary=None, edges=None, time=False, unit=None, time_unit=None): """Creates a box in the particles group. Returns the box group.""" if dimension is None or boundary is None: item = self['box/edges'] if type(item) == h5py.Group: assert is_h5md(item) return TimeData(self['box'], 'edges') elif type(item) == h5py.Dataset: return FixedData(self['box'], 'edges') return Box(self, dimension, boundary, edges, time, unit, time_unit)
def particle_data(group, name=None, shape=None, dtype=None, data=None, time=True, unit=None, time_unit=None, **kwargs): """Returns particles data as a FixedData or TimeData.""" if name is None: raise Exception("No name provided") if name in group.keys(): item = group[name] if type(item) == h5py.Group: assert is_h5md(item) return TimeData(group, name) elif type(item) == h5py.Dataset: assert shape == dtype == data == None return FixedData(group, name) else: raise Exception("name does not provide H5MD data") else: if time: return TimeData(group, name, shape, dtype, data, unit=unit, time_unit=time_unit, **kwargs) else: return FixedData(group, name, shape, dtype, data, unit=unit, **kwargs)
def observable(self, obs_name, shape=None, dtype=None, data=None, time=True, unit=None, time_unit=None, **kwargs): """Returns observable data as a TimeData object.""" if 'observables' in self.f.keys(): group = self.f['observables'] else: group = self.f.create_group('observables') if obs_name in self.f['observables'].keys(): item = group[obs_name] if type(item) == h5py.Group: assert is_h5md(item) return TimeData(group, obs_name) elif type(item) == h5py.Dataset: assert shape == dtype == data == None return FixedData(group, obs_name) else: raise Exception('obs_name does not provide H5MD data') else: if time: return TimeData(self.f['observables'], obs_name, shape=shape, dtype=dtype, data=data, unit=unit, time_unit=time_unit, **kwargs) else: return FixedData(self.f['observables'], obs_name, shape=shape, dtype=dtype, data=data, unit=unit, **kwargs)
def particle_data(group, name=None, shape=None, dtype=None, data=None, time=True, unit=None, time_unit=None, **kwargs): """Returns particles data as a FixedData or TimeData.""" if name is None: raise Exception('No name provided') if name in group.keys(): item = group[name] if type(item) == h5py.Group: assert is_h5md(item) return TimeData(group, name) elif type(item) == h5py.Dataset: assert shape == dtype == data == None return FixedData(group, name) else: raise Exception('name does not provide H5MD data') else: if time: return TimeData(group, name, shape, dtype, data, unit=unit, time_unit=time_unit, **kwargs) else: return FixedData(group, name, shape, dtype, data, unit=unit, **kwargs)
def check(self): if len(self.walk_list) == 0: raise Exception("Nothing to check") for g in self.walk_list: assert is_h5md(g)
def check(self): if len(self.walk_list) == 0: raise Exception('Nothing to check') for g in self.walk_list: assert (is_h5md(g))