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. Open File your TRC/C3D file or Choose JSON Folder for 2D marker data
  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 Spacebar or Enter or 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, JSON
  • 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.5.tar.gz (100.1 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.5-py3-none-any.whl (114.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mstudio-0.1.5.tar.gz
  • Upload date:
  • Size: 100.1 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.5.tar.gz
Algorithm Hash digest
SHA256 f919b7c51c8e15eae7f3acc70083b3c1cb0d6bfc626291c1ae0c4bd0630d3a92
MD5 115fe2d51b65fd574db8ef605f59f782
BLAKE2b-256 7d719b3655f50c54922f3a3f5d7f9eed3acdb76bf6d2ec48491ac14f409dc038

See more details on using hashes here.

File details

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

File metadata

  • Download URL: mstudio-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 114.6 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.5-py3-none-any.whl
Algorithm Hash digest
SHA256 93448728633b1fbc28abfed1ad41fc71f827cf00f2b6fb35e702d65f2b41340d
MD5 1163e30eff73e5ea6ef9d9d1b013a2ae
BLAKE2b-256 5f0382d68293552048267ea9c5fddcd939a9768541c55e94edfd3a9f534f9424

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