Skip to main content

Python-based Processing Tool for Active Matter Experiments

Project description

Pipeline_image Pipeline_image

Python PyPI version Docs Status Coverage Status Linting Status PyPI - License

Website | Documentation | Paper | Video Tutorial (TBD) | Colab Notebook

AMPy is a baseline library built upon OpenCV and NumPy to easily process experimental video data for active matter and disordered systems. Our library turns the processing of experiment recordings into a cakewalk, considerably accelerating extraction of system dynamics.

Overview

The library is comprised of 4 components: processing.py, statistic2d.py, statistic3d.py, animation.py, and utils.py.

  • processing.py handles the initial processing of experimental video recordings and tracks the ArUco markers placed on the robots' upper surfaces.

  • statistics2d.py extracts various two-dimensional statistical measures from obtained kinematics (such as Cartesian displacement or order parameters).

  • statistics3d.py evaluates position, orientation, and velocity correlation maps for the entire platform.

  • animation.py generates .gif/.mp4 with different visual augmentations of an input video.

  • utils.py provides methods for reading/saving video data.

If you want a brief introduction into library capabilities, we prepared a Colab tutorial for that occasion.

Installation

AMPy is available at the Python Package Index:

$ pip install ampy

Preparing markers

For users' convenience, we provide the .ipynb notebook allowing to generate ArUco- and AprilTag-based markers for tracking of their own robots.

Contact us

If you have some questions about the code, you are welcome to open an issue, we will respond to that as soon as possible. Contributions towards extension of AMPy functionality are more than welcome!

License

Established code released as open-source software under the GPLv3 license.

Citation

@misc{
      dmitriev2023swarmobot,
      title={Swarmodroid 1.0: A Modular Bristle-Bot Platform for Robotic Active Matter}, 
      author={Alexey A. Dmitriev and Alina D. Rozenblit and Vadim A. Porvatov and
              Mikhail K. Buzakov and Anastasia A. Molodtsova and Daria V. Sennikova and
              Vyacheslav A. Smirnov and Oleg I. Burmistrov and Ekaterina M. Puhtina and
              Nikita A. Olekhno},
      year={2023},
      eprint={2305.13510},
      archivePrefix={arXiv},
      primaryClass={cond-mat.soft}
}

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ampy-0.1.3.5.tar.gz (13.2 kB view details)

Uploaded Source

Built Distribution

ampy-0.1.3.5-py3-none-any.whl (13.8 kB view details)

Uploaded Python 3

File details

Details for the file ampy-0.1.3.5.tar.gz.

File metadata

  • Download URL: ampy-0.1.3.5.tar.gz
  • Upload date:
  • Size: 13.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for ampy-0.1.3.5.tar.gz
Algorithm Hash digest
SHA256 e90f759d5e712ca6e2b9edcc52e9b06b9bf6fa44f7f6151440430cced0e86b5a
MD5 56dcb87808c844a0035813f2e8ef0385
BLAKE2b-256 1735a3e7db402ed6ebf12b181e39f16c6fb69adee3cffc8faf716cc303db9400

See more details on using hashes here.

File details

Details for the file ampy-0.1.3.5-py3-none-any.whl.

File metadata

  • Download URL: ampy-0.1.3.5-py3-none-any.whl
  • Upload date:
  • Size: 13.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for ampy-0.1.3.5-py3-none-any.whl
Algorithm Hash digest
SHA256 e7a0befbd928b91a4a2003a25df4272e920d84489091b0dfab0e53e75feeca67
MD5 6ea06c7d4d42ed316999cda2a43dab6b
BLAKE2b-256 26cbb674f061de3ecf2e0ccb69bf98cd5a5273baa7bf918c5bc0af555d3adf4b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page