znvis

A visualisation engine for particle simulations

https://github.com/zincware/znvis

Science Score: 54.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    1 of 4 committers (25.0%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (12.9%) to scientific vocabulary

Keywords

3d open3d particles visualization
Last synced: 4 months ago · JSON representation ·

Repository

A visualisation engine for particle simulations

Basic Info
Statistics
  • Stars: 10
  • Watchers: 0
  • Forks: 3
  • Open Issues: 11
  • Releases: 4
Topics
3d open3d particles visualization
Created about 4 years ago · Last pushed over 1 year ago
Metadata Files
Readme License Citation

README.md

PyTest code-style zincware

ZnVis

ZnVis is a visualisation engine for particle simulation data. Simply define the particles in the simulation with details including their positions, colour, direction, and shape, and the visualization engine will display the system using the Open3D engine. ZnVis works both from a Python script and in Jupyter!

ZnVis can currently perform the following tasks:

  • Visualize simulations and trajectories
  • Create spherical and cylindrical mesh's for visualization
  • Handle custom mesh objects
  • Export png stills from the visualizer
  • Export scences as .obj files.

Installation

ZnVis is a purely Python package hosted on PyPi. It can therefore be installed using pip with:

sh pip install znvis

If you prefer to access the source code, run the following from a terminal:

sh git clone https://github.com/zincware/ZnVis.git cd ZnVis pip install .

Once complete, you will be able to start using the visualizer by importing it as:

python import znvis

How does it work?

ZnVis is essentially a convenience wrapper of the Open3D project with a focus on mesh visualization. The idea came out of wanting a simple way of visualizing particle trajectories from numpy arrays directly from a simulation script.

Below we show an example script from a reinforcement learning experiment built using Shameless plug alert SwarmRL

```python import numpy as np import h5py as hf

import znvis as vis

Load data from the database

with hf.File("training/trajectory.hdf5", 'r') as db: positions = db["colloids"]["Unwrapped_Positions"][:]

Split data for convenience

colloidpositions = positions[:, 0:10, :] rodpositions = positions[:, 10:, :]

Create free colloid mesh

colloidmesh = vis.Sphere(radius=2.14, colour=np.array([30, 144, 255]) / 255, resolution=10) colloidparticle = vis.Particle(name="Colloid", mesh=mesh, position=colloid_positions)

Create rod colloid mesh

rodmesh = vis.Sphere(radius=2.14, colour=np.array([255, 140, 0]) / 255, resolution=10) rodparticle = vis.Particle(name="Rod", mesh=mesh, position=rod_positions)

Run the visualizer

visualizer = vis.Visualizer(particles=[colloidparticle, rodparticle], framerate=80) visualizer.runvisualization() ```

Just like that, a visualization window (shown below) will pop up from which you can play the trajectory and watch your RL agents rotate a rod.

Visualizer Example

Owner

  • Name: Zincware
  • Login: zincware
  • Kind: organization
  • Email: zincwarecode@gmail.com
  • Location: Germany

Open source software organisation hosting software built for computational physics and chemistry.

Citation (CITATION.cff)

cff-version: 1.2.0
title: >-
  ZnVis: A Visualisation Package for Particle
  Simulations
message: >-
  If you use this package, please include the
  following citation:
type: software
authors:
  - given-names: Samuel
    family-names: Tovey
    email: tovey.samuel@gmail.com
    affiliation: University of Stuttgart
    orcid: 'https://orcid.org/0000-0001-9537-8361'
version: 2.0.4

GitHub Events

Total
  • Issues event: 2
  • Watch event: 1
  • Issue comment event: 3
  • Pull request review event: 12
  • Pull request review comment event: 13
Last Year
  • Issues event: 2
  • Watch event: 1
  • Issue comment event: 3
  • Pull request review event: 12
  • Pull request review comment event: 13

Committers

Last synced: 5 months ago

All Time
  • Total Commits: 150
  • Total Committers: 4
  • Avg Commits per committer: 37.5
  • Development Distribution Score (DDS): 0.26
Past Year
  • Commits: 8
  • Committers: 1
  • Avg Commits per committer: 8.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
SamTov t****l@g****m 111
Paul Hohenberger 4****r 31
jdrotleff 1****e 7
Christoph Lohrmann c****n@i****e 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 5 months ago

All Time
  • Total issues: 16
  • Total pull requests: 33
  • Average time to close issues: 11 months
  • Average time to close pull requests: 28 days
  • Total issue authors: 2
  • Total pull request authors: 4
  • Average comments per issue: 0.13
  • Average comments per pull request: 0.21
  • Merged pull requests: 30
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 3
  • Pull requests: 12
  • Average time to close issues: 5 days
  • Average time to close pull requests: about 1 month
  • Issue authors: 1
  • Pull request authors: 3
  • Average comments per issue: 0.0
  • Average comments per pull request: 0.58
  • Merged pull requests: 10
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • SamTov (15)
  • PythonFZ (1)
  • jpd-de (1)
Pull Request Authors
  • SamTov (35)
  • phohenberger (4)
  • jpd-de (3)
  • christophlohrmann (1)
Top Labels
Issue Labels
Pull Request Labels

Packages

  • Total packages: 1
  • Total downloads:
    • pypi 154 last-month
  • Total dependent packages: 0
  • Total dependent repositories: 1
  • Total versions: 2
  • Total maintainers: 1
pypi.org: znvis

Visualization of particle trajectories.

  • Versions: 2
  • Dependent Packages: 0
  • Dependent Repositories: 1
  • Downloads: 154 Last month
Rankings
Dependent packages count: 10.1%
Downloads: 14.7%
Average: 17.5%
Stargazers count: 18.5%
Dependent repos count: 21.6%
Forks count: 22.6%
Maintainers (1)
Last synced: 5 months ago

Dependencies

dev-requirements.txt pypi
  • IPython * development
  • Sphinx ==4.3.0 development
  • black * development
  • coverage * development
  • coveralls * development
  • isort * development
  • mdanalysis * development
  • nbsphinx * development
  • nbsphinx-link * development
  • numpydoc * development
  • pandoc * development
  • pybtex * development
  • pytest * development
  • sphinx-copybutton * development
  • sphinx_rtd_theme * development
  • sphinxcontrib.bibtex * development
requirements.txt pypi
  • numpy *
  • open3d *
  • pytest *
.github/workflows/lint.yaml actions
  • actions/checkout v3 composite
  • actions/setup-python v3 composite
  • psf/black stable composite
.github/workflows/publish-to-pypi.yaml actions
  • actions/checkout master composite
  • actions/setup-python v1 composite
  • pypa/gh-action-pypi-publish master composite
.github/workflows/pytest.yaml actions
  • actions/checkout v4 composite
  • actions/setup-python v4 composite
setup.py pypi