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.4.tar.gz (13.1 kB view details)

Uploaded Source

Built Distribution

ampy-0.1.3.4-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for ampy-0.1.3.4.tar.gz
Algorithm Hash digest
SHA256 7a49cabfe7ef566b7170e8231e2b7010b8c3d2cefdf6fa2473ac17094c1b1a1b
MD5 492047593ae1ed8bd47b53827aab4e0a
BLAKE2b-256 ba668fc011914120111654c3dc7cc2744b2cdbe8fb39aab5c90ae36c98a17a7f

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for ampy-0.1.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3dc95275f5424c9b1f46048d624a12a1ff8937bc613a14ebdf35c928a6f6ac28
MD5 750b069238653c401490bf53001472c1
BLAKE2b-256 454b9d25b92b7ca0ac458d1b9457f16079e3f003d9add35ed0041d32ad9ea673

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