$$
\newcommand{\RR}{\mathbb{R}}
\newcommand{\GG}{\mathbb{G}}
\newcommand{\PP}{\mathbb{P}}
\newcommand{\PS}{\mathcal{P}}
\newcommand{\SS}{\mathbb{S}}
\newcommand{\NN}{\mathbb{N}}
\newcommand{\ZZ}{\mathbb{Z}}
\newcommand{\CC}{\mathbb{C}}
\newcommand{\HH}{\mathbb{H}}
\newcommand{\ones}{\mathbb{1\hspace{-0.4em}1}}
\newcommand{\alg}[1]{\mathfrak{#1}}
\newcommand{\mat}[1]{ \begin{pmatrix} #1 \end{pmatrix} }
\renewcommand{\bar}{\overline}
\renewcommand{\hat}{\widehat}
\renewcommand{\tilde}{\widetilde}
\newcommand{\inv}[1]{ {#1}^{-1} }
\newcommand{\eqdef}{\overset{\text{def}}=}
\newcommand{\block}[1]{\left(#1\right)}
\newcommand{\set}[1]{\left\{#1\right\}}
\newcommand{\abs}[1]{\left|#1\right|}
\newcommand{\trace}[1]{\mathrm{tr}\block{#1}}
\newcommand{\norm}[1]{ \left\| #1 \right\| }
\newcommand{\argmin}[1]{ \underset{#1}{\mathrm{argmin}} }
\newcommand{\argmax}[1]{ \underset{#1}{\mathrm{argmax}} }
\newcommand{\st}{\ \mathrm{s.t.}\ }
\newcommand{\sign}[1]{\mathrm{sign}\block{#1}}
\newcommand{\half}{\frac{1}{2}}
\newcommand{\inner}[1]{\langle #1 \rangle}
\newcommand{\dd}{\mathrm{d}}
\newcommand{\ddd}[2]{\frac{\partial #1}{\partial #2} }
\newcommand{\db}{\dd^b}
\newcommand{\ds}{\dd^s}
\newcommand{\dL}{\dd_L}
\newcommand{\dR}{\dd_R}
\newcommand{\Ad}{\mathrm{Ad}}
\newcommand{\ad}{\mathrm{ad}}
\newcommand{\LL}{\mathcal{L}}
\newcommand{\Krylov}{\mathcal{K}}
\newcommand{\Span}[1]{\mathrm{Span}\block{#1}}
\newcommand{\diag}{\mathrm{diag}}
\newcommand{\tr}{\mathrm{tr}}
\newcommand{\sinc}{\mathrm{sinc}}
\newcommand{\cat}[1]{\mathcal{#1}}
\newcommand{\Ob}[1]{\mathrm{Ob}\block{\cat{#1}}}
\newcommand{\Hom}[1]{\mathrm{Hom}\block{\cat{#1}}}
\newcommand{\op}[1]{\cat{#1}^{op}}
\newcommand{\hom}[2]{\cat{#1}\block{#2}}
\newcommand{\id}{\mathrm{id}}
\newcommand{\Set}{\mathbb{Set}}
\newcommand{\Cat}{\mathbb{Cat}}
\newcommand{\Hask}{\mathbb{Hask}}
\newcommand{\lim}{\mathrm{lim}\ }
\newcommand{\funcat}[1]{\left[\cat{#1}\right]}
\newcommand{\natsq}[6]{
\begin{matrix}
& #2\block{#4} & \overset{#2\block{#6}}\longrightarrow & #2\block{#5} & \\
{#1}_{#4} \hspace{-1.5em} &\downarrow & & \downarrow & \hspace{-1.5em} {#1}_{#5}\\
& #3\block{#4} & \underset{#3\block{#6}}\longrightarrow & #3\block{#5} & \\
\end{matrix}
}
\newcommand{\comtri}[6]{
\begin{matrix}
#1 & \overset{#4}\longrightarrow & #2 & \\
#6 \hspace{-1em} & \searrow & \downarrow & \hspace{-1em} #5 \\
& & #3 &
\end{matrix}
}
\newcommand{\natism}[6]{
\begin{matrix}
& #2\block{#4} & \overset{#2\block{#6}}\longrightarrow & #2\block{#5} & \\
{#1}_{#4} \hspace{-1.5em} &\downarrow \uparrow & & \downarrow \uparrow & \hspace{-1.5em} {#1}_{#5}\\
& #3\block{#4} & \underset{#3\block{#6}}\longrightarrow & #3\block{#5} & \\
\end{matrix}
}
\newcommand{\cone}[1]{\mathcal{#1}}
$$
Vicon Nexus
A few notes on using Vicon Nexus for biomechanics.
Good Practice
- 1 session per marker-set: if marker arrached/dropped, use another
session
- stick to the standard plugin-gait marker set as much as possible
(TODO marker image)
- don’t forget to write down the subject mass in session/subject
notes, or read it from the force plates if available: you’ll need it
later!
- you may skip redundant markers (e.g LUPA/RUPA/RBAK/RFRM/LFRM…) but
make sure you have all the joint markers
Subject Preparation
- pick the session where you have the cleanest set of markers
- create a new subject from the full-body plugin-gait template
- if you lack markers, detach them from the marker set in the subject
you just created
- usual suspects include LTIB, RTIB, RFRM, LFRM and RBAK, maybe T10
if you use a backpack
- enter subject mass in the subject properties
- don’t forget to save your subject!
Subject Calibration
- pick the cleanest trial: ideally it should have something like a
t-pose, or close, then find the best frame.
- you might want to try auto-labeling here, but it never really worked for me
- if auto-labeling fails, manually label the markers in this frame
- select the “plugin-gait” static pipeline, check the “processing
static subject calibration”, and run it
- save your subject!
Auto-Labeling
- in the data-management plane, mark all the trials in this session
- in the batch processing toolbox, run the reconstruct and label
- you may also want to run the “auto-intelligent gap fill” if your
captures were a bit messy
Region of Interest
- for each capture, adjust the region of interest, right click and
“zoom to region of interest”
- save the trial
- cleanup the remaining artifacts (fill gaps, etc…)
Other Sessions
note: this assumes a (reasonable) subset of the markers used in the
cleanest session
- load the subject file from the previous (cleanest) session
- save the subject
- select all the trials in this session
- run the “reconstruct and label”, then “auto-intelligent gap-fil”
Trajectory Swap
sometimes the labeling is confused and two trajectories swap with each other
each time you try to label one. in this case, switch labeling mode to
“forward/backward” instead of “whole” and fill the gap.
Missing Markers
- if some markers were absent/invisible during a trial, you may get
away by running the ‘kinematic fit’ pipeline (but it’s unclear how
to export the computed trajectories if there where no holes)
I MESSED UP! WAT DO?!?!!
- right-click on the timeline, zoom-to-trial, reset start/end time,
then run reconstruct or recontruct/label