Skip to main content

A motion capture marker data visualization and editing tool

Project description

MStudio

License: MIT
A comprehensive toolkit for editing and managing 2D and 3D markers in motion capture and biomechanical studies. Designed to be compatible with Pose2Sim, and Sports2D, providing seamless integration for marker data processing and analysis.

Note: This is an initial release. Automated tests are minimal and only basic smoke tests are included. More comprehensive tests will be added in future updates.


📦 Installation

Step 1. Create a virtual environment using Anaconda (recommended):

conda create -n mstudio python=3.10 -y
conda activate mstudio

Step 2. Install MStudio from PyPI:

pip install mstudio

From source:

git clone https://github.com/hunminkim98/MStudio.git
cd MStudio
pip install .

🚀 Quick Start

The Easiest Way to Run MStudio (Recommended!)

Just open your terminal and run:

mstudio

That's it! This is the safest way to launch the app.

Heads up! If you try to run main.py directly (like python MStudio/main.py), you might get an error like: ModuleNotFoundError: No module named 'MStudio' To avoid this, always use the command above from the root folder.


Want to Run main.py Directly?

If you're actively developing and want to quickly test changes, you can add these lines at the very top of MStudio/main.py:

import sys, os
sys.path.insert(0, os.path.abspath(os.path.join(os.path.dirname(__file__), '..')))

Now you can run:

python MStudio/main.py

📚 Documentation & Support


Features

🎯 3D Marker Visualization

  • Interactive 3D viewport with real-time marker display

  • Customizable marker colors and sizes (TODO)

  • Toggle marker labels visibility

  • Coordinate system switching (Z-up/Y-up)

  • Zoom and pan controls

🦴 Skeleton

  • Multiple pre-defined skeleton models:

    • BODY_25B
    • BODY_25
    • BODY_135
    • BLAZEPOSE
    • HALPE (26/68/136)
    • COCO (17/133)
    • MPII
  • Toggle skeleton visibility

  • Color-coded connections for outlier detection

📊 Data Analysis Tools

  • Marker trajectory visualization
  • Multi-axis coordinate plots
  • Frame-by-frame navigation
  • Timeline scrubbing with time/frame display modes
  • Outlier detection and highlighting
  • Analysis Mode:
    • Activate via the "Analysis" button.
    • Left-click markers in the 3D view to select up to 3 markers.
    • Visualize Euclidean distance (m) between 2 selected markers directly in the 3D view.
    • Visualize joint angle (°) formed by 3 selected markers (using the second selected marker as the vertex) directly in the 3D view.
    • Selected markers are highlighted (green, thicker) for clear identification.

🔧 Data Processing

  • Multiple filtering options:
    • Butterworth filter
    • Butterworth on speed
    • Median filter
  • Customizable filter parameters
  • Pattern-based marker interpolation
  • Interactive data selection and editing

💾 File Operations

  • Import TRC/C3D files
  • Export to TRC/C3D files
  • Original data preservation

Future Enhancements / TODO

  • [v] Add skeleton lines for trunk.
  • Drag and select multiple markers (requires changing left-click logic).
  • Choose the view by clicking the plane (inspired by OpenSim GUI).
  • Customize marker size, color, and opacity.
  • [v] Add an arc for visualizing the range of motion.

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

mstudio-0.1.3.tar.gz (66.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mstudio-0.1.3-py3-none-any.whl (78.1 kB view details)

Uploaded Python 3

File details

Details for the file mstudio-0.1.3.tar.gz.

File metadata

  • Download URL: mstudio-0.1.3.tar.gz
  • Upload date:
  • Size: 66.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for mstudio-0.1.3.tar.gz
Algorithm Hash digest
SHA256 cf3386a1e3936cde6d1e86285519c14b847884cd4a066cd32e544445dc476b10
MD5 67ce7cd3486135b1ee7cff1b0b17b2bc
BLAKE2b-256 071d21ae9bb4d0a49d628ea071e12902cd3551dc7e1fa4c8602deebd501f7b8f

See more details on using hashes here.

File details

Details for the file mstudio-0.1.3-py3-none-any.whl.

File metadata

  • Download URL: mstudio-0.1.3-py3-none-any.whl
  • Upload date:
  • Size: 78.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.4

File hashes

Hashes for mstudio-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 48c02688c363c0ee3995e23f847835a72ae3a2599751542a2743a293167e2806
MD5 da86668d8f2808de00322198fec9fe5c
BLAKE2b-256 3b86af690762ec948a17f68016f1b2dc7d0545a60afffac43c779707b1209cf4

See more details on using hashes here.

Supported by

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