Package: PhysioMoCap 0.2.0

Yusuke Matsui

PhysioMoCap: Motion Capture and Biomechanics Analysis for PhysioExperiment Objects

Provides motion capture, pose estimation, and biomechanical simulation analysis for PhysioExperiment objects. Includes I/O for C3D, Venus3D, OpenPose, DeepLabCut, MediaPipe, BVH, ASF/AMC, OpenSim, and generic CSV formats. Provides marker tracking (Hungarian algorithm), signal filtering, numerical differentiation, resampling, center of mass calculation, gait parameters, clinical statistics (ICC, SEM, MDC, Bland-Altman), movement phase segmentation, dynamic time warping, movement normalization, functional PCA, force-plate kinetics (GRF filtering, COP, loading rate, impulse), planar inverse dynamics (joint moments/power), EMG integration (rectification, RMS envelope, MVC normalization), gait/running/jump task schemas, OpenSim workflow integration, and biomechanics-specific visualization.

Authors:Yusuke Matsui [aut, cre]

PhysioMoCap_0.2.0.tar.gz
PhysioMoCap_0.2.0.zip(r-4.7)PhysioMoCap_0.2.0.zip(r-4.6)PhysioMoCap_0.2.0.zip(r-4.5)
PhysioMoCap_0.2.0.tgz(r-4.6-any)PhysioMoCap_0.2.0.tgz(r-4.5-any)
PhysioMoCap_0.2.0.tar.gz(r-4.7-any)PhysioMoCap_0.2.0.tar.gz(r-4.6-any)
PhysioMoCap_0.2.0.tgz(r-4.6-emscripten)
manual.pdf |manual.html
DESCRIPTION |NEWS
card.svg |card.png
PhysioMoCap/json (API)

# Install 'PhysioMoCap' in R:
install.packages('PhysioMoCap', repos = c('https://x-biosignal.r-universe.dev', 'https://cloud.r-project.org'))

Bug tracker:https://github.com/matsui-lab/physioexperiment/issues

On CRAN:

Conda:

3.40 score 155 exports 36 dependencies

Last updated from:fa38a942b9. Checks:7 WARNING, 2 OK. Indexed: yes.

TargetResultTimeFilesSyslog
linux-devel-x86_64WARNING319
source / vignettesOK244
linux-release-x86_64WARNING303
macos-release-arm64WARNING178
macos-oldrel-arm64WARNING201
windows-develWARNING316
windows-releaseWARNING299
windows-oldrelWARNING337
wasm-releaseOK170

Exports:alignEMGtoMoCapanalyzeForcePlateanalyzeForcePlatePEassessMoCapReadinessbatch_analyze_opensimbatchNormalizebenchmarkAgreementbenchmarkManifestTemplateblandAltmanbutterworthFiltercalculateCOMcalculateCOPcalculateGaitParameterscalculateJointAnglescalculateSegmentCOMcalculateStepSymmetrycalibrateIMUcohensDcombineTrialscomputeAccelerationcomputeImpulsecomputeJerkcomputeJointPowercomputeLoadingRatecomputeRMSEnvelopecomputeSpeedcomputeVelocitycorrectSwapscreate_schema_from_opensimcreateBenchmarkExampledefaultBenchmarkThresholdsdefine_skeletondemoMoCapDatadetectEventsdetectForcePlateContactsdetectGapsdetectSwapsdifferentiatedtwAveragedtwClusteringdtwDistancedtwDistanceMatrixdtwWarpestimateOrientationestimateSegmentInertiaetaSquaredeulerToQuaternionEventextractPhaseextractWaveformFeaturesfillGapsfillGapsLinearfillGapsSplinefilterGRFfilterSignalsfPCAget_bone_connectionsget_limb_pairsget_segment_lengthsgetEventgetEventNamesgetPhasegetPhaseColorsgetPhaseDatagetPhaseNamesgetSchemahasValidPhasesiccintegrateEMGMoCapinverseDynamics2DinverseDynamics3DlistSchemasmanualEventsmdcmovingAveragenormalizedTimeAxisnormalizeEMGnormalizeMovementPhasephaseDurationsphaseRatiosphaseTimingplotCorrelationMatrixplotCycleplotDTWplotEffectSizeForestplotFPCAplotGaitCycleplotGroupComparisonplotMultiPanelplotPCAScatterplotPCAVarianceplotPhaseDurationsplotPhasePortraitplotSkeletonplotSkeleton3DplotSkeletonOverlayplotSkeletonSequenceplotSpaghettiplotSymmetryplotTrajectoryplotUMAPplotWaveformComparisonprocessEMGprojectTo2DquaternionToEulerquickStartMoCapreadAMCreadASFreadBVHreadC3DreadDeepLabCutreadMediaPipereadMoCapAutoreadMoCapCSVreadMOTreadOpenCapreadOpenPosereadOpenSimOutputsreadSTOreadTRCreadVenus3DreconstructFPCArectifyEMGregisterCurvesremoveGravityreportGapsresampleSignalresampleVectorrun_opensim_toolchainrunBenchmarkSuitesavgolFilterschema_balanceschema_cuttingschema_cyclingschema_gaitschema_jumpschema_runningschema_throwsegmentParameterssegmentPhasessemSkeletonModelsummarizeGaitParameterssymmetryIndexsynchronizeSignalsTaskSchematrackMarkersvalidateBenchmarkManifestvalidateSchemavectorAnglewaveformPCAwaveformTSNEwaveformUMAPwriteBenchmarkManifest

Dependencies:abindBiobaseBiocGenericsclicpp11DelayedArrayfarvergenericsGenomicRangesggplot2gluegtableIRangesisobandjsonlitelabelinglatticelifecycleMatrixMatrixGenericsmatrixStatsPhysioCoreR6RColorBrewerrlangS4ArraysS4VectorsS7scalesSeqinfoSparseArraySummarizedExperimentvctrsviridisLitewithrXVector

Benchmark Validation Workflow
1. Create a benchmark bundle | 2. Validate manifest integrity | 3. Run benchmark suite | 4. Export reports | 5. Use real gold-standard data later

Last update: 2026-07-05
Started: 2026-07-05

EMG and MoCap Integration Workflow
1. Simulate MoCap and EMG data | 2. Process EMG (rectify + RMS envelope + smoothing) | 3. Align EMG to MoCap timeline | 4. Build an integrated analysis table | Notes

Last update: 2026-07-05
Started: 2026-07-05

Force Plate and Inverse Dynamics Workflow
1. Simulate force-plate inputs | 2. Run force-plate analysis | 3. Build inverse-dynamics inputs | 4. Estimate inertial parameters and compute moments/power | 5. Multi-plate selection and 3D inverse dynamics | Notes

Last update: 2026-07-05
Started: 2026-07-05

Getting Started with PhysioMoCap
1. Create demo data | 2. Run one-command quick start | 3. Check data readiness | 4. Inspect key outputs | 5. Start from your own file | 6. Common input entry points | 7. Common troubleshooting

Last update: 2026-07-05
Started: 2026-07-05

Gold-Standard Data Download and Benchmark Setup
1. Preconditions | 2. Create a benchmark manifest | 3. Point manifest rows to your downloaded files | 4. Validate manifest integrity | 5. Run benchmark suite | 6. Replace placeholders with real external data

Last update: 2026-07-05
Started: 2026-07-05

Readme and manuals

Help Manual

Help pageTopics
Align EMG to motion-capture sampling gridalignEMGtoMoCap
Run complete force-plate analysisanalyzeForcePlate
Analyze force-plate signals from a PhysioExperiment objectanalyzeForcePlatePE
Assess readiness of a MoCap dataset for downstream analysisassessMoCapReadiness
Batch analyze OpenSim session databatch_analyze_opensim
Batch normalize multiple trialsbatchNormalize
Compute agreement metrics against a reference signal tablebenchmarkAgreement
Create a benchmark manifest templatebenchmarkManifestTemplate
Bland-Altman Analysis for Method AgreementblandAltman
Apply a Butterworth filter to numeric databutterworthFilter
Calculate whole-body center of mass from marker positionscalculateCOM
Calculate center of pressure (COP) from force-plate datacalculateCOP
Calculate gait temporal-spatial parameterscalculateGaitParameters
Calculate joint angles from marker positionscalculateJointAngles
Calculate per-segment centers of masscalculateSegmentCOM
Calculate step symmetry from gait parameterscalculateStepSymmetry
Calibrate IMU from static datacalibrateIMU
Cohen's d Effect SizecohensD
Combine multiple trials with segmented phasescombineTrials
Compute acceleration from position or velocity datacomputeAcceleration
Compute vertical impulse from GRFcomputeImpulse
Compute jerk from position datacomputeJerk
Compute joint power from moment and angular velocitycomputeJointPower
Compute vertical loading rate from GRFcomputeLoadingRate
Compute moving RMS envelope of EMGcomputeRMSEnvelope
Compute scalar speed from velocitycomputeSpeed
Compute velocity from position datacomputeVelocity
Correct Marker Label SwapscorrectSwaps
Create a TaskSchema from OpenSim model for gait analysiscreate_schema_from_opensim
Create a synthetic benchmark dataset bundlecreateBenchmarkExample
Get default benchmark thresholdsdefaultBenchmarkThresholds
Create a pre-defined skeleton modeldefine_skeleton
Create a beginner-friendly demo datasetdemoMoCapData
Detect events in movement datadetectEvents
Detect contact windows for one or more force platesdetectForcePlateContacts
Detect gaps (contiguous NA runs) in assay datadetectGaps
Detect Marker Label SwapsdetectSwaps
Differentiate a numeric vector or matrixdifferentiate
DTW Barycenter Averaging (DBA)dtwAverage
DTW-based clusteringdtwClustering
Dynamic Time Warping (DTW) for BiomechanicsdtwDistance
Compute DTW distance matrixdtwDistanceMatrix
Warp a waveform using DTW alignmentdtwWarp
Estimate orientation from IMU sensors using sensor fusionestimateOrientation
Estimate segment inertial properties for lower-limb inverse dynamicsestimateSegmentInertia
Eta-Squared Effect SizeetaSquared
Convert Euler angles to quaternioneulerToQuaternion
Create an Event definitionEvent
Extract a single phase from segmented dataextractPhase
Dimensionality Reduction for BiomechanicsextractWaveformFeatures
Fill gaps in motion capture datafillGaps
Linear interpolation for a single vectorfillGapsLinear
Spline interpolation for a single vectorfillGapsSpline
Low-pass filter ground reaction force datafilterGRF
Filter signals in a PhysioExperiment objectfilterSignals
Functional Data Analysis (FDA) for BiomechanicsfPCA
Get bone connections from a skeletonget_bone_connections
Get left/right limb pairs for symmetry analysisget_limb_pairs
Compute segment lengths from a PhysioExperiment and skeletonget_segment_lengths
Get an event by name from a TaskSchemagetEvent
Get event names from a TaskSchemagetEventNames
Get a phase by name from a TaskSchemagetPhase
Get phase colors from a TaskSchemagetPhaseColors
Get data for all phases as a list of matricesgetPhaseData
Get phase names from a TaskSchemagetPhaseNames
Get a pre-built schema by namegetSchema
Check if all phases are validhasValidPhases
Intraclass Correlation Coefficient (ICC)icc
Integrate EMG and MoCap signals onto a common timelineintegrateEMGMoCap
Compute 2D lower-limb joint moments with inverse dynamicsinverseDynamics2D
Compute 3D lower-limb joint moments with inverse dynamicsinverseDynamics3D
Get list of all pre-built schemaslistSchemas
Manually specify event timesmanualEvents
Minimal Detectable Change (MDC)mdc
Simple moving average filtermovingAverage
Time axis for normalized datanormalizedTimeAxis
Normalize EMG by MVC or peaknormalizeEMG
Normalize movement datanormalizeMovement
Create a Phase definitionPhase
Get phase durationsphaseDurations
Calculate phase ratiosphaseRatios
Get phase timing informationphaseTiming
Plot correlation matrix heatmapplotCorrelationMatrix
Plot normalized movement cycleplotCycle
Plot DTW alignmentplotDTW
Plot effect size forest plotplotEffectSizeForest
Plot fPCA resultsplotFPCA
Plot gait cycle normalized waveformsplotGaitCycle
Plot group comparison with task contextplotGroupComparison
Plot multi-panel movement dataplotMultiPanel
Plot PCA scatterplotPCAScatter
Plot PCA variance explainedplotPCAVariance
Plot phase duration comparisonplotPhaseDurations
Plot phase portraitplotPhasePortrait
Plot a 2D stick-figure skeletonplotSkeleton
Plot a skeleton frame in pseudo-3DplotSkeleton3D
Plot overlaid skeleton framesplotSkeletonOverlay
Plot a sequence of skeleton framesplotSkeletonSequence
Plot spaghetti plot (all subjects with mean)plotSpaghetti
Plot symmetry comparison (left vs right)plotSymmetry
Plot movement trajectory (2D)plotTrajectory
Plot UMAP embeddingplotUMAP
Biomechanics-specific Visualization FunctionsplotWaveformComparison
Print method for ASFSkeleton objectsprint.ASFSkeleton
Print benchmark agreement summaryprint.benchmark_agreement
Print benchmark manifest validation resultprint.benchmark_manifest_validation
Print benchmark suite summaryprint.benchmark_suite
Print method for detected eventsprint.detected_events
Print DTW clustering resultprint.dtw_clustering
Print DTW resultprint.dtw_result
Print a forceplate analysis summaryprint.forceplate_analysis
Print a multi-plate forceplate analysis summaryprint.forceplate_analysis_multi
Print fPCA resultprint.fpca_result
Print gait parametersprint.gait_parameters
Print a quick-start summaryprint.mocap_quickstart
Print a MoCap readiness reportprint.mocap_readiness
Print method for multi-trial phasesprint.multi_trial_phases
Print method for segmented phasesprint.segmented_phases
Print a SkeletonModel objectprint.SkeletonModel
Print waveform PCA resultprint.waveform_pca
Print waveform UMAP resultprint.waveform_umap
Process EMG for biomechanics workflowsprocessEMG
Project 3D coordinates to a 2D planeprojectTo2D
Convert quaternion to Euler anglesquaternionToEuler
Run a one-command beginner workflowquickStartMoCap
Read AMC Motion Capture File (.amc)readAMC
Read ASF Skeleton Definition File (.asf)readASF
Read BVH Skeleton Animation File (.bvh)readBVH
Read C3D Motion Capture FilereadC3D
Read DeepLabCut outputreadDeepLabCut
Read MediaPipe landmark outputreadMediaPipe
Read motion-capture files with automatic format detectionreadMoCapAuto
Read Motion Capture CSV DatareadMoCapCSV
Read OpenSim Motion File (.mot)readMOT
Read Data from OpenCap Cloud PlatformreadOpenCap
Read OpenPose JSON outputreadOpenPose
Read OpenSim Output FilesreadOpenSimOutputs
Read OpenSim Storage File (.sto)readSTO
Read OpenSim TRC File (.trc)readTRC
Read Venus3D CSV DatareadVenus3D
Reconstruct waveforms from fPCAreconstructFPCA
Rectify EMG signalsrectifyEMG
Curve registration (time warping)registerCurves
Remove gravity from accelerometer dataremoveGravity
Report summary statistics for detected gapsreportGaps
Resample signal assays to a new sampling rateresampleSignal
Resample a single numeric vectorresampleVector
Run OpenSim CLI Toolchain via PhysioOpenSimrun_opensim_toolchain
Run a benchmark suite from a manifestrunBenchmarkSuite
Savitzky-Golay filter for smoothing and differentiationsavgolFilter
Pre-built Balance Schemaschema_balance
Pre-built Cutting/Change of Direction Schemaschema_cutting
Pre-built Cycling Schemaschema_cycling
Pre-built Gait Cycle Schemaschema_gait
Pre-built Jump Schemaschema_jump
Pre-built Running Schemaschema_running
Pre-built Throwing Schemaschema_throw
Get body segment inertial parameters (BSIP)segmentParameters
Segment data into phasessegmentPhases
Standard Error of Measurement (SEM)sem
Create a SkeletonModel objectSkeletonModel
Summarise gait parameterssummarizeGaitParameters
Compute bilateral symmetry indexsymmetryIndex
Synchronize multiple PhysioExperiment objectssynchronizeSignals
Create a Task SchemaTaskSchema
Track Markers Across FramestrackMarkers
Validate a benchmark manifestvalidateBenchmarkManifest
Validate a TaskSchemavalidateSchema
Angle between two 3D vectorsvectorAngle
PCA for waveform datawaveformPCA
t-SNE embedding for waveform datawaveformTSNE
UMAP embedding for waveform datawaveformUMAP
Write a benchmark manifest template to CSVwriteBenchmarkManifest