ParticleTracking

ParticleTracking: A GUI and library for particle tracking on stereo camera images - Published in JOSS (2025)

https://github.com/anp-granular/particletracking

Science Score: 98.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
    Found 1 DOI reference(s) in JOSS metadata
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
    Published in Journal of Open Source Software

Keywords

3d-reconstruction microgravity object-detection physics

Scientific Fields

Sociology Social Sciences - 87% confidence
Mathematics Computer Science - 84% confidence
Artificial Intelligence and Machine Learning Computer Science - 62% confidence
Last synced: 4 months ago · JSON representation ·

Repository

Library and GUI for tracking (rod-like) particles on camera images in 2D and 3D

Basic Info
Statistics
  • Stars: 3
  • Watchers: 2
  • Forks: 2
  • Open Issues: 6
  • Releases: 17
Topics
3d-reconstruction microgravity object-detection physics
Created almost 5 years ago · Last pushed 8 months ago
Metadata Files
Readme Contributing License Citation

README.md

ParticleTracking

License: GPL v3 Documentation Status

ParticleTracking is a repository containing two Python packages for extracting 3D coordinate data from microgravity experiment image data. In these experiments a granular gas was observed with a stereo-camera system, specifically a granular gas of rod-like particles. The goal is to automatically extract the coordinate data and provide a Graphical User Interface (GUI) to correct mistakes manually in an efficient way.

The first part is the ParticleDetection package that enables: - the training of R-CNN models for detecting particles in stereo-camera images - the assignment of particle correspondences between both images of the stereo setup - the reconstruction of 3D coordinates for particles identified in both stereo images - the tracking of particles over the course of an experiment

The RodTracker package is a GUI encapsulating the most used functionality of the ParticleDetection package. It enables users to carry out the aforementioned tasks, except for training a model. Additionally, it provides the means to manually correct placement and assignment mistakes of the automated processes. RodTracker - GUI

Please refer to the documentation for more detailed information.

Owner

  • Name: ANP - Granular
  • Login: ANP-Granular
  • Kind: organization

JOSS Publication

ParticleTracking: A GUI and library for particle tracking on stereo camera images
Published
May 23, 2025
Volume 10, Issue 109, Page 5986
Authors
Adrian Niemann ORCID
Department of Nonlinear Phenomena, Institute of Physics, Otto von Guericke University Magdeburg, Germany
Dmitry Puzyrev ORCID
Department of Microgravity and Translational Regenerative Medicine, Medical Faculty, Otto von Guericke University Magdeburg, Germany, Research Group ‘Magdeburger Arbeitsgemeinschaft für Forschungunter Raumfahrt-und Schwerelosigkeitsbedingungen’ (MARS), Otto von Guericke University Magdeburg, Germany, Autonomous Multisensor Systems Group, Institute for Intelligent Cooperating Systems, Otto von Guericke University Magdeburg, Germany, Department of Nonlinear Phenomena, Institute of Physics, Otto von Guericke University Magdeburg, Germany
Ralf Stannarius ORCID
Department of Engineering, Brandenburg University of Applied Sciences, Germany, Department of Microgravity and Translational Regenerative Medicine, Medical Faculty, Otto von Guericke University Magdeburg, Germany, Research Group ‘Magdeburger Arbeitsgemeinschaft für Forschungunter Raumfahrt-und Schwerelosigkeitsbedingungen’ (MARS), Otto von Guericke University Magdeburg, Germany, Institute of Physics, Otto von Guericke University Magdeburg, Germany
Editor
Jeff Gostick ORCID
Tags
physics object detection microgravity

Citation (CITATION.cff)

cff-version: 1.2.0
title: ParticleTracking
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Adrian
    family-names: Niemann
    email: adrian.niemann@gmx.de
    orcid: 'https://orcid.org/0009-0008-2025-1946'
  - given-names: Dmitry
    family-names: Puzyrev
    orcid: 'https://orcid.org/0000-0002-9269-3224'
identifiers:
  - type: url
    value: 'https://github.com/ANP-Granular/ParticleTracking'
repository-code: 'https://github.com/ANP-Granular/ParticleTracking'
abstract: >-
  ParticleTracking is a repository containing two Python
  packages for extracting 3D particle coordinate data from
  the experimental video footage.

  In these experiments a granular gas (dilute ensemble of
  macroscopic particles) was observed with a 2-view stereo
  camera system.

  The current version of the program is used for experiments
  with rod-like particles. Each particle is parametrized by
  2 endpoint coordinates.

  ParticleTracking's goal is to automatically extract the
  coordinate data and provide a Graphical User Interface
  (GUI) to correct detection errors manually in an efficient
  way.

  Then, the corrected particle data can be tracked and
  ensemble statistics (average velocity/kinetic energy,
  local packing fractions, etc.) can be extracted.


  The first part is the ParticleDetection package that
  enables:

  - training of Mask-RCNN models for detecting particles in
  stereo-camera images

  - assignment of particle correspondences between both
  images of the stereo setup

  - reconstruction of 3D coordinates and orientations for
  particles identified in both stereo images

  - tracking of particles over the course of an experiment


  The RodTracker package is a GUI encapsulating the most
  used functionality of the ParticleDetection package. It
  enables users to carry out the aforementioned tasks,
  except for training a model. Additionally, it provides the
  means to manually correct object localization, 3D
  assignment and tracking errors in the automatic detection
  processes.
keywords:
  - physics
  - object-detection
  - 3D-reconstruction
  - microgravity
license: GPL-3.0
commit: 9e319201440b9c7fae455117b18023e7bf82beb7

GitHub Events

Total
  • Create event: 8
  • Release event: 5
  • Issues event: 20
  • Watch event: 1
  • Delete event: 6
  • Issue comment event: 40
  • Push event: 20
  • Pull request event: 6
Last Year
  • Create event: 8
  • Release event: 5
  • Issues event: 20
  • Watch event: 1
  • Delete event: 6
  • Issue comment event: 40
  • Push event: 20
  • Pull request event: 6

Issues and Pull Requests

Last synced: 4 months ago

All Time
  • Total issues: 13
  • Total pull requests: 4
  • Average time to close issues: 9 months
  • Average time to close pull requests: 1 minute
  • Total issue authors: 2
  • Total pull request authors: 1
  • Average comments per issue: 2.69
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 9
  • Pull requests: 4
  • Average time to close issues: 2 months
  • Average time to close pull requests: 1 minute
  • Issue authors: 1
  • Pull request authors: 1
  • Average comments per issue: 3.44
  • Average comments per pull request: 0.0
  • Merged pull requests: 3
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
  • mhubii (18)
  • merrygoat (9)
  • a-niem (7)
  • aquilesC (2)
  • saipreethamsata (1)
  • dmitrypuzyrev (1)
Pull Request Authors
  • dmitrypuzyrev (4)
Top Labels
Issue Labels
bug (24) enhancement (13)
Pull Request Labels

Packages

  • Total packages: 2
  • Total downloads:
    • pypi 107 last-month
  • Total dependent packages: 0
    (may contain duplicates)
  • Total dependent repositories: 0
    (may contain duplicates)
  • Total versions: 82
  • Total maintainers: 1
pypi.org: rodtracker

GUI to track rod-like particles on multiple cameras

  • Versions: 57
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 73 Last month
Rankings
Dependent packages count: 9.4%
Average: 35.8%
Dependent repos count: 62.2%
Maintainers (1)
Last synced: 4 months ago
pypi.org: particledetection

Tools to track particles with machine learning.

  • Versions: 25
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 34 Last month
Rankings
Dependent packages count: 9.4%
Average: 35.9%
Dependent repos count: 62.3%
Maintainers (1)
Last synced: 4 months ago

Dependencies

.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
ParticleDetection/pyproject.toml pypi
  • Pillow *
  • detectron2 --- - !ruby/hash:ActiveSupport::HashWithIndifferentAccess git: https://github.com/facebookresearch/detectron2.git optional: true markers: sys_platform == 'linux' and extra == 'detectron'
  • imgaug *
  • importlib-resources >=1.4
  • matplotlib ^3.6.1
  • networkx ^2.8.7
  • numpy ^1.23.4
  • opencv-python-headless ^4.6.0.66
  • pandas ^1.5.1
  • protobuf ==3.20.1
  • pulp ^2.6.0
  • pytest >=7.1.2
  • pytest-cov >=3.0.0
  • python ^3.8
  • scikit-image ^0.19.3
  • scikit-learn ^1.1.3
  • scipy ^1.9.3
  • tensorboard *
  • torch --- - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^1.13.0" markers: sys_platform == 'win32' and (extra != 'detectron' and extra != 'gpu') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" source: gpu-win markers: sys_platform == 'win32' and (extra == 'gpu' or extra == 'detectron') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^1.8" source: cpu-linux markers: sys_platform == 'linux' and (extra != 'detectron' and extra != 'gpu') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^1.8" markers: sys_platform == 'linux' and (extra == 'detectron' or extra == 'gpu')
  • torchaudio --- - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^0.13.0" markers: sys_platform == 'win32' and (extra != 'detectron' and extra != 'gpu') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" source: gpu-win markers: sys_platform == 'win32' and (extra == 'gpu' or extra == 'detectron') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" source: cpu-linux markers: sys_platform == 'linux' and (extra != 'detectron' and extra != 'gpu') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" markers: sys_platform == 'linux' and (extra == 'detectron' or extra == 'gpu')
  • torchvision --- - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "^0.14.0" markers: sys_platform == 'win32' and (extra != 'detectron' and extra != 'gpu') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" source: gpu-win markers: sys_platform == 'win32' and (extra == 'gpu' or extra == 'detectron') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" source: cpu-linux markers: sys_platform == 'linux' and (extra != 'detectron' and extra != 'gpu') - !ruby/hash:ActiveSupport::HashWithIndifferentAccess version: "*" markers: sys_platform == 'linux' and (extra == 'detectron' or extra == 'gpu')
  • tqdm ^4.64.1
  • trackpy ^0.5.0
RodTracker/pyproject.toml pypi