Skip to main content

A motion capture marker data visualization and editing tool

Project description

🎯 MStudio

License: MIT Version

Markerless/Marker-based Motion Capture Data Visualization & Editing Tool

Seamlessly visualize, analyze, and edit 3D marker data from motion capture systems

🚀 Quick Start📖 Features💾 Installation🎮 Usage🤝 Support


🌟 What is MStudio?

MStudio is a user-friendly application designed for researchers, biomechanists, and motion capture professionals. It provides an intuitive interface to:

  • Visualize 3D marker trajectories in real-time
  • Analyze movement patterns and joint&segment angles
  • Edit and filter motion capture data
  • Export processed data for further analysis

Compatible with popular tools like Pose2Sim and Sports2D.


💾 Installation

Option 1: Install from PyPI (Recommended)

# Create a virtual environment (recommended)
conda create -n mstudio python=3.10 -y
conda activate mstudio

# Install MStudio
pip install mstudio

Option 2: Install from Source

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

🚀 Quick Start

Launch MStudio

mstudio

That's it! The application will open with an intuitive interface ready for your motion capture data.

Load Your First Dataset

  1. File → Open or drag & drop your TRC/C3D file
  2. Play the animation using the spacebar
  3. Explore your data with mouse controls:
    • Left click + drag: Rotate view
    • Right click + drag: Pan
    • Scroll wheel: Zoom

📖 Features

🎯 3D Visualization

  • Real-time 3D rendering of marker data
  • Interactive camera controls (rotate, pan, zoom)
  • Coordinate system switching (Y-up/Z-up)
  • Marker label toggle for clarity
  • Smooth 60 FPS animation playback

🦴 Skeleton Models

Support for multiple skeleton formats:

  • BODY_25B/25 (OpenPose)
  • BODY_135 (Full body)
  • BLAZEPOSE (MediaPipe)
  • HALPE (26/68/136 keypoints)
  • COCO (17/133 keypoints)
  • MPII (16 keypoints)

📊 Analysis Tools

  • Trajectory visualization with customizable paths
  • Distance measurement between any 2 markers
  • Segment angle calculation (relative to horizontal reference)
  • Joint angle calculation using 3-point method
  • Outlier detection with visual highlighting
  • Frame-by-frame navigation with timeline scrubbing
  • Multi-axis coordinate plots

🔧 Data Processing

  • Advanced filtering:
    • Butterworth filter
    • Butterworth on speed
    • Median filter
  • Smart interpolation with pattern matching
  • Interactive editing tools
  • Original data preservation

🎮 Usage

Step-by-Step Tutorial

1. Load Your Data

# Launch MStudio
mstudio

# In the application:
# File → Open → Select your .trc or .c3d file
# Or simply drag & drop your file into the window

2. Basic Navigation

Action Control
Play/Pause Animation Spacebar or Enter
Stop Animation Esc
Next/Previous Frame / Arrow keys
Rotate View Left click + drag
Pan View Right click + drag
Zoom Mouse wheel

3. Analysis Mode

  1. Click the "Analysis" button to activate
  2. Select markers by left-clicking in the 3D view:
    • 2 markers: Shows distance measurement and segment angle (relative to virtual horizontal line)
      • Left-click to cycle through reference axes (X, Y, Z)
    • 3 markers: Shows joint angle (middle marker = vertex)
  3. Results display directly in the 3D viewport

4. Data Processing

  • Filter data: Use the filter panel to apply Butterworth, median, or speed-based filters
  • Interpolate gaps: Select problematic markers and use pattern-based interpolation
  • Export results: File → Save As → Choose TRC or C3D format

🤝 Support

Getting Help

Contributing

We welcome contributions! Please see our Contributing Guidelines (Coming Soon).

Supported File Formats

  • Input: TRC, C3D
  • Output: TRC, C3D
  • Skeleton Models: OpenPose, MediaPipe, COCO, HALPE, MPII

🔮 Roadmap

Completed Features

  • 3D Visualization: Real-time marker rendering with smooth 60 FPS animation
  • Skeleton Support: Multiple skeleton models (OpenPose, MediaPipe, COCO, etc.)
  • Analysis Tools: Distance measurement, joint angles, segment angles
  • Data Processing: Advanced filtering and interpolation
  • File Support: TRC/C3D import/export functionality

🚧 In Development

  • Multi-Selection: Drag-and-drop selection for multiple markers
  • View Planes: Click-to-set orthogonal views (inspired by OpenSim)
  • Customization: Adjustable marker size, color, and opacity
  • Performance: Enhanced rendering for large datasets

🎯 Planned Features

  • Multi-Person Support: Simultaneous visualization and analysis of multiple subjects
  • Analysis Reports: Export comprehensive analysis results to PDF format
  • Gait Analysis Mode: Specialized tools and metrics for gait analysis

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.


🙏 Acknowledgments

  • Compatible with Pose2Sim and Sports2D
  • Built with Python, OpenGL, and CustomTkinter
  • Inspired by the biomechanics and motion capture community

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.4.tar.gz (92.0 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.4-py3-none-any.whl (105.3 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for mstudio-0.1.4.tar.gz
Algorithm Hash digest
SHA256 ae9ceee2fc9717e23700c0a12f7d13d086ad91eea907b6a4c38d3fc6ffb23eb9
MD5 a312201ed10d83fa81f0feeca759cc4f
BLAKE2b-256 79b975c1f32e1d2e6d2547fc246cc46ca19a0a848c2a80c1e7cc5d3d14bb10e4

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for mstudio-0.1.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3cb14ad7fcd5e61b2507ad53acd086f977f0b231dcdcbf88014d68e05bed3f24
MD5 a03d7ea954aa32fc91b197c88f86c754
BLAKE2b-256 68492fb65cb60f1873eb59fda9359880a1d4b421b0e6d88a5f2c0ba21dfc5bd5

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