def write_pov(filename, atoms, run_povray=False, **parameters): p = {} for key in ['rotation', 'show_unit_cell', 'radii', 'bbox', 'colors', 'scale']: if key in parameters: p[key] = parameters[key] write_png(filename[:-3] + 'png', atoms, **p)
def atoms2png(atoms, filename): if atoms: size = atoms.positions.ptp(0) i = size.argmin() rotation = ['-90y', '90x', ''][i] size[i] = 0.0 scale = min(50, 200 / max(1, size.max())) else: scale = 20 rotation = '' write_png(filename, atoms, rotation=rotation, scale=scale)
def atoms2png(atoms, filename): if atoms: size = atoms.positions.ptp(0) i = size.argmin() rotation = ['-90y', '90x', ''][i] size[i] = 0.0 scale = min(50, 200 / max(1, size.max())) else: scale = 20 rotation = '' write_png(filename, atoms, show_unit_cell=1, rotation=rotation, scale=scale)
def atoms2png(atoms, filename): if atoms: size = atoms.positions.ptp(0) i = size.argmin() rotation = ['-90y', '90x', ''][i] size[i] = 0.0 scale = min(20, 20 / size.max() * 10.0) else: scale = 20 rotation = '' write_png(filename, atoms, show_unit_cell=1, rotation=rotation, scale=scale)
def write_pov(filename, atoms, povray_settings={}, isosurface_data=None, **generic_projection_settings): write_png( Path(filename).with_suffix('.png'), atoms, **generic_projection_settings) class DummyRenderer: def render(self): pass return DummyRenderer()
def image(name): path = os.path.join(tmpdir, name).encode() if not os.path.isfile(path): id = int(name[:-4]) atoms = db.get_atoms(id) if atoms: size = atoms.positions.ptp(0) i = size.argmin() rotation = ["-90y", "90x", ""][i] size[i] = 0.0 scale = min(20, 20 / size.max() * 10.0) else: scale = 20 rotation = "" write_png(path, atoms, show_unit_cell=1, rotation=rotation, scale=scale) return send_from_directory(tmpdir, name)
def image(name): path = os.path.join(tmpdir, name).encode() if not os.path.isfile(path): id = int(name[:-4]) atoms = connection.get_atoms(id) if atoms: size = atoms.positions.ptp(0) i = size.argmin() rotation = ['-90y', '90x', ''][i] size[i] = 0.0 scale = min(20, 20 / size.max() * 10.0) else: scale = 20 rotation = '' write_png(path, atoms, show_unit_cell=1, rotation=rotation, scale=scale) return send_from_directory(tmpdir, name)
def png(self, name): if not os.path.isfile(name): id = int(name[:-4]) a = self.table.connection.get_atoms(id) write_png(name, a, show_unit_cell=1) return [open(name, 'rb').read()]