{
  "_id": "6a1f2756b401979e73422667",
  "Package": "PhysioMoCap",
  "Title": "Motion Capture and Biomechanics Analysis for PhysioExperiment\nObjects",
  "Version": "0.2.0",
  "Authors@R": "person(given = \"Yusuke\",\nfamily = \"Matsui\",\nrole = c(\"aut\", \"cre\"),\nemail = \"mail.to.matsui@gmail.com\")",
  "Description": "Provides motion capture, pose estimation, and\nbiomechanical simulation analysis for PhysioExperiment objects.\nIncludes I/O for C3D, Venus3D, GaitRec, OpenPose, DeepLabCut,\nMediaPipe, BVH, ASF/AMC, OpenSim, and generic CSV formats.\nProvides marker tracking (Hungarian algorithm), signal\nfiltering, numerical differentiation, resampling, center of\nmass calculation, gait parameters, clinical statistics (ICC,\nSEM, MDC, Bland-Altman), movement phase segmentation, dynamic\ntime warping, movement normalization, functional PCA,\nforce-plate kinetics (GRF filtering, COP, loading rate,\nimpulse), planar inverse dynamics (joint moments/power), EMG\nintegration (rectification, RMS envelope, MVC normalization),\ngait/running/jump task schemas, OpenSim workflow integration,\nand biomechanics-specific visualization.",
  "VignetteBuilder": "knitr",
  "License": "MIT + file LICENSE",
  "URL": "https://github.com/matsui-lab/PhysioExperiment",
  "BugReports": "https://github.com/matsui-lab/PhysioExperiment/issues",
  "Encoding": "UTF-8",
  "Roxygen": "list(markdown = TRUE)",
  "Collate": "'class-TaskSchema.R' 'schemas-prebuilt.R' 'mocap-skeleton.R'\n'mocap-angles.R' 'mocap-gaps.R' 'mocap-imu.R'\n'mocap-tracking.R' 'io-openpose.R' 'io-opensim.R' 'io-c3d.R'\n'io-bvh.R' 'io-deeplabcut.R' 'io-mediapipe.R' 'io-opencap.R'\n'ops-events.R' 'ops-phases.R' 'ops-normalize.R' 'ops-dtw.R'\n'ops-dimred.R' 'stats-fda.R' 'opensim-integration.R'\n'vis-biomech.R' 'vis-movement.R' 'vis-skeleton.R'\n'biomech-com.R' 'io-asfamc.R' 'io-csv.R' 'io-gaitrec.R'\n'io-venus3d.R' 'ops-filter.R' 'ops-derivatives.R'\n'ops-resample.R' 'stats-clinical.R' 'stats-gait.R'\n'kinetics-forceplate.R' 'kinetics-inverse-dynamics.R'\n'mocap-emg.R' 'user-onboarding.R' 'benchmark-validation.R'\n'zzz.R'",
  "RoxygenNote": "7.3.3",
  "Config/pak/sysreqs": "zlib1g-dev",
  "Repository": "https://x-biosignal.r-universe.dev",
  "Date/Publication": "2026-03-16 11:31:37 UTC",
  "RemoteUrl": "https://github.com/x-biosignal/PhysioMoCap",
  "RemoteRef": "HEAD",
  "RemoteSha": "7047593a8caad70fa3804c733be7b31b759fea92",
  "NeedsCompilation": "no",
  "Packaged": {
    "Date": "2026-05-16 05:34:28 UTC",
    "User": "root"
  },
  "Author": "Yusuke Matsui [aut, cre]",
  "Maintainer": "Yusuke Matsui <mail.to.matsui@gmail.com>",
  "MD5sum": "15c0c9f89397b74bdf938a55459976c0",
  "_user": "x-biosignal",
  "_type": "src",
  "_file": "PhysioMoCap_0.2.0.tar.gz",
  "_fileid": "954146a3a8f84834d9f211f797fda21b392ddec6ae32fadfc4c318eefba7a19a",
  "_filesize": 922385,
  "_sha256": "954146a3a8f84834d9f211f797fda21b392ddec6ae32fadfc4c318eefba7a19a",
  "_created": "2026-05-16T05:34:28.000Z",
  "_published": "2026-06-02T18:56:22.799Z",
  "_distro": "noble",
  "_jobs": [
    {
      "job": 79148493537,
      "time": 315,
      "config": "linux-devel-x86_64",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "7030892035"
    },
    {
      "job": 79148493815,
      "time": 303,
      "config": "linux-release-x86_64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7030890573"
    },
    {
      "job": 79148493557,
      "time": 253,
      "config": "macos-oldrel-arm64",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7030884767"
    },
    {
      "job": 79148493869,
      "time": 235,
      "config": "macos-release-arm64",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7030882666"
    },
    {
      "job": 79148493433,
      "time": 274,
      "config": "source",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7030856112"
    },
    {
      "job": 79148492874,
      "time": 144,
      "config": "wasm-release",
      "r": "4.6.0",
      "check": "OK",
      "artifact": "7367065807"
    },
    {
      "job": 79148493535,
      "time": 274,
      "config": "windows-devel",
      "r": "4.7.0",
      "check": "WARNING",
      "artifact": "7030887257"
    },
    {
      "job": 79148493529,
      "time": 296,
      "config": "windows-oldrel",
      "r": "4.5.3",
      "check": "WARNING",
      "artifact": "7030889873"
    },
    {
      "job": 79148493892,
      "time": 285,
      "config": "windows-release",
      "r": "4.6.0",
      "check": "WARNING",
      "artifact": "7030888546"
    }
  ],
  "_buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358",
  "_status": "success",
  "_host": "GitHub-Actions",
  "_upstream": "https://github.com/x-biosignal/PhysioMoCap",
  "_commit": {
    "id": "7047593a8caad70fa3804c733be7b31b759fea92",
    "author": "Yusuke Matsui <mail.to.matsui@gmail.com>",
    "committer": "Yusuke Matsui <mail.to.matsui@gmail.com>",
    "message": "docs: Add comprehensive README\n",
    "time": 1773660697
  },
  "_maintainer": {
    "name": "Yusuke Matsui",
    "email": "mail.to.matsui@gmail.com",
    "login": "ymatts",
    "uuid": 5744286
  },
  "_registered": true,
  "_dependencies": [
    {
      "package": "R",
      "version": ">= 4.2",
      "role": "Depends"
    },
    {
      "package": "PhysioCore",
      "role": "Depends"
    },
    {
      "package": "SummarizedExperiment",
      "role": "Imports"
    },
    {
      "package": "S4Vectors",
      "role": "Imports"
    },
    {
      "package": "stats",
      "role": "Imports"
    },
    {
      "package": "utils",
      "role": "Imports"
    },
    {
      "package": "jsonlite",
      "role": "Imports"
    },
    {
      "package": "ggplot2",
      "role": "Imports"
    },
    {
      "package": "rlang",
      "role": "Imports"
    },
    {
      "package": "scales",
      "role": "Imports"
    },
    {
      "package": "PhysioIO",
      "role": "Suggests"
    },
    {
      "package": "signal",
      "role": "Suggests"
    },
    {
      "package": "signalIO",
      "role": "Suggests"
    },
    {
      "package": "uwot",
      "role": "Suggests"
    },
    {
      "package": "Rtsne",
      "role": "Suggests"
    },
    {
      "package": "c3dr",
      "role": "Suggests"
    },
    {
      "package": "clue",
      "role": "Suggests"
    },
    {
      "package": "rhdf5",
      "role": "Suggests"
    },
    {
      "package": "httr",
      "role": "Suggests"
    },
    {
      "package": "withr",
      "role": "Suggests"
    },
    {
      "package": "knitr",
      "role": "Suggests"
    },
    {
      "package": "rmarkdown",
      "role": "Suggests"
    },
    {
      "package": "testthat",
      "version": ">= 3.2.0",
      "role": "Suggests"
    }
  ],
  "_owner": "x-biosignal",
  "_selfowned": true,
  "_usedby": 0,
  "_updates": [
    {
      "week": "2026-12",
      "n": 2
    }
  ],
  "_tags": [],
  "_stars": 0,
  "_contributors": [
    {
      "user": "ymatts",
      "count": 2,
      "uuid": 5744286
    }
  ],
  "_userbio": {
    "uuid": 268545536,
    "type": "organization",
    "name": "x-biosignal"
  },
  "_downloads": {
    "count": 0,
    "source": "https://cranlogs.r-pkg.org/downloads/total/last-month/PhysioMoCap"
  },
  "_devurl": "https://github.com/matsui-lab/physioexperiment",
  "_searchresults": 0,
  "_rbuild": "4.6.0",
  "_assets": [
    "extra/citation.cff",
    "extra/citation.html",
    "extra/citation.json",
    "extra/citation.txt",
    "extra/contents.json",
    "extra/NEWS.html",
    "extra/NEWS.txt",
    "extra/PhysioMoCap.html",
    "extra/readme.html",
    "extra/readme.md",
    "manual.pdf"
  ],
  "_cranurl": false,
  "_exports": [
    "alignEMGtoMoCap",
    "analyzeForcePlate",
    "analyzeForcePlatePE",
    "assessMoCapReadiness",
    "batch_analyze_opensim",
    "batchNormalize",
    "benchmarkAgreement",
    "benchmarkManifestTemplate",
    "blandAltman",
    "butterworthFilter",
    "calculateCOM",
    "calculateCOP",
    "calculateGaitParameters",
    "calculateJointAngles",
    "calculateSegmentCOM",
    "calculateStepSymmetry",
    "calibrateIMU",
    "cohensD",
    "combineTrials",
    "computeAcceleration",
    "computeImpulse",
    "computeJerk",
    "computeJointPower",
    "computeLoadingRate",
    "computeRMSEnvelope",
    "computeSpeed",
    "computeVelocity",
    "correctSwaps",
    "create_schema_from_opensim",
    "createBenchmarkExample",
    "defaultBenchmarkThresholds",
    "define_skeleton",
    "demoMoCapData",
    "detectEvents",
    "detectForcePlateContacts",
    "detectGaps",
    "detectSwaps",
    "differentiate",
    "dtwAverage",
    "dtwClustering",
    "dtwDistance",
    "dtwDistanceMatrix",
    "dtwWarp",
    "estimateOrientation",
    "estimateSegmentInertia",
    "etaSquared",
    "eulerToQuaternion",
    "Event",
    "extractPhase",
    "extractWaveformFeatures",
    "fillGaps",
    "fillGapsLinear",
    "fillGapsSpline",
    "filterGRF",
    "filterSignals",
    "fPCA",
    "get_bone_connections",
    "get_limb_pairs",
    "get_segment_lengths",
    "getEvent",
    "getEventNames",
    "getPhase",
    "getPhaseColors",
    "getPhaseData",
    "getPhaseNames",
    "getSchema",
    "hasValidPhases",
    "icc",
    "integrateEMGMoCap",
    "inverseDynamics2D",
    "inverseDynamics3D",
    "listSchemas",
    "manualEvents",
    "mdc",
    "movingAverage",
    "normalizedTimeAxis",
    "normalizeEMG",
    "normalizeMovement",
    "Phase",
    "phaseDurations",
    "phaseRatios",
    "phaseTiming",
    "plotCorrelationMatrix",
    "plotCycle",
    "plotDTW",
    "plotEffectSizeForest",
    "plotFPCA",
    "plotGaitCycle",
    "plotGroupComparison",
    "plotMultiPanel",
    "plotPCAScatter",
    "plotPCAVariance",
    "plotPhaseDurations",
    "plotPhasePortrait",
    "plotSkeleton",
    "plotSkeleton3D",
    "plotSkeletonOverlay",
    "plotSkeletonSequence",
    "plotSpaghetti",
    "plotSymmetry",
    "plotTrajectory",
    "plotUMAP",
    "plotWaveformComparison",
    "processEMG",
    "projectTo2D",
    "quaternionToEuler",
    "quickStartMoCap",
    "readAMC",
    "readASF",
    "readBVH",
    "readC3D",
    "readDeepLabCut",
    "readGaitRec",
    "readMediaPipe",
    "readMoCapAuto",
    "readMoCapCSV",
    "readMOT",
    "readOpenCap",
    "readOpenPose",
    "readOpenSimOutputs",
    "readSTO",
    "readTRC",
    "readVenus3D",
    "reconstructFPCA",
    "rectifyEMG",
    "registerCurves",
    "removeGravity",
    "reportGaps",
    "resampleSignal",
    "resampleVector",
    "run_opensim_toolchain",
    "runBenchmarkSuite",
    "savgolFilter",
    "schema_balance",
    "schema_cutting",
    "schema_cycling",
    "schema_gait",
    "schema_jump",
    "schema_running",
    "schema_throw",
    "segmentParameters",
    "segmentPhases",
    "sem",
    "SkeletonModel",
    "summarizeGaitParameters",
    "symmetryIndex",
    "synchronizeSignals",
    "TaskSchema",
    "trackMarkers",
    "validateBenchmarkManifest",
    "validateSchema",
    "vectorAngle",
    "waveformPCA",
    "waveformTSNE",
    "waveformUMAP",
    "writeBenchmarkManifest"
  ],
  "_help": [
    {
      "page": "alignEMGtoMoCap",
      "title": "Align EMG to motion-capture sampling grid",
      "topics": [
        "alignEMGtoMoCap"
      ]
    },
    {
      "page": "analyzeForcePlate",
      "title": "Run complete force-plate analysis",
      "topics": [
        "analyzeForcePlate"
      ]
    },
    {
      "page": "analyzeForcePlatePE",
      "title": "Analyze force-plate signals from a PhysioExperiment object",
      "topics": [
        "analyzeForcePlatePE"
      ]
    },
    {
      "page": "assessMoCapReadiness",
      "title": "Assess readiness of a MoCap dataset for downstream analysis",
      "topics": [
        "assessMoCapReadiness"
      ]
    },
    {
      "page": "batch_analyze_opensim",
      "title": "Batch analyze OpenSim session data",
      "topics": [
        "batch_analyze_opensim"
      ]
    },
    {
      "page": "batchNormalize",
      "title": "Batch normalize multiple trials",
      "topics": [
        "batchNormalize"
      ]
    },
    {
      "page": "benchmarkAgreement",
      "title": "Compute agreement metrics against a reference signal table",
      "topics": [
        "benchmarkAgreement"
      ]
    },
    {
      "page": "benchmarkManifestTemplate",
      "title": "Create a benchmark manifest template",
      "topics": [
        "benchmarkManifestTemplate"
      ]
    },
    {
      "page": "blandAltman",
      "title": "Bland-Altman Analysis for Method Agreement",
      "topics": [
        "blandAltman"
      ]
    },
    {
      "page": "butterworthFilter",
      "title": "Apply a Butterworth filter to numeric data",
      "topics": [
        "butterworthFilter"
      ]
    },
    {
      "page": "calculateCOM",
      "title": "Calculate whole-body center of mass from marker positions",
      "topics": [
        "calculateCOM"
      ]
    },
    {
      "page": "calculateCOP",
      "title": "Calculate center of pressure (COP) from force-plate data",
      "topics": [
        "calculateCOP"
      ]
    },
    {
      "page": "calculateGaitParameters",
      "title": "Calculate gait temporal-spatial parameters",
      "topics": [
        "calculateGaitParameters"
      ]
    },
    {
      "page": "calculateJointAngles",
      "title": "Calculate joint angles from marker positions",
      "topics": [
        "calculateJointAngles"
      ]
    },
    {
      "page": "calculateSegmentCOM",
      "title": "Calculate per-segment centers of mass",
      "topics": [
        "calculateSegmentCOM"
      ]
    },
    {
      "page": "calculateStepSymmetry",
      "title": "Calculate step symmetry from gait parameters",
      "topics": [
        "calculateStepSymmetry"
      ]
    },
    {
      "page": "calibrateIMU",
      "title": "Calibrate IMU from static data",
      "topics": [
        "calibrateIMU"
      ]
    },
    {
      "page": "cohensD",
      "title": "Cohen's d Effect Size",
      "topics": [
        "cohensD"
      ]
    },
    {
      "page": "combineTrials",
      "title": "Combine multiple trials with segmented phases",
      "topics": [
        "combineTrials"
      ]
    },
    {
      "page": "computeAcceleration",
      "title": "Compute acceleration from position or velocity data",
      "topics": [
        "computeAcceleration"
      ]
    },
    {
      "page": "computeImpulse",
      "title": "Compute vertical impulse from GRF",
      "topics": [
        "computeImpulse"
      ]
    },
    {
      "page": "computeJerk",
      "title": "Compute jerk from position data",
      "topics": [
        "computeJerk"
      ]
    },
    {
      "page": "computeJointPower",
      "title": "Compute joint power from moment and angular velocity",
      "topics": [
        "computeJointPower"
      ]
    },
    {
      "page": "computeLoadingRate",
      "title": "Compute vertical loading rate from GRF",
      "topics": [
        "computeLoadingRate"
      ]
    },
    {
      "page": "computeRMSEnvelope",
      "title": "Compute moving RMS envelope of EMG",
      "topics": [
        "computeRMSEnvelope"
      ]
    },
    {
      "page": "computeSpeed",
      "title": "Compute scalar speed from velocity",
      "topics": [
        "computeSpeed"
      ]
    },
    {
      "page": "computeVelocity",
      "title": "Compute velocity from position data",
      "topics": [
        "computeVelocity"
      ]
    },
    {
      "page": "correctSwaps",
      "title": "Correct Marker Label Swaps",
      "topics": [
        "correctSwaps"
      ]
    },
    {
      "page": "create_schema_from_opensim",
      "title": "Create a TaskSchema from OpenSim model for gait analysis",
      "topics": [
        "create_schema_from_opensim"
      ]
    },
    {
      "page": "createBenchmarkExample",
      "title": "Create a synthetic benchmark dataset bundle",
      "topics": [
        "createBenchmarkExample"
      ]
    },
    {
      "page": "defaultBenchmarkThresholds",
      "title": "Get default benchmark thresholds",
      "topics": [
        "defaultBenchmarkThresholds"
      ]
    },
    {
      "page": "define_skeleton",
      "title": "Create a pre-defined skeleton model",
      "topics": [
        "define_skeleton"
      ]
    },
    {
      "page": "demoMoCapData",
      "title": "Create a beginner-friendly demo dataset",
      "topics": [
        "demoMoCapData"
      ]
    },
    {
      "page": "detectEvents",
      "title": "Detect events in movement data",
      "topics": [
        "detectEvents"
      ]
    },
    {
      "page": "detectForcePlateContacts",
      "title": "Detect contact windows for one or more force plates",
      "topics": [
        "detectForcePlateContacts"
      ]
    },
    {
      "page": "detectGaps",
      "title": "Detect gaps (contiguous NA runs) in assay data",
      "topics": [
        "detectGaps"
      ]
    },
    {
      "page": "detectSwaps",
      "title": "Detect Marker Label Swaps",
      "topics": [
        "detectSwaps"
      ]
    },
    {
      "page": "differentiate",
      "title": "Differentiate a numeric vector or matrix",
      "topics": [
        "differentiate"
      ]
    },
    {
      "page": "dtwAverage",
      "title": "DTW Barycenter Averaging (DBA)",
      "topics": [
        "dtwAverage"
      ]
    },
    {
      "page": "dtwClustering",
      "title": "DTW-based clustering",
      "topics": [
        "dtwClustering"
      ]
    },
    {
      "page": "dtwDistance",
      "title": "Dynamic Time Warping (DTW) for Biomechanics",
      "topics": [
        "dtwDistance"
      ]
    },
    {
      "page": "dtwDistanceMatrix",
      "title": "Compute DTW distance matrix",
      "topics": [
        "dtwDistanceMatrix"
      ]
    },
    {
      "page": "dtwWarp",
      "title": "Warp a waveform using DTW alignment",
      "topics": [
        "dtwWarp"
      ]
    },
    {
      "page": "estimateOrientation",
      "title": "Estimate orientation from IMU sensors using sensor fusion",
      "topics": [
        "estimateOrientation"
      ]
    },
    {
      "page": "estimateSegmentInertia",
      "title": "Estimate segment inertial properties for lower-limb inverse dynamics",
      "topics": [
        "estimateSegmentInertia"
      ]
    },
    {
      "page": "etaSquared",
      "title": "Eta-Squared Effect Size",
      "topics": [
        "etaSquared"
      ]
    },
    {
      "page": "eulerToQuaternion",
      "title": "Convert Euler angles to quaternion",
      "topics": [
        "eulerToQuaternion"
      ]
    },
    {
      "page": "Event",
      "title": "Create an Event definition",
      "topics": [
        "Event"
      ]
    },
    {
      "page": "extractPhase",
      "title": "Extract a single phase from segmented data",
      "topics": [
        "extractPhase"
      ]
    },
    {
      "page": "extractWaveformFeatures",
      "title": "Dimensionality Reduction for Biomechanics",
      "topics": [
        "extractWaveformFeatures"
      ]
    },
    {
      "page": "fillGaps",
      "title": "Fill gaps in motion capture data",
      "topics": [
        "fillGaps"
      ]
    },
    {
      "page": "fillGapsLinear",
      "title": "Linear interpolation for a single vector",
      "topics": [
        "fillGapsLinear"
      ]
    },
    {
      "page": "fillGapsSpline",
      "title": "Spline interpolation for a single vector",
      "topics": [
        "fillGapsSpline"
      ]
    },
    {
      "page": "filterGRF",
      "title": "Low-pass filter ground reaction force data",
      "topics": [
        "filterGRF"
      ]
    },
    {
      "page": "filterSignals",
      "title": "Filter signals in a PhysioExperiment object",
      "topics": [
        "filterSignals"
      ]
    },
    {
      "page": "fPCA",
      "title": "Functional Data Analysis (FDA) for Biomechanics",
      "topics": [
        "fPCA"
      ]
    },
    {
      "page": "get_bone_connections",
      "title": "Get bone connections from a skeleton",
      "topics": [
        "get_bone_connections"
      ]
    },
    {
      "page": "get_limb_pairs",
      "title": "Get left/right limb pairs for symmetry analysis",
      "topics": [
        "get_limb_pairs"
      ]
    },
    {
      "page": "get_segment_lengths",
      "title": "Compute segment lengths from a PhysioExperiment and skeleton",
      "topics": [
        "get_segment_lengths"
      ]
    },
    {
      "page": "getEvent",
      "title": "Get an event by name from a TaskSchema",
      "topics": [
        "getEvent"
      ]
    },
    {
      "page": "getEventNames",
      "title": "Get event names from a TaskSchema",
      "topics": [
        "getEventNames"
      ]
    },
    {
      "page": "getPhase",
      "title": "Get a phase by name from a TaskSchema",
      "topics": [
        "getPhase"
      ]
    },
    {
      "page": "getPhaseColors",
      "title": "Get phase colors from a TaskSchema",
      "topics": [
        "getPhaseColors"
      ]
    },
    {
      "page": "getPhaseData",
      "title": "Get data for all phases as a list of matrices",
      "topics": [
        "getPhaseData"
      ]
    },
    {
      "page": "getPhaseNames",
      "title": "Get phase names from a TaskSchema",
      "topics": [
        "getPhaseNames"
      ]
    },
    {
      "page": "getSchema",
      "title": "Get a pre-built schema by name",
      "topics": [
        "getSchema"
      ]
    },
    {
      "page": "hasValidPhases",
      "title": "Check if all phases are valid",
      "topics": [
        "hasValidPhases"
      ]
    },
    {
      "page": "icc",
      "title": "Intraclass Correlation Coefficient (ICC)",
      "topics": [
        "icc"
      ]
    },
    {
      "page": "integrateEMGMoCap",
      "title": "Integrate EMG and MoCap signals onto a common timeline",
      "topics": [
        "integrateEMGMoCap"
      ]
    },
    {
      "page": "inverseDynamics2D",
      "title": "Compute 2D lower-limb joint moments with inverse dynamics",
      "topics": [
        "inverseDynamics2D"
      ]
    },
    {
      "page": "inverseDynamics3D",
      "title": "Compute 3D lower-limb joint moments with inverse dynamics",
      "topics": [
        "inverseDynamics3D"
      ]
    },
    {
      "page": "listSchemas",
      "title": "Get list of all pre-built schemas",
      "topics": [
        "listSchemas"
      ]
    },
    {
      "page": "manualEvents",
      "title": "Manually specify event times",
      "topics": [
        "manualEvents"
      ]
    },
    {
      "page": "mdc",
      "title": "Minimal Detectable Change (MDC)",
      "topics": [
        "mdc"
      ]
    },
    {
      "page": "movingAverage",
      "title": "Simple moving average filter",
      "topics": [
        "movingAverage"
      ]
    },
    {
      "page": "normalizedTimeAxis",
      "title": "Time axis for normalized data",
      "topics": [
        "normalizedTimeAxis"
      ]
    },
    {
      "page": "normalizeEMG",
      "title": "Normalize EMG by MVC or peak",
      "topics": [
        "normalizeEMG"
      ]
    },
    {
      "page": "normalizeMovement",
      "title": "Normalize movement data",
      "topics": [
        "normalizeMovement"
      ]
    },
    {
      "page": "Phase",
      "title": "Create a Phase definition",
      "topics": [
        "Phase"
      ]
    },
    {
      "page": "phaseDurations",
      "title": "Get phase durations",
      "topics": [
        "phaseDurations"
      ]
    },
    {
      "page": "phaseRatios",
      "title": "Calculate phase ratios",
      "topics": [
        "phaseRatios"
      ]
    },
    {
      "page": "phaseTiming",
      "title": "Get phase timing information",
      "topics": [
        "phaseTiming"
      ]
    },
    {
      "page": "plotCorrelationMatrix",
      "title": "Plot correlation matrix heatmap",
      "topics": [
        "plotCorrelationMatrix"
      ]
    },
    {
      "page": "plotCycle",
      "title": "Plot normalized movement cycle",
      "topics": [
        "plotCycle"
      ]
    },
    {
      "page": "plotDTW",
      "title": "Plot DTW alignment",
      "topics": [
        "plotDTW"
      ]
    },
    {
      "page": "plotEffectSizeForest",
      "title": "Plot effect size forest plot",
      "topics": [
        "plotEffectSizeForest"
      ]
    },
    {
      "page": "plotFPCA",
      "title": "Plot fPCA results",
      "topics": [
        "plotFPCA"
      ]
    },
    {
      "page": "plotGaitCycle",
      "title": "Plot gait cycle normalized waveforms",
      "topics": [
        "plotGaitCycle"
      ]
    },
    {
      "page": "plotGroupComparison",
      "title": "Plot group comparison with task context",
      "topics": [
        "plotGroupComparison"
      ]
    },
    {
      "page": "plotMultiPanel",
      "title": "Plot multi-panel movement data",
      "topics": [
        "plotMultiPanel"
      ]
    },
    {
      "page": "plotPCAScatter",
      "title": "Plot PCA scatter",
      "topics": [
        "plotPCAScatter"
      ]
    },
    {
      "page": "plotPCAVariance",
      "title": "Plot PCA variance explained",
      "topics": [
        "plotPCAVariance"
      ]
    },
    {
      "page": "plotPhaseDurations",
      "title": "Plot phase duration comparison",
      "topics": [
        "plotPhaseDurations"
      ]
    },
    {
      "page": "plotPhasePortrait",
      "title": "Plot phase portrait",
      "topics": [
        "plotPhasePortrait"
      ]
    },
    {
      "page": "plotSkeleton",
      "title": "Plot a 2D stick-figure skeleton",
      "topics": [
        "plotSkeleton"
      ]
    },
    {
      "page": "plotSkeleton3D",
      "title": "Plot a skeleton frame in pseudo-3D",
      "topics": [
        "plotSkeleton3D"
      ]
    },
    {
      "page": "plotSkeletonOverlay",
      "title": "Plot overlaid skeleton frames",
      "topics": [
        "plotSkeletonOverlay"
      ]
    },
    {
      "page": "plotSkeletonSequence",
      "title": "Plot a sequence of skeleton frames",
      "topics": [
        "plotSkeletonSequence"
      ]
    },
    {
      "page": "plotSpaghetti",
      "title": "Plot spaghetti plot (all subjects with mean)",
      "topics": [
        "plotSpaghetti"
      ]
    },
    {
      "page": "plotSymmetry",
      "title": "Plot symmetry comparison (left vs right)",
      "topics": [
        "plotSymmetry"
      ]
    },
    {
      "page": "plotTrajectory",
      "title": "Plot movement trajectory (2D)",
      "topics": [
        "plotTrajectory"
      ]
    },
    {
      "page": "plotUMAP",
      "title": "Plot UMAP embedding",
      "topics": [
        "plotUMAP"
      ]
    },
    {
      "page": "plotWaveformComparison",
      "title": "Biomechanics-specific Visualization Functions",
      "topics": [
        "plotWaveformComparison"
      ]
    },
    {
      "page": "print.ASFSkeleton",
      "title": "Print method for ASFSkeleton objects",
      "topics": [
        "print.ASFSkeleton"
      ]
    },
    {
      "page": "print.benchmark_agreement",
      "title": "Print benchmark agreement summary",
      "topics": [
        "print.benchmark_agreement"
      ]
    },
    {
      "page": "print.benchmark_manifest_validation",
      "title": "Print benchmark manifest validation result",
      "topics": [
        "print.benchmark_manifest_validation"
      ]
    },
    {
      "page": "print.benchmark_suite",
      "title": "Print benchmark suite summary",
      "topics": [
        "print.benchmark_suite"
      ]
    },
    {
      "page": "print.detected_events",
      "title": "Print method for detected events",
      "topics": [
        "print.detected_events"
      ]
    },
    {
      "page": "print.dtw_clustering",
      "title": "Print DTW clustering result",
      "topics": [
        "print.dtw_clustering"
      ]
    },
    {
      "page": "print.dtw_result",
      "title": "Print DTW result",
      "topics": [
        "print.dtw_result"
      ]
    },
    {
      "page": "print.forceplate_analysis",
      "title": "Print a forceplate analysis summary",
      "topics": [
        "print.forceplate_analysis"
      ]
    },
    {
      "page": "print.forceplate_analysis_multi",
      "title": "Print a multi-plate forceplate analysis summary",
      "topics": [
        "print.forceplate_analysis_multi"
      ]
    },
    {
      "page": "print.fpca_result",
      "title": "Print fPCA result",
      "topics": [
        "print.fpca_result"
      ]
    },
    {
      "page": "print.gait_parameters",
      "title": "Print gait parameters",
      "topics": [
        "print.gait_parameters"
      ]
    },
    {
      "page": "print.mocap_quickstart",
      "title": "Print a quick-start summary",
      "topics": [
        "print.mocap_quickstart"
      ]
    },
    {
      "page": "print.mocap_readiness",
      "title": "Print a MoCap readiness report",
      "topics": [
        "print.mocap_readiness"
      ]
    },
    {
      "page": "print.multi_trial_phases",
      "title": "Print method for multi-trial phases",
      "topics": [
        "print.multi_trial_phases"
      ]
    },
    {
      "page": "print.segmented_phases",
      "title": "Print method for segmented phases",
      "topics": [
        "print.segmented_phases"
      ]
    },
    {
      "page": "print.SkeletonModel",
      "title": "Print a SkeletonModel object",
      "topics": [
        "print.SkeletonModel"
      ]
    },
    {
      "page": "print.waveform_pca",
      "title": "Print waveform PCA result",
      "topics": [
        "print.waveform_pca"
      ]
    },
    {
      "page": "print.waveform_umap",
      "title": "Print waveform UMAP result",
      "topics": [
        "print.waveform_umap"
      ]
    },
    {
      "page": "processEMG",
      "title": "Process EMG for biomechanics workflows",
      "topics": [
        "processEMG"
      ]
    },
    {
      "page": "projectTo2D",
      "title": "Project 3D coordinates to a 2D plane",
      "topics": [
        "projectTo2D"
      ]
    },
    {
      "page": "quaternionToEuler",
      "title": "Convert quaternion to Euler angles",
      "topics": [
        "quaternionToEuler"
      ]
    },
    {
      "page": "quickStartMoCap",
      "title": "Run a one-command beginner workflow",
      "topics": [
        "quickStartMoCap"
      ]
    },
    {
      "page": "readAMC",
      "title": "Read AMC Motion Capture File (.amc)",
      "topics": [
        "readAMC"
      ]
    },
    {
      "page": "readASF",
      "title": "Read ASF Skeleton Definition File (.asf)",
      "topics": [
        "readASF"
      ]
    },
    {
      "page": "readBVH",
      "title": "Read BVH Skeleton Animation File (.bvh)",
      "topics": [
        "readBVH"
      ]
    },
    {
      "page": "readC3D",
      "title": "Read C3D Motion Capture File",
      "topics": [
        "readC3D"
      ]
    },
    {
      "page": "readDeepLabCut",
      "title": "Read DeepLabCut output",
      "topics": [
        "readDeepLabCut"
      ]
    },
    {
      "page": "readMediaPipe",
      "title": "Read MediaPipe landmark output",
      "topics": [
        "readMediaPipe"
      ]
    },
    {
      "page": "readMoCapAuto",
      "title": "Read motion-capture files with automatic format detection",
      "topics": [
        "readMoCapAuto"
      ]
    },
    {
      "page": "readMoCapCSV",
      "title": "Read Motion Capture CSV Data",
      "topics": [
        "readMoCapCSV"
      ]
    },
    {
      "page": "readMOT",
      "title": "Read OpenSim Motion File (.mot)",
      "topics": [
        "readMOT"
      ]
    },
    {
      "page": "readOpenCap",
      "title": "Read Data from OpenCap Cloud Platform",
      "topics": [
        "readOpenCap"
      ]
    },
    {
      "page": "readOpenPose",
      "title": "Read OpenPose JSON output",
      "topics": [
        "readOpenPose"
      ]
    },
    {
      "page": "readOpenSimOutputs",
      "title": "Read OpenSim Output Files",
      "topics": [
        "readOpenSimOutputs"
      ]
    },
    {
      "page": "readSTO",
      "title": "Read OpenSim Storage File (.sto)",
      "topics": [
        "readSTO"
      ]
    },
    {
      "page": "readTRC",
      "title": "Read OpenSim TRC File (.trc)",
      "topics": [
        "readTRC"
      ]
    },
    {
      "page": "readVenus3D",
      "title": "Read Venus3D CSV Data",
      "topics": [
        "readVenus3D"
      ]
    },
    {
      "page": "reconstructFPCA",
      "title": "Reconstruct waveforms from fPCA",
      "topics": [
        "reconstructFPCA"
      ]
    },
    {
      "page": "rectifyEMG",
      "title": "Rectify EMG signals",
      "topics": [
        "rectifyEMG"
      ]
    },
    {
      "page": "registerCurves",
      "title": "Curve registration (time warping)",
      "topics": [
        "registerCurves"
      ]
    },
    {
      "page": "removeGravity",
      "title": "Remove gravity from accelerometer data",
      "topics": [
        "removeGravity"
      ]
    },
    {
      "page": "reportGaps",
      "title": "Report summary statistics for detected gaps",
      "topics": [
        "reportGaps"
      ]
    },
    {
      "page": "resampleSignal",
      "title": "Resample signal assays to a new sampling rate",
      "topics": [
        "resampleSignal"
      ]
    },
    {
      "page": "resampleVector",
      "title": "Resample a single numeric vector",
      "topics": [
        "resampleVector"
      ]
    },
    {
      "page": "run_opensim_toolchain",
      "title": "Run OpenSim CLI Toolchain via PhysioOpenSim",
      "topics": [
        "run_opensim_toolchain"
      ]
    },
    {
      "page": "runBenchmarkSuite",
      "title": "Run a benchmark suite from a manifest",
      "topics": [
        "runBenchmarkSuite"
      ]
    },
    {
      "page": "savgolFilter",
      "title": "Savitzky-Golay filter for smoothing and differentiation",
      "topics": [
        "savgolFilter"
      ]
    },
    {
      "page": "schema_balance",
      "title": "Pre-built Balance Schema",
      "topics": [
        "schema_balance"
      ]
    },
    {
      "page": "schema_cutting",
      "title": "Pre-built Cutting/Change of Direction Schema",
      "topics": [
        "schema_cutting"
      ]
    },
    {
      "page": "schema_cycling",
      "title": "Pre-built Cycling Schema",
      "topics": [
        "schema_cycling"
      ]
    },
    {
      "page": "schema_gait",
      "title": "Pre-built Gait Cycle Schema",
      "topics": [
        "schema_gait"
      ]
    },
    {
      "page": "schema_jump",
      "title": "Pre-built Jump Schema",
      "topics": [
        "schema_jump"
      ]
    },
    {
      "page": "schema_running",
      "title": "Pre-built Running Schema",
      "topics": [
        "schema_running"
      ]
    },
    {
      "page": "schema_throw",
      "title": "Pre-built Throwing Schema",
      "topics": [
        "schema_throw"
      ]
    },
    {
      "page": "segmentParameters",
      "title": "Get body segment inertial parameters (BSIP)",
      "topics": [
        "segmentParameters"
      ]
    },
    {
      "page": "segmentPhases",
      "title": "Segment data into phases",
      "topics": [
        "segmentPhases"
      ]
    },
    {
      "page": "sem",
      "title": "Standard Error of Measurement (SEM)",
      "topics": [
        "sem"
      ]
    },
    {
      "page": "SkeletonModel",
      "title": "Create a SkeletonModel object",
      "topics": [
        "SkeletonModel"
      ]
    },
    {
      "page": "summarizeGaitParameters",
      "title": "Summarise gait parameters",
      "topics": [
        "summarizeGaitParameters"
      ]
    },
    {
      "page": "symmetryIndex",
      "title": "Compute bilateral symmetry index",
      "topics": [
        "symmetryIndex"
      ]
    },
    {
      "page": "synchronizeSignals",
      "title": "Synchronize multiple PhysioExperiment objects",
      "topics": [
        "synchronizeSignals"
      ]
    },
    {
      "page": "TaskSchema",
      "title": "Create a Task Schema",
      "topics": [
        "TaskSchema"
      ]
    },
    {
      "page": "trackMarkers",
      "title": "Track Markers Across Frames",
      "topics": [
        "trackMarkers"
      ]
    },
    {
      "page": "validateBenchmarkManifest",
      "title": "Validate a benchmark manifest",
      "topics": [
        "validateBenchmarkManifest"
      ]
    },
    {
      "page": "validateSchema",
      "title": "Validate a TaskSchema",
      "topics": [
        "validateSchema"
      ]
    },
    {
      "page": "vectorAngle",
      "title": "Angle between two 3D vectors",
      "topics": [
        "vectorAngle"
      ]
    },
    {
      "page": "waveformPCA",
      "title": "PCA for waveform data",
      "topics": [
        "waveformPCA"
      ]
    },
    {
      "page": "waveformTSNE",
      "title": "t-SNE embedding for waveform data",
      "topics": [
        "waveformTSNE"
      ]
    },
    {
      "page": "waveformUMAP",
      "title": "UMAP embedding for waveform data",
      "topics": [
        "waveformUMAP"
      ]
    },
    {
      "page": "writeBenchmarkManifest",
      "title": "Write a benchmark manifest template to CSV",
      "topics": [
        "writeBenchmarkManifest"
      ]
    }
  ],
  "_readme": "https://github.com/x-biosignal/PhysioMoCap/raw/HEAD/README.md",
  "_rundeps": [
    "abind",
    "Biobase",
    "BiocGenerics",
    "cli",
    "cpp11",
    "DelayedArray",
    "farver",
    "generics",
    "GenomicRanges",
    "ggplot2",
    "glue",
    "gtable",
    "IRanges",
    "isoband",
    "jsonlite",
    "labeling",
    "lattice",
    "lifecycle",
    "Matrix",
    "MatrixGenerics",
    "matrixStats",
    "PhysioCore",
    "R6",
    "RColorBrewer",
    "rlang",
    "S4Arrays",
    "S4Vectors",
    "S7",
    "scales",
    "Seqinfo",
    "SparseArray",
    "SummarizedExperiment",
    "vctrs",
    "viridisLite",
    "withr",
    "XVector"
  ],
  "_vignettes": [
    {
      "source": "benchmark-validation.Rmd",
      "filename": "benchmark-validation.html",
      "title": "Benchmark Validation Workflow",
      "engine": "knitr::rmarkdown",
      "headings": [
        "1. Create a benchmark bundle",
        "2. Validate manifest integrity",
        "3. Run benchmark suite",
        "4. Export reports",
        "5. Use real gold-standard data later"
      ],
      "created": "2026-03-16 08:33:10",
      "modified": "2026-03-16 08:33:10",
      "commits": 1
    },
    {
      "source": "emg-mocap-integration.Rmd",
      "filename": "emg-mocap-integration.html",
      "title": "EMG and MoCap Integration Workflow",
      "engine": "knitr::rmarkdown",
      "headings": [
        "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"
      ],
      "created": "2026-03-16 08:33:10",
      "modified": "2026-03-16 08:33:10",
      "commits": 1
    },
    {
      "source": "forceplate-inverse-dynamics.Rmd",
      "filename": "forceplate-inverse-dynamics.html",
      "title": "Force Plate and Inverse Dynamics Workflow",
      "engine": "knitr::rmarkdown",
      "headings": [
        "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"
      ],
      "created": "2026-03-16 08:33:10",
      "modified": "2026-03-16 08:33:10",
      "commits": 1
    },
    {
      "source": "getting-started.Rmd",
      "filename": "getting-started.html",
      "title": "Getting Started with PhysioMoCap",
      "engine": "knitr::rmarkdown",
      "headings": [
        "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"
      ],
      "created": "2026-03-16 08:33:10",
      "modified": "2026-03-16 08:33:10",
      "commits": 1
    },
    {
      "source": "gold-standard-data-download.Rmd",
      "filename": "gold-standard-data-download.html",
      "title": "Gold-Standard Data Download and Benchmark Setup",
      "engine": "knitr::rmarkdown",
      "headings": [
        "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"
      ],
      "created": "2026-03-16 08:33:10",
      "modified": "2026-03-16 08:33:10",
      "commits": 1
    }
  ],
  "_score": 3.3979400086720375,
  "_indexed": true,
  "_nocasepkg": "physiomocap",
  "_universes": [
    "x-biosignal",
    "ymatts",
    "matsui-lab"
  ],
  "_binaries": [
    {
      "r": "4.7.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-05-16T05:37:38.000Z",
      "distro": "noble",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "98e1719d28a73b4e1c26434b29fa86ccb2454a8f1f6fad6b2a35b8af0413dd7a",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.6.0",
      "os": "linux",
      "version": "0.2.0",
      "date": "2026-05-16T05:37:33.000Z",
      "distro": "noble",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "33e1b3671594889d31fcf1e7a15901b740427636d91d841dd43abc71a914c199",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.5.3",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-05-16T05:37:04.000Z",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "2a5c255da92148ff5a3e66791a8e2fd4c09b48a9edb25e90b3592da43f2731f0",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.6.0",
      "os": "mac",
      "version": "0.2.0",
      "date": "2026-05-16T05:36:58.000Z",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "da0932f41aa5c7f6b425dec2179a8f9d54681856a9a94737eac87bf33be39068",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.7.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-16T05:36:39.000Z",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "a640644fc6b56cf65ac81b1b41d44ef21af5625f6c07d5b66b83d67297bc4347",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.5.3",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-16T05:36:51.000Z",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "eb0ca7f3b18b0e4fb22224e8cd22710b4fd2802a028d3368e1702e032a2d5393",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.6.0",
      "os": "win",
      "version": "0.2.0",
      "date": "2026-05-16T05:36:48.000Z",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "bc08ee4828f3e7a23560478928dd37e9c784b8610fd3120bca84d5f2c9459e77",
      "status": "success",
      "check": "WARNING",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    },
    {
      "r": "4.6.0",
      "os": "wasm",
      "version": "0.2.0",
      "date": "2026-06-02T18:55:57.000Z",
      "commit": "7047593a8caad70fa3804c733be7b31b759fea92",
      "fileid": "41a784ad883bceb8b3c65359c051165472d52b1b265ef674063c9fbb88a39693",
      "status": "success",
      "buildurl": "https://github.com/r-universe/x-biosignal/actions/runs/25953916358"
    }
  ]
}