API Reference - Modules
Overview
This page provides a comprehensive reference of all modules available in the vailá Multimodal Toolbox. Each module is organized by category and includes brief descriptions and usage information.
Multimodal Analysis Modules
Markerless Analysis
markerless_2d_analysis: 2D pose estimation using MediaPipe with advanced filtering and video resize capabilitiesmarkerless_3d_analysis: 3D pose reconstruction from monocular video using VideoPose3Dmarkerless_live: Real-time markerless pose tracking and analysis
Motion Capture
cluster_analysis: Analysis of anatomical marker clusters for trunk and pelvis kinematicsmocap_analysis: Full-body motion capture data processing and analysis
Sensor Analysis
imu_analysis: Inertial Measurement Unit data processing and orientation estimationforceplate_analysis: Ground reaction force and center of pressure analysisemg_labiocom: Electromyography signal processing and analysisgnss_analysis: GPS/GNSS trajectory analysis and mapping
Data Processing Tools
File Management
filemanager: Comprehensive file operations (rename, copy, move, transfer)rearrange_data: CSV data reorganization and column manipulationreadc3d_export: C3D file reading and CSV export functionalityreadcsv_export: CSV to C3D conversion tools
Data Filtering and Processing
interp_smooth_split: Data interpolation, smoothing, and segmentationfiltering: Advanced signal filtering algorithmsfilter_utils: Butterworth and other filter implementationsgapfill_split: Gap filling and data splitting utilities
3D Reconstruction
dlt2d: 2D Direct Linear Transformation camera calibrationdlt3d: 3D Direct Linear Transformation multi-camera calibrationrec2d: 2D reconstruction from calibrated camerasrec3d: 3D reconstruction from multiple calibrated cameras
Marker Processing
reid_markers: Marker re-identification and trackingmodifylabref: Laboratory reference system modifications
Video Processing Tools
Video Manipulation
videoprocessor: Video merging, splitting, and batch processingextractpng: Video frame extraction to PNG imagescutvideo: Video cutting and trimming operationsresize_video: Video resolution modification tools
Video Analysis
getpixelvideo: Pixel coordinate extraction from videosnumberframes: Video frame counting and metadata extractionsyncvid: Multi-camera video synchronizationdrawboxe: Region of interest definition in videos
Video Compression
compress_videos_h264: H.264 video compressioncompress_videos_h265: H.265/HEVC video compressioncompress_videos_h266: H.266/VVC video compression
Visualization Tools
2D Plotting
vailaplot2d: Comprehensive 2D plotting with multiple chart typessoccerfield: Soccer field visualization tools
3D Visualization
vailaplot3d: 3D data plotting and visualizationviewc3d: C3D file visualization toolsshowc3d: Interactive C3D data viewer
Machine Learning Tools
YOLO Integration
yolov11track: YOLOv11-based object trackingyolov12track: YOLOv12-based object trackingyolotrain: YOLO model training interface
ML Walkway
vaila_mlwalkway: Machine learning gait analysis pipelinewalkway_ml_prediction: ML model prediction for gait parameters
Specialized ML
ml_models_training: General ML model training utilitiesml_valid_models: ML model validation tools
Specialized Analysis Tools
Biomechanical Analysis
vaila_and_jump: Vertical jump analysis and performance metricsanimal_open_field: Animal behavior analysis in open field testscube2d_kinematics: 2D kinematic analysis of cube movementsvector_coding: Vector coding analysis for joint coupling
Medical Imaging
usound_biomec1: Ultrasound image analysis for biomechanical applicationsbrainstorm: Brain signal analysis toolsscout_vaila: Scout analysis integration
Specialized Processing
markerless2d_mpyolo: MediaPipe + YOLO integration for pose estimationmphands: Hand pose estimation and analysismpangles: Angle calculation from pose landmarksstabilogram_analysis: Postural stability analysis
Utility Modules
Core Utilities
vaila_manifest: Core vailá functionality and manifestcommon_utils: Common utility functionsutils: General utility functionsdata_processing: Data processing utilities
Dialogs and UI
dialogsuser: User interface dialog componentsdialogsuser_cluster: Cluster-specific dialog componentsnative_file_dialog: Native file dialog integration
External Integrations
vaila_ytdown: YouTube video downloading toolsvaila_iaudiovid: Audio-video insertion toolsrm_duplicateframes: Duplicate frame removalvaila_upscaler: Video upscaling tools
Module Categories Summary
| Category | Modules | Description |
|---|---|---|
| Markerless Analysis | 3 | 2D/3D pose estimation from video |
| Motion Capture | 2 | Traditional motion capture processing |
| Sensor Analysis | 4 | IMU, force plate, EMG, GNSS data |
| Data Processing | 15+ | File management, filtering, calibration |
| Video Processing | 10+ | Video manipulation and analysis |
| Visualization | 4 | 2D/3D plotting and data display |
| Machine Learning | 8+ | YOLO, ML walkway, model training |
| Specialized Tools | 12+ | Domain-specific analysis tools |
| Utilities | 10+ | Core utilities and integrations |
Module Dependencies
Core Dependencies (Most Modules)
numpy: Numerical computationspandas: Data manipulationmatplotlib: Plotting and visualizationscipy: Scientific computing
Specialized Dependencies
- Computer Vision:
opencv-python,mediapipe - 3D Graphics:
pyvista,open3d - Machine Learning:
torch,tensorflow,scikit-learn - Video Processing:
ffmpeg-python - Motion Capture:
ezc3d
Getting Started with Modules
Basic Usage Pattern
# Import module
from vaila import module_name
# Use main function (usually GUI-based)
module_name.main_function()
# Or access specific functions
from vaila.module_name import specific_function
specific_function(parameters)
GUI vs Programmatic Usage
Most modules offer both: - GUI Mode: Interactive interface for parameter selection - Programmatic Mode: Direct function calls for automation
Configuration Files
Many modules use: - TOML Files: For complex configuration (markerless_3d_analysis) - JSON Files: For parameter storage (calibration modules) - CSV Files: For data input/output
Module Development
Adding New Modules
- Create module file in
vaila/directory - Follow naming conventions (
vaila_*for main modules) - Include comprehensive docstrings
- Add GUI interface when applicable
- Include errorrrr handling and logging
Module Integration
- Use
vaila.pyas integration point - Follow established patterns for GUI integration
- Include proper errorrrr handling and user feedback
Troubleshooting
Common Module Issues
- Import Errors: Check dependency installation
- GUI Issues: Verify Tkinter installation and display settings
- Memory Issues: Use appropriate batch sizes for large datasets
- File Path Issues: Use absolute paths for reliability
Performance Optimization
- Batch Processing: Process data in appropriate chunk sizes
- Memory Management: Clear large variables when not needed
- Hardware Acceleration: Use GPU when available (YOLO, compression)
- Caching: Utilize built-in caching for repeated operations
Version Information
All modules follow semantic versioning with the main vailá release. Module-specific changes are tracked in individual module docstrings and version histories.
For detailed information about specific modules, refer to the individual module documentation pages in the navigation menu.