with (5.21) allows us to conclude that for any
$(x,y)\in\mathbb{B}_{\hat{\varepsilon}}({\bar{x}},\bar{y})$ there is a pair
$(s,y_{s})$ satisfying (1.5), (2.9), and the estimate

$\|{s}-x\|+\|y_{s}-y\|\leq 2\hat{c}\kappa{\rm dist}((x,y),{\Upsilon}(0,0)),$

which confirms the validity of assumption (b) in Theorem 2.1.

Finally, to justify assumption (c) in Theorem 2.1, pick the positive constant
$\bar{\rho}$ from Proposition 5.4, take any
$(\tilde{x},\tilde{y})\in\mathbb{B}_{\hat{\varepsilon}}({\bar{x}},\bar{y})$,
any $(x,y)\in{\bf X}\times{\bf Y}$ with
$\|(x,y)-(\tilde{x},\tilde{y})\|\leq\hat{c}\,{\rm
dist}((x,y),{\Upsilon}(0,0))$, and any $\rho\geq\bar{\rho}$. Choose also the
tolerance parameter $\epsilon$ such that $\epsilon=o(r(x,y))$. For any
$(w_{1},w_{2})\in\Psi(x,y)-{\cal A}(x,y,\tilde{x},\tilde{y},\epsilon,\rho)$,
where $\Psi$ and ${\cal A}$ are taken from (2.10) and (2.11), we find
$b\in\mathbb{B}$ such that

$\displaystyle\|(w_{1},w_{2})\|$ $\displaystyle=\|(\epsilon
b,\rho^{-1}(y-\tilde{y})\|\leq\epsilon+\rho^{-1}\|y-\tilde{y}\|$
$\displaystyle\leq o(r(x,y))+\rho^{-1}\hat{c}\,{\rm
dist}((x,y),{\Upsilon}(0,0))$
$\displaystyle=\frac{o(r(x,y))}{r(x,y)}r(x,y)+\rho^{-1}\hat{c}\,{\rm
dist}((x,y),{\Upsilon}(0,0))$
$\displaystyle\leq\frac{o(r(x,y))}{r(x,y)}\kappa\big{(}\|x-{\bar{x}}\|+{\rm
dist}(y,M_{{\bar{x}},\psi}(0,0))\big{)}+\rho^{-1}\hat{c}\,{\rm
dist}((x,y),{\Upsilon}(0,0))$
$\displaystyle\leq\frac{o(r(x,y))}{r(x,y)}2\kappa\big{(}{\rm
dist}((x,y),\\{{\bar{x}}\\}\times
M_{{\bar{x}},\psi}(0,0))\big{)}+\rho^{-1}\hat{c}\,{\rm
dist}((x,y),{\Upsilon}(0,0))$
$\displaystyle=\big{(}\frac{2\kappa\,o(r(x,y))}{r(x,y)}+\rho^{-1}\hat{c}\big{)}{\rm
dist}((x,y),{\Upsilon}(0,0)),$

where the second inequality results from (5.20) and the last equality comes
from (5.21). Defining the function $\omega:{\bf X}\times{\bf Y}\times{\bf
X}\times{\bf Y}\times(0,\infty)\to{\bf R}_{+}$ by
$\omega(x,y,\tilde{x},\tilde{y},\rho)={2\kappa\,o(r(x,y))}/{r(x,y)}+\rho^{-1}\hat{c}$,
we obtain the second estimate in assumption (c) in Theorem 2.1. Since
$\omega(x,y,\tilde{x},\tilde{y},\rho)\to 0$ as
$(x,y,\tilde{x},\tilde{y},\rho)\to({\bar{x}},\bar{y},{\bar{x}},\bar{y},\infty)$,
the first estimate in assumption (c) also holds. Appealing now to the latter
theorem proves all of convergence claims and hence completes the proof.

We close this section by commenting on the established local convergence in
Theorem 5.6. For the case of NLPs, this result reduces to [9, Theorem 3.4],
where such a result was achieved for the first time for NLPs. Note that the
calmness of multiplier mapping, assumed in Theorem 5.6, is automatically
satisfied by Proposition 3.8 for NLPs. When g in (1.1) is CPLQ, Theorem 5.6
covers our recent result in [12, Theorem 5.7]. When
$g=\delta_{\bf{S}^{n}_{+}}$ and $\Theta=\bf{S}^{n}$ in (1.1), which allow us
to cover SDPs, it was recently shown in [35, Theorem 2] that if the multiplier
$\bar{y}$ is taken from the relative interior of the set of Lagrange
multipliers and the SOSC is satisfied, the inexact version of the ALM is
Q-linearly convergent. Using a stronger version of the SOSC, the authors in
[36] obtained the R-linear convergence for the primal sequence and Q-linear
convergence for the dual sequence of the ALM without assuming the strict
complementarity condition. Theorem 5.6 improves all these results for
nonlinear SDPs by demonstrating that the SOSC alone suffices to achieve the
Q-linear convergence of the primal-dual sequence for the inexact ALM. Finally,
we should add that local convergence of the ALM was established recently in
[29, Theorem 3.1] under the strong variational convexity, a condition that is
equivalent to the strong second-order condition for NLPs, for the composite
optimization problem in (1.1) with $\Theta={\bf X}$. First, our analysis uses
a weaker version of the SOSC. Indeed, the strong version of the SOSC amounts
to assuming the classical SOSC in a neighborhood of a solution to the KKT
system, which is much stronger than the version we used in this paper. Second,
while we establish Q-linear convergence of the primal-dual sequence from the
ALM, the latter result in [29] only presents the R-linear convergence of the
primal sequence and Q-linear convergence of the dual sequence from this
method. It is not hard to see that our primal-dual Q-linear convergence
implies the R-linear convergence of the primal and dual sequences in the ALM.

##  6 Appendix

In this section, we aim to justify two independent results from our local
convergence analysis of the ALM, which play an important role in the process
of justifying some results in Sections 3 and 4. We begin with a useful
characterization of the outer Lipschitzian property of the multiplier mapping
$M_{\bar{u},g}$ from (3.8) via the dual condition (3.10).

######  Proposition 6.1.

Assume that $g:{\bf Y}\to\overline{{\bf R}}$ is ${\cal C}^{2}$-decomposable at
$\bar{u}\in{\bf Y}$ with representation (3.6) and that $\bar{y}\in\partial
g(\bar{u})$ and $\bar{\mu}\in M_{\bar{u},g}(\bar{y},0)$, where $M_{\bar{u},g}$
is defined by (3.8). Then the following properties are equivalent.

  1. (a)

The set of Lagrange multipliers $M_{\bar{u},g}(\bar{y},0)$ is a singleton and
there exist constants $\ell\geq 0$ and $\varepsilon>0$ ensuring the error
bound estimate

$\|\mu-\bar{\mu}\|\leq\ell\big{(}\|\nabla\Xi(\bar{u})^{*}\mu-\bar{y}\|+{\rm
dist}\big{(}\Xi(\bar{u}),(\partial\vartheta)^{-1}(\mu)\big{)}\big{)}\;\mbox{
for all }\;\mu\in\mathbb{B}_{\varepsilon}(\bar{\mu}).$

  2. (b)

The dual condition (3.10) is satisfied.

  3. (c)

There exist positive numbers $\gamma$ and $\kappa$ such that the inclusion

$M_{\bar{u},g}(y,w)\cap\mathbb{B}_{\gamma}(\bar{\mu})\subset\\{\bar{\mu}\\}+\kappa(\|y-\bar{y}\|+\|w\|)\mathbb{B}\;\mbox{
for all }\;(y,w)\in\mathbb{B}_{\gamma}(\bar{y},0)$

holds.

  4. (d)

There exist positive numbers $\gamma$ and $\kappa$ such that the inclusion

$M_{\bar{u},g}(y,w)\subset\\{\bar{\mu}\\}+\kappa(\|y-\bar{y}\|+\|w\|)\mathbb{B}\;\mbox{
for all }\;(y,w)\in\mathbb{B}_{\gamma}(\bar{y},0)$

holds.

[Proof. ]The equivalence of (a), (b), and (c) was established in [23, Theorem
4.1] when the convex function $\vartheta$ was the indicator function of a
convex set. A closer look into the proof of the latter result shows that a
similar argument works for $\vartheta$. Clearly, we have the implication
(d)$\implies$(c). Assume now that (b) holds. To prove (d), suppose by
contradiction that there exist sequences $(y^{k},w^{k})\to(\bar{y},0)$ as
$k\to\infty$ and the corresponding multipliers $\mu^{k}\in
M_{\bar{u},g}(y^{k},w^{k})$ satisfying the inequality

$\|\mu^{k}-\bar{\mu}\|>k(\|y^{k}-\bar{y}\|+\|w^{k}\|)\;\mbox{ for all
}\;k\in{\rm I\\!N}.$ (6.1)

Note that the equivalence of (a) and (b) yields
$M_{\bar{u},g}(\bar{y},0)=\\{\bar{\mu}\\}$. Set
$t_{k}:=\|\mu^{k}-\bar{\mu}\|$. We claim that the sequence
$\\{\mu^{k}{\\}_{k\in{\rm I\\!N}}}$ is bounded. Indeed, it follows from [20,
page 138] that $\vartheta$ is twice epi-differentiable at $\Xi({\bar{x}})$ for
$\bar{\mu}$ and its second subderivative has a representation in the form

${\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})=\delta_{K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})}.$
(6.2)

Employing [30, Theorem 13.40], we arrive at

$D(\partial\vartheta)(\Xi(\bar{u}),\bar{\mu})(w)=\partial\big{(}\hbox{${1\over
2}$}{\rm d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})\big{)}(w)\quad\mbox{for
all}\;\;w\in K_{\vartheta}(\Xi(\bar{u}),\bar{\mu}).$ (6.3)

In particular, this tells us that

$D(\partial\vartheta)(\Xi(\bar{u}),\bar{\mu})(0)=\partial\big{(}\hbox{${1\over
2}$}{\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})\big{)}(0)=N_{K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})}(0)=K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})^{*}.$
(6.4)

Take $w\in K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$ and observe that $w\in{\rm
dom}\,{\rm d}\vartheta(\Xi(\bar{u}))$. Since the inclusion ${\rm dom}\,{\rm
d}\vartheta(\Xi(\bar{u}))\subset T_{{\rm dom}\,\vartheta}(\Xi(\bar{u}))$
always holds, we arrive at $K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})\subset
T_{{\rm dom}\,\vartheta}(\Xi(\bar{u}))$. This, coupled with (6.4), leads us to

$N_{{\rm dom}\,\vartheta}(\Xi(\bar{u}))\subset
K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})^{*}=D(\partial\vartheta)(\Xi(\bar{u}),\bar{\mu})(0),$
(6.5)

which implies via (3.10) that the BCQ in (3.9) holds. To justify the
boundedness of $\\{\mu^{k}{\\}_{k\in{\rm I\\!N}}}$, assume by contradiction
that it is unbounded. In this case, we can pass to a subsequence if necessary
to ensure that the sequence $\\{\mu^{k}/\|\mu^{k}\|{\\}_{k\in{\rm I\\!N}}}$
converges to some $\xi$ that $\|\xi\|=1$. Since $\mu^{k}\in
M_{\bar{u},g}(y^{k},w^{k})$, it follows from (3.8) that
$\nabla\Xi(\bar{u})^{*}\mu^{k}=y^{k}$, which in turn implies that $\xi\in{\rm
ker}\,\nabla\Xi(\bar{u})^{*}$. Moreover, we have
$\mu^{k}\in\partial\vartheta(\Xi(\bar{u})+w^{k})\subset\partial\vartheta(0)$,
by Proposition 3.4(b). Take $w\in{\rm dom}\,\vartheta$ and conclude via the
definition of the subdifferential of convex functions that

$\langle\mu^{k},w\rangle\leq\vartheta(w)-\vartheta(0)=\vartheta(w).$

Dividing both sides by $\|\mu^{k}\|$ and passing to the limit, we obtain
$\langle\mu,w\rangle\leq 0$ for any $w\in{\rm dom}\,\vartheta$. This clearly
tells us that $\xi\in N_{{\rm dom}\,\vartheta}(0)$, which together with
$\xi\in{\rm ker}\,\nabla\Xi(\bar{u})^{*}$ contradicts (3.9) and hence proves
the boundedness of $\\{\mu^{k}{\\}_{k\in{\rm I\\!N}}}$. Recall that
$M_{\bar{u},g}(\bar{y},0)=\\{\bar{\mu}\\}$. Since $\\{\mu^{k}{\\}_{k\in{\rm
I\\!N}}}$ is bounded, we can assume that it is convergent by passing to a
subsequence if necessary. Thus, it follows from $\mu^{k}\in
M_{\bar{u},g}(y^{k},w^{k})$ and $M_{\bar{u},g}(\bar{y},0)=\\{\bar{\mu}\\}$
that $\mu^{k}\to\bar{\mu}$. This immediately implies that
$t_{k}=\|\mu^{k}-\bar{\mu}\|\to 0$. Observe then from (6.1) that
$\|y^{k}-\bar{y}\|=o(t_{k})$ and $\|w^{k}\|=o(t_{k})$. Set
$\eta^{k}:=(\mu^{k}-\bar{\mu})/t_{k}$ and assume without loss of generality
that $\eta^{k}\to\eta$ with $\|\eta\|=1$. Thus, we have
$\eta^{k}\in(\partial\vartheta(\Xi(\bar{u})+t_{k}w^{k}/t_{k})-\bar{\mu})/{t_{k}}$.
Passing to the limit as $k\to\infty$ leads us to $\eta\in
D(\partial\vartheta)(\Xi(\bar{u}),\bar{\mu})(0)$, due to the fact that
$w^{k}=o(t_{k})$. Moreover, we have
$\nabla\Xi(\bar{u})^{*}(\mu^{k}-\bar{\mu})=y^{k}-\bar{y}$, which together with
$y^{k}-\bar{y}=o(t_{k})$ results in $\eta\in{\rm
ker}\,\nabla\Xi(\bar{u})^{*}$. The latter together contradict (3.10), since
$\eta\neq 0$, and thus proves (d).

Recall from [30, Definition 13.65] that a proper function $f:{\bf
X}\to\overline{{\bf R}}$ is parabolically regular at ${\bar{x}}\in{\rm
dom}\,f$ for $\bar{v}\in\partial f({\bar{x}})$ if for any $w$ such that ${\rm
d}^{2}f(\bar{x},\bar{v})(w)<\infty$, there exist, among the sequences
$t_{k}\searrow 0$ and $w_{k}\to w$ with
$\Delta_{t_{k}}^{2}f(\bar{x},\bar{v})(w_{k})\to{\rm
d}^{2}f(\bar{x},\bar{v})(w)$, those with the additional property that
$\limsup_{k\to\infty}{\|w_{k}-w\|}/{t_{k}}<\infty.$ Parabolic regularity was
recently studied extensively in [21, 22] for different classes of sets and
functions. Below, we show that ${\cal C}^{2}$-decomposable functions enjoy
this property when the dual condition in (3.10) is satisfied. To this end, we
need to recall the concept of parabolically epi-differentiability of functions
from [30, Definition 13.59]. Given $f:{\bf X}\to\overline{{\bf R}}$,
${\bar{x}}\in{\bf X}$ with $f({\bar{x}})$ finite, and $w\in{\bf X}$ with ${\rm
d}f({\bar{x}})(w)$ finite, the parabolic subderivative of $f$ at ${\bar{x}}$
for $w$ with respect to $z$ is defined by

${\rm
d}^{2}f(\bar{x})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z)=\liminf_{\begin{subarray}{c}t\searrow
0\\\ z^{\prime}\to
z\end{subarray}}\Delta^{2}_{t}f(\bar{x})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z^{\prime}),$

where
$\Delta^{2}_{t}f(\bar{x})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z^{\prime}):=(f({\bar{x}}+tw+\frac{1}{2}t^{2}z^{\prime})-f({\bar{x}})-t{\rm
d}f({\bar{x}})(w))/{\frac{1}{2}t^{2}}$. The function $f$ is called
parabolically epi-differentiable at ${\bar{x}}$ for $w$ if

${\rm dom}\,{\rm
d}^{2}f({\bar{x}})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;\cdot)=\big{\\{}z\in{\bf
X}|\,{\rm
d}^{2}f({\bar{x}})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z)<\infty\big{\\}}\neq\emptyset,$

and for every $z\in{\bf X}$ and every sequence $t_{k}\searrow 0$ there exists
a sequences $z^{k}\to z$ such that
$\Delta^{2}_{t_{k}}f(\bar{x})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z^{k})\to{\rm
d}^{2}f(\bar{x})(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z)$.

######  Theorem 6.2.

Assume that $g:{\bf Y}\to\overline{{\bf R}}$ is ${\cal C}^{2}$-decomposable at
$\bar{u}\in{\bf Y}$ with representation (3.6) and that $\bar{y}\in\partial
g(\bar{u})$, $\bar{\mu}\in M_{\bar{u},g}(\bar{y},0)$, where $M_{\bar{u},g}$ is
defined by (3.8), and the dual condition in (3.10) is satisfied. Then, the
following properties hold.

  1. (a)

The function $g$ is parabolically regular at $\bar{u}$ for $\bar{y}$ and its
second subderivative can be calculated by

${\rm
d}^{2}g(\bar{u},\bar{y})(w)=\langle\bar{\mu},\nabla^{2}\Xi(\bar{u})(w,w)\rangle+{\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})(\nabla\Xi(\bar{u})w)\quad\textrm{ for
all}\;\;w\in{\bf Y}.$

  2. (b)

The mapping $\partial g$ is proto-differentiable at $\bar{u}$ for $\bar{y}$
and its proto-derivative can be calculated by

$D(\partial
g)(\bar{u},\bar{y})(w)=\nabla^{2}\langle\bar{\mu},\Xi\rangle({\bar{x}})w+\nabla\Xi(\bar{u})^{*}D(\partial\vartheta)(\Xi(\bar{u}),\bar{y})(\nabla\Xi(\bar{u})w)\quad\textrm{
for all}\;\;w\in{\bf Y}.$

[Proof. ]To prove (a), we first show that $\vartheta$ is parabolically regular
at $\Xi(\bar{u})=0$ for $\bar{\mu}$, where $\vartheta$ and $\Xi$ are taken
from (3.6). To this end, take $w\in{\bf Z}$ such that ${\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})(w)<\infty$, which via (6.2) reads as
$w\in K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$. By the sublinearity of
$\vartheta$, we can conclude from the latter inclusion that
$\langle\bar{\mu},w\rangle={\rm d}\vartheta(\Xi(\bar{u}))(w)=\vartheta(w)$.
This yields

$\lim_{t\searrow
0}\Delta^{2}_{t}\vartheta(\Xi(\bar{u}),\bar{\mu})(w)=\lim_{t\searrow
0}\frac{t(\vartheta(w)-\langle\bar{\mu},w\rangle)}{\tfrac{1}{2}t^{2}}=0={\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})(w).$

Take $t_{k}\searrow 0$ and set $w^{k}:=w$ for any $k\in{\rm I\\!N}$. According
to the above relationships, we have
$\Delta^{2}_{t_{k}}\vartheta(\Xi(\bar{u}),\bar{\mu})(w^{k})\to{\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})(w)$, which proves that $\vartheta$ is
parabolically regular at $\Xi(\bar{u})$ for $\bar{\mu}$. We are going next to
show $\vartheta$ is parabolically epi-differentiable at $\Xi(\bar{u})$ for any
$w\in K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$. To achieve it, take $w\in
K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$ and conclude for any $z\in{\bf Z}$ that

$\Delta^{2}_{t}\vartheta(\Xi(\bar{u}))(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z)=\frac{\vartheta(tw+\tfrac{1}{2}t^{2}z)-t{\rm
d}\vartheta(\Xi(\bar{u}))(w)}{\tfrac{1}{2}t^{2}}=\frac{\vartheta(w+\tfrac{1}{2}tz)-\vartheta(w)}{\tfrac{1}{2}t}=\Delta_{t/2}\vartheta(w)(z).$
(6.6)

Since $\vartheta$ is proper and convex, it follows from [30, Example 7.27]
that it is always epi-differentiable in the sense of [30, Definition 7.23].
Thus, for any $z\in{\bf Z}$ and $t_{k}\searrow 0$, there exists $z^{k}\to z$
such that $\Delta_{t_{k}}\vartheta(w)(z^{k})\to{\rm d}\vartheta(w)(z)$.
Combining this with (6.6) tells us that for any $z\in{\bf Z}$ and
$t_{k}\searrow 0$, we can find $z^{k}\to z$ such that
$\Delta^{2}_{t_{k}}\vartheta(\Xi(\bar{u}))(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z^{k})\to{\rm
d}^{2}\vartheta(\Xi(\bar{u}))(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z)$.
Moreover, it is not hard to see that ${\rm d}\vartheta(w)(0)<\infty$. This,
coupled with (6.6), leads us to $0\in{\rm dom}\,{\rm
d}^{2}\vartheta(\Xi(\bar{u}))(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;\cdot)$,
since

${\rm dom}\,{\rm
d}^{2}\vartheta(\Xi(\bar{u}))(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;\cdot)=\big{\\{}z\in{\bf
Z}|\;{\rm
d}^{2}\vartheta(\Xi(\bar{u}))(w\;\rule[-1.13809pt]{0.56905pt}{7.68236pt}\;z)<\infty\big{\\}}=\big{\\{}z\in{\bf
Z}|\;{\rm d}\vartheta(w)(z)<\infty\big{\\}}.$

These demonstrate that $\vartheta$ is parabolically epi-differentiable at
$\Xi(\bar{u})$ for $w\in K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$.

From the proof of Proposition 6.1, we know that the dual condition in (3.10)
implies the BCQ condition in (3.9) and uniqueness of the Lagrange multiplier
$\bar{\mu}$ in $M_{\bar{u},g}(\bar{y},0)$. Appealing now to [22, Theorem 5.4
and Remark 5.3], we obtain both assertions in (a). To prove (b), observe from
(6.2) that ${\rm dom}\,{\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})=K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$
and from (6.4) that the dual condition in (3.10) can be equivalently expressed
as

$N_{K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})}(0)\cap{\rm
ker}\,\nabla\Xi(\bar{u})^{*}=\\{0\\}.$

Thus, it follows from the chain rule for subdifferentials from [30, Theorem
10.6] that, for any $w\in{\bf Y}$ such that $\nabla\Xi(\bar{u})w\in
K_{\vartheta}(\Xi(\bar{u}),\bar{\mu})$, we have

$\displaystyle\partial_{w}\big{(}\hbox{${1\over 2}$}{\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})\big{)}(\nabla\Xi(\bar{u})w)$
$\displaystyle=\nabla\Xi(\bar{u})^{*}\partial\big{(}\hbox{${1\over 2}$}{\rm
d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})\big{)}(\nabla\Xi(\bar{u})w)$
$\displaystyle=\nabla\Xi(\bar{u})^{*}D(\partial\vartheta)(\Xi(\bar{u}),\bar{\mu})(\nabla\Xi(\bar{u})w),$

where the last equality comes from (6.3). This, coupled with [22, Corollary
3.9] and the formula for ${\rm d}^{2}g(\bar{u},\bar{y})$ from (a), implies
that $\partial g$ is proto-differentiable at $\bar{u}$ for $\bar{y}$ and that

$\displaystyle D(\partial g)(\bar{u},\bar{y})(w)$
$\displaystyle=\partial\big{(}\hbox{${1\over 2}$}{\rm
d}^{2}g(\bar{u},\bar{y})\big{)}(w)=\hbox{${1\over
2}$}\nabla_{w}\langle\bar{\mu},\nabla^{2}\Xi(\bar{u})(w,w)\rangle+\partial_{w}\big{(}\hbox{${1\over
2}$}{\rm d}^{2}\vartheta(\Xi(\bar{u}),\bar{\mu})\big{)}(\nabla\Xi(\bar{u})w)$
$\displaystyle=\nabla^{2}\langle\bar{\mu},\Xi\rangle({\bar{x}})w+\nabla\Xi(\bar{u})^{*}D(\partial\vartheta)(\Xi(\bar{u}),\bar{y})(\nabla\Xi(\bar{u})w),$

for all $w\in{\bf Y}$, which proves (b) and hence ends the proof.

## References

  * [1] Andreani, R., Birgin, E.G., Martínez, J.M., Schuverdt, M.L.: On augmented Lagrangian methods with general lower-level constraints. SIAM J. Optim. 18, 1286–1309 (2007)
  * [2] Aragón Artacho, F.J., Geoffroy, M.H.: Characterization of metric regularity of subdifferentials. J. Convex Anal. 15, 365–380 (2008)
  * [3] Bauschke, H.H., Borwein, J.M., Li, W.: Strong conical hull intersection property, bounded linear regularity, Jameson’s property (G), and error bounds in convex optimization. Math. Program. 86, 135–160 (1999)
  * [4] Birgin, E.G., Haeser. G., Ramos, A.: Augmented Lagrangians with constrained subproblems and convergence to second-order stationary points. Comput. Optim. Appl. 69, 51–75 (2018)
  * [5] Bonnans, J.F., Shapiro, A.: Perturbation Analysis of Optimization Problems. Springer, New York (2000)
  * [6] Borwein, J.M., Lewis A.S.: Convex Analysis and Nonlinear Optimization: Theory and Examples. 2nd edition, Springer-Verlag, New York (2006)
  * [7] Chieu, N.H., Hien, L.V., Nghia, T.T.A., Tuan, H.A.: Quadratic growth and strong metric subregularity of the subdifferential via subgradient graphical derivative. SIAM J. Optim. 31, 545–568 (2021)
  * [8] Dontchev A.L., Rockafellar R.T.: Implicit Functions and Solution Mappings: A View from Variational Analysis. 2nd edition, Springer, New York (2014)
  * [9] Fernández, D., Solodov, M.V.: Local convergence of exact and inexact augmented Lagrangian methods under the second-order sufficient optimality condition. SIAM J. Optim. 22, 384–407 (2012)
  * [10] Fischer, A.: Local behavior of an iterative framework for generalized equations with nonisolated solutions. Math. Program. 94, 91–124 (2002)
  * [11] Hang, N.T.V., Mordukhovich, B.S., Sarabi, M.E.: Second-order variational analysis in second-order cone programming. Math. Program. 180, 75–106 (2020)
  * [12] Hang, N.T.V., Sarabi, M.E.: Local convergence analysis of augmented Lagrangian methods for piecewise linear-quadratic composite optimization problems. SIAM J. Optim. 31, 2665–2694 (2021)
  * [13] Hestenes, M.R.: Multiplier and gradient methods. J. Optim. Theory Appl. 4, 303–320 (1969)
  * [14] Ioffe, A.D.: Variational Analysis of Regular Mappings: Theory and Applications. Springer Cham (2017)
  * [15] Izmailov, A.F., Kurennoy, A.S.: Abstract Newtonian frameworks and their applications. SIAM J. Optim. 23, 2369–2396 (2013)
  * [16] Izmailov, A.F., Kurennoy, A.S., Solodov, M.V.: Local convergence of the method of multipliers for variational and optimization problems under the noncriticality assumption. Comput. Optim. Appl. 60, 111–140 (2015)
  * [17] Izmailov, A.F., Solodov, M.V.: Newton-Type Methods for Optimization and Variational Problems. Springer Cham, Switzerland (2014)
  * [18] Kan, C., Song, W.: Augmented Lagrangian duality for composite optimization problems. J. Optim. Theory Appl. 165, 763–784 (2015)
  * [19] Kanzow, C., Steck, D.: Improved local convergence results for augmented Lagrangian methods in $\mathcal{C}^{2}$-cone reducible constrained optimization. Math. Program. 177, 425–438 (2019)
  * [20] Milzarek, A.: Numerical Methods and Second Order Theory for Nonsmooth Problems. Ph.D. Dissertation, University of Munich (2016)
  * [21] Mohammadi, A., Mordukhovich, B.S., Sarabi, M.E.: Parabolic regularity via geometric variational analysis. Trans. Amer. Soc. 374, 1711–1763 (2021)
  * [22] Mohammadi, A., Sarabi, M.E.: Twice epi-differentiability of extended-real-valued functions with applications in composite optimization. SIAM J. Optim. 30, 2379–2409 (2020)
  * [23] Mordukhovich, B.S., Sarabi, M.E.: Criticality of Lagrange multipliers in variational systems. SIAM J. Optim. 29, 1524–1557 (2019)
  * [24] Poliquin, R.A., Rockafellar, R.T.: Prox-regular functions in variational analysis. Trans. Amer. Math. Soc. 348, 1805–1838 (1996)
  * [25] Powell, M.J.D.: A method for nonlinear constraints in minimization problems. In: Fletcher, R. (ed.) Optimization, pp. 283–298. Academic Press, New York (1969)
  * [26] Robinson, S.M.: Some continuity properties of polyhedral multifunctions. Math. Program. Stud. 14, 206–214, (1981)
  * [27] Rockafellar, R.T.: A dual approach to solving nonlinear programming problems by unconstrained optimization. Math. Program. 5, 354–373 (1973)
  * [28] Rockafellar, R.T.: Augmented Lagrangians and hidden convexity in sufficient conditions for local optimality. Math. Program. 198, 159–194 (2023)
  * [29] Rockafellar, R.T.: Convergence of augmented Lagrangian methods in extensions beyond nonlinear programming. Math. Program. 199, 375–420 (2023)
  * [30] Rockafellar, R.T., Wets, R.J-B.: Variational Analysis. Springer-Verlag Berlin, Heidelberg (1998)
  * [31] Sarabi, M.E.: Primal superlinear convergence of SQP methods for piecewise linear-quadratic composite optimization problems. Set-Valued Var. Anal. 30, 1–37 (2022)
  * [32] Shapiro, A.: On a class of nonsmooth composite functions. Math. Oper. Res. 28, 677–692 (2003)
  * [33] Shapiro, A., Sun, J.: Some properties of the augmented Lagrangian in cone constrained optimization. Math. Oper. Res. 29, 479–491 (2004)
  * [34] Sun, D., Sun, J., Zhang, L.: The rate of convergence of the augmented Lagrangian method for nonlinear semidefinite programming. Math. Program. 114, 349–391 (2008)
  * [35] Wang, S., Ding, C.: Local convergence analysis of augmented Lagrangian method for nonlinear semidefinite programming. Comput. Optim. Appl. Doi.org/10.1007/s10589-023-00520-0
  * [36] Wang, S., Ding, C., Zhang, Y., Zhao, X.: Strong variational sufficiency for nonlinear semidefinite programming and its implications. Arxiv preprint arXiv:2210.04448 (2022)


This article has been removed by arXiv administrators due to a copyright claim
by a 3rd party [2022-03-01]


# Hyperspectral Image Denoising Based On Multi-Stream
Denoising Network

###### Abstract

Hyperspectral images (HSIs) have been widely applied in many fields, such as
military, agriculture, and environment monitoring. Nevertheless, HSIs commonly
suffer from various types of noise during acquisition. Therefore, denoising is
critical for HSI analysis and applications. In this paper, we propose a novel
blind denoising method for HSIs based on Multi-Stream Denoising Network
(MSDNet). Our network consists of the noise estimation subnetwork and
denoising subnetwork. In the noise estimation subnetwork, a multiscale fusion
module is designed to capture the noise from different scales. Then, the
denoising subnetwork is utilized to obtain the final denoising image. The
proposed MSDNet can obtain robust noise level estimation, which is capable of
improving the performance of HSI denoising. Extensive experiments on HSI
dataset demonstrate that the proposed method outperforms four closely related
methods.

Index Terms—  Hyperspectral image, image denoising, multi-scale fusion, noise
estimation.

##  1 Introduction

Hyperspectral images (HSIs) are typically composed of many spectral channels
ranging from visible spectrum to infrared spectrum. HSIs can simultaneously
acquire both spatial and spectral information, which provide richer scene
information than other data sources. Nevertheless, HSIs are often affected by
various types of noise because of imaging equipment and external environment
in the process of acquisition, conversion, transmission, compression, and
storage. Noise not only affects the visualization of HSIs, but also limits the
subsequent analysis and processing of HSIs. Therefore, it is critical to
remove the noise in HSIs before HSI analysis and processing.

To remove the noise interference, researchers have proposed many methods for
HSIs denoising [1] [2]. Band -by-band denoising strategies are usually
followed in traditional HSI denoising methods. Each band is considered as one
2-D image, such as block matching and 3-D filtering (BM3D) [3] and weighted
nuclear norm minimization (WNNM) [4]. However, these strategies generally lead
to large spectral distortions due to disregarding the spectral information.
Different from these methods, block matching and 4-D filtering (BM4D) [5]
algorithm is 3-D image denoising method suitable for HSIs. However, it fails
to take into account the inconsistency of the noise distribution between
different bands. Therefore, BM4D does not perform well in the spectral domain.

Fig. 1: Framework of the proposed image denoising method

Recently, deep learning has achieved great success in image denoising due to
its powerful capabilities of feature learning and nonlinear mapping. Image
denoising models based on convolution neural networks (CNNs) develop rapidly.
However, most of these methods remove the noise based on a specific noise
level, and it is difficult to achieve the promising performance once the noise
level changes. We often obtains the over-denoising or under-denoising results.
To address the problem, blind denoising techniques are proposed. On the one
hand, the denoising model is optimized by a very large training dataset which
containing noisy images with various noise levels. However, it may be very
tough for the network to learn all noise types at the same time. On the other
hand, the noise estimation or noised label is introduced to guide the
denoising process. Zhang et al. [6] proposed a fast and flexible denoising
network (FFDNet), which exhibited a relevant performance improvement in image
denoising. FFDNet removes the complex noise by combining noisy image
estimation and noise level estimation. However, unspecified noise level still
deteriorates the performance. Therefore, it is challenging to design a
generalized denoising model.

In this paper, we propose a blind denoising method for HSIs based on Multi-
Stream Denoising Network (MSDNet), which can estimate the noise level
autonomously instead of taking noise level as input. In MSDNet, noise
estimation subnetwork is well-designed to produce the noise estimation, and
then the denoising subnetwork is introduced to generate the final result. In
particular, a multi-scale fusion module is developed to capture the noise at
different scales in the noise estimation subnetwork. Experiments conducted on
the HSIs dataset demonstrate that the proposed method is superior to other
closely related methods.

##  2 Methodology

The framework of the proposed method is illustrated in Fig.1. It consists of
two subnetworks: 1) noise estimation subnetwork; 2) denoising subnetwork. In
the remainder of this section, more details about each subnetwork and the loss
function will be described.

###  2.1 Noise Estimation Subnetwork

Fig. 2: Architecture of the multiscale module

To capture noise features, three multiscale modules with different kernel
sizes are employed. Fig.2 shows the architecture of multiscale module. Each
one consists of six blocks, and the output of each module can be defined as
follows:

$\textbf{M}_{i}=cat[B_{1},B_{2},\dots,B_{6}],$ (1)

where $M_{i},i=1,2,3$ denotes the $i$th multi-scale module, and
$B_{j},j=1,2,\dots,6$ denotes the $j$th block, and $cat(\cdot)$ is the
concatenate operator in the channel dimension.

As shown in Fig.1, the kernel sizes of the three multiscale modules are
$3\times 3$, $5\times 5$, and $7\times 7$, respectively. The outputs of three
multiscale modules are concatenated together for the next step. We use the
pyramid pooling module developed in [11] to further obtain the multiscale
description. In order to fuse multiscale features for noise estimation, we
concatenate four feature maps on the channel dimension to generate a feature
map $P$ :

$\textbf{P}=cat[f_{1},f_{2},f_{3},f_{4}],$ (2)

where $f_{1},f_{2},f_{3},f_{4}$ denote four feature maps.

Afterwards, aiming to learn the relationship between the channels of feature
maps, the attention mechanism is employed: Firstly, squeeze $P$ in the spatial
domain to generate a vector $V\in\mathbb{R}^{4C\times 1\times 1}$ by global
max pooling. Then, $V$ is fed into two fully-connected layers to generate the
weight vector $S$. Ultimately, channel-wise multiply is employed between the
feature map $P$ and weight vector $S$:

$\textbf{n}_{i}=f(P_{i},S_{i})\quad i=1,2,\dots,4C,$ (3)

where $n_{i}$ denotes the $i$th channel of noise level estimation $N$, and
$f(\cdot)$ refers to channel-wise multiply between feature
$P_{i}\in\mathbb{R}^{H\times W}$ and weight vector $S_{i}$ .

###  2.2 Denoising Subnetwork

In the denoising subnetwork, we employ a 16-layer UNet framework which takes
both noise level estimation and noisy image as input to get the denoised
image. All filter size of the network is $3\times 3$ and the convolution
layers are activated by ReLU function except the last one. The network obtains
the denoised image $D$ by learning the residual mapping of the noisy image $Y$
as follows:

$\textbf{D}=Y+f(Y,N;W_{unet}),$ (4)

where $W_{unet}$ denotes the network parameters of the denoising subnetwork.

Fig. 3: Denoising results at $10^{th}$ band of image under noise level
$\sigma=30$ on Pavia University dataset.

###  2.3 Loss Function

In this paper, feature extracting and denoising are in an end-to-end
framework. Thus, mean squared error (MSE) loss and perceptual loss are
employed as the basic loss function to guide the learning of the denoising
model.

The MSE loss is formulated as follows:

$\mathcal{L}_{M}=MSELoss(G,D)={\textstyle\frac{1}{CHW}}\sum_{t=1}^{CHW}{(G_{t}-D_{t})}^{2},$
(5)

where $G$ and $D$ denote the ground truth and the denoised image respectively,
$CHW$ denotes the number of pixels, $G_{t}$ and $D_{t}$ denote the ground
truth at pixel $t$ and the denoised image at pixel $t$ respectively.

Furthermore, the perceptual loss is formulated as follows:

$\mathcal{L}_{P}=\ell^{\phi,j}(G,D)=\frac{1}{C_{j}H_{j}W_{j}}{\parallel\phi_{j}(G)-\phi_{j}(D)\parallel}_{2}^{2},$
(6)

where $\phi_{j}(\cdot)$ denote the $j$th layer of VGG-19. Therefore, the
perceptual loss obtains more detailed information through the feature
reconstruction of CNN.

In addition, we exploit asymmetric loss as a noise estimation loss, which is
introduced from CBDNet [7] to measure the noise estimation. Over-denoising or
under-denoising are penalized by the asymmetric loss. The asymmetric loss is
formulated as follows:

$\mathcal{L}_{asymm}=\sum_{i}|\alpha-\mathbb{I}_{(N_{i}-N_{i}^{{}^{\prime}})<0}|\cdot(N_{i}-N_{i}^{{}^{\prime}})^{2},$
(7)

where ${\mathbb{I}}_{e}$ denotes the indicator function, $N_{i}$ and
$N_{i}^{{}^{\prime}}$ denote the noise level estimation at pixel $i$ and the
ground truth at pixel $i$, respectively. $\alpha$ is empirically set to 0.25.

To sum up, the total loss function is given by:

$\mathcal{L}={\mathcal{L}}_{M}+{\mathcal{L}}_{P}+\lambda_{asymm}{\mathcal{L}}_{asymm},$
(8)

where $\lambda_{asymm}$ denotes the parameters for the asymmetric loss.

##  3 Experiments and Analysis

###  3.1 Experimental Setup

We conduct the training process on the ICVL dataset, which is comprised of 201
images. The images in ICVL dataset were collected at $1392\times 1300$ spatial
resolution over 31 spectral channels. In order to expand the training dataset,
each training image was cropped into multiple patches of size $64\times
64\times 31$. Furthermore, we use Pavia Center dataset to fine-tune the model.
As for the testing part, we evaluate our model in Pavia University dataset.
These two datasets were acquired by the ROSIS sensor and after processing, the
size of Pavia Center image is $1096\times 715\times 102$ while the size of
Pavia University image is $610\times 340\times 103$.

The Adam optimizer with batch size of 64 is employed to optimize the proposed
method. The learning rate was initialized to $10^{-4}$ and we use a weight
decay of 0.0005. The network was trained with 100 epochs based on the above
settings. As for noise settings, the adding noise was referred as two cases:
1) adding AWGN with noise levels of 30, 50, 70; 2) randomly adding AWGN with
the noise level ranging from 10 to 70.

Table 1: Quantitative assessment results of different methods under several noise levels on Pavia University dataset. “Blind” means corrupted by Gaussian noise with unknown $\sigma$ at each band. Noise | Index |  Noisy |  BM4D |  TDL |  LRMR |  LRTV | Proposed
---|---|---|---|---|---|---|---
$\sigma$ = 30 | PSNR | 18.59 | 33.43 | 33.54 | 27.14 | 29.29 | 34.93
SSIM | 0.193 | 0.854 | 0.849 | 0.578 | 0.694 | 0.915
SAM | 0.875 | 0.173 | 0.152 | 0.407 | 0.326 | 0.102
$\sigma$ = 50 | PSNR | 14.16 | 31.70 | 31.81 | 24.01 | 26.25 | 32.46
SSIM | 0.083 | 0.784 | 0.788 | 0.436 | 0.531 | 0.874
SAM | 1.093 | 0.207 | 0.146 | 0.613 | 0.498 | 0.127
$\sigma$ = 70 | PSNR | 11.23 | 30.12 | 30.38 | 22.07 | 24.18 | 30.68
SSIM | 0.045 | 0.731 | 0.751 | 0.232 | 0.298 | 0.743
SAM | 1.207 | 0.238 | 0.186 | 0.695 | 0.545 | 0.154
blind | PSNR | 17.14 | 31.16 | 26.86 | 24.63 | 28.86 | 32.81
SSIM | 0.186 | 0.734 | 0.532 | 0.469 | 0.595 | 0.869
SAM | 1.048 | 0.330 | 0.496 | 0.777 | 0.454 | 0.124

###  3.2 Results and Analysis

We compare the proposed method with other four closed related denoising
methods: BM4D [5], TDL [8], LRMR [9] and LRTV [10] on Pavia University
dataset. In order to evaluate the performance of these denoising methods, we
use three quantitative evaluation indexes: PSNR, SSIM and SAM. Generally
speaking, the higher values of PSNR and SSIM mean the better denoising effect,
while the lower value of SAM means the better denoising effect.

Table 1 lists the quantitative assessment results of our method and other
closely related denoising methods in different noise levels. As shown in the
table, our method achieves better performance in quantitative evaluation.
Fig.3 shows the visual comparison between our method and other denoising
methods. The comparison showed that our method can effectively remove the
noise while preserving the details of the image.

##  4  CONCLUSION

In this paper, we propose a novel blind denoising method for HSIs based on
multistream denoising network (MSDNet), which consists of noise estimation
subnetwork and denoising subnetwork. The MSDNet can estimate the noise level
autonomously, and then realize blind denoising and improve the performance of
HSI denoising. The comparison with other methods indicates that the proposed
method achieves better denoising performance under different noise levels.

In the future, we are committed to investigating hyperspectral images
denoising under mixed noise, such as impulse noise and stripe noise. On the
other hand, we will work on improving the accuracy of noise level estimation
to improve the denoising process.

## References

  * [1] Q. Yuan, L. Zhang, and H. Shen, “Hyperspectral image denoising employing a spectral–spatial adaptive total variation model,” _IEEE Transactions on Geoscience and Remote Sensing_ , vol. 50, no. 10, pp. 3660–3677, 2012.
  * [2] Y. Zhao and J. Yang, “Hyperspectral image denoising via sparse representation and low-rank constraint,” _IEEE Transactions on Geoscience and Remote Sensing_ , vol. 53, no. 1, pp. 296–308, 2015.
  * [3] K. Dabov, A. Foi, V. Katkovnik, and K. Egiazarian, “Image denoising by sparse 3-d transform-domain collaborative filtering,” _IEEE Transactions on Image Processing_ , vol. 16, no. 8, pp. 2080–2095, 2007.
  * [4] S. Gu, L. Zhang, W. Zuo, and X. Feng, “Weighted nuclear norm minimization with application to image denoising,” in _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)_ , June 2014.
  * [5] M. Maggioni, V. Katkovnik, K. Egiazarian, and A. Foi, “Nonlocal transform-domain filter for volumetric data denoising and reconstruction,” _IEEE Transactions on Image Processing_ , vol. 22, no. 1, pp. 119–133, 2013\.
  * [6] K. Zhang, W. Zuo, and L. Zhang, “FFDNet: Toward a fast and flexible solution for CNN-based image denoising,” _IEEE Transactions on Image Processing_ , vol. 27, no. 9, pp. 4608–4622, 2018.
  * [7] S. Guo, Z. Yan, K. Zhang, W. Zuo, and L. Zhang, “Toward convolutional blind denoising of real photographs,” in _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)_ , June 2019.
  * [8] Y. Peng, D. Meng, Z. Xu, C. Gao, Y. Yang, and B. Zhang, “Decomposable nonlocal tensor dictionary learning for multispectral image denoising,” in _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)_ , June 2014.
  * [9] H. Zhang, W. He, L. Zhang, H. Shen, and Q. Yuan, “Hyperspectral image restoration using low-rank matrix recovery,” _IEEE Transactions on Geoscience and Remote Sensing_ , vol. 52, no. 8, pp. 4729–4743, 2014.
  * [10] W. He, H. Zhang, L. Zhang, and H. Shen, “Total-variation-regularized low-rank matrix factorization for hyperspectral image restoration,” _IEEE Transactions on Geoscience and Remote Sensing_ , vol. 54, no. 1, pp. 178–188, 2016.
  * [11] H. Zhao, J. Shi, X. Qi, X. Wang, and J. Jia, “Pyramid scene parsing network,” in _Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition (CVPR)_ , July 2017.


WGMwgm QEqe EPep PMSpms BECbec DEde

# MigraR: an open-source, R-based application for analysis and quantification
of cell migration parameters

Nirbhaya Shaji  Florbela Nunes  M.Ines Rocha  Elsa Ferreira Gomes  Helena
Castro  FCUP – Faculdade de Ciências da Universidade do Porto, Rua do Campo
Alegre s/n, 4169-007 Porto, Portugal.  ISEP – Instituto Superior de Engenharia
do Porto, Politécnico do Porto, Rua Dr. António Bernardino de Almeida 431,
4249-015 Porto, Portugal..  i3S – Instituto de Investigação e Inovação em
Saúde, Universidade do Porto, Rua Alfredo Allen 208, 4200-135 Porto, Portugal.
INESC-TEC – Instituto de Engenharia de Sistemas e Computadores, Tecnologia e
Ciência, Campus da Faculdade de Engenharia da Universidade do Porto, Rua Dr.
Roberto Frias, 4200-465 Porto, Portugal.  These authors contributed equally to
this work.

###### Abstract

Background and objective: Cell migration is essential for many biological
phenomena with direct impact on human health and disease. One conventional
approach to study cell migration involves the quantitative analysis of
individual cell trajectories recorded by time-lapse video microscopy.
Dedicated software tools exist to assist the automated or semi-automated
tracking of cells and translate these into coordinate positions along time.
However, cell biologists usually bump into the difficulty of plotting and
computing these data sets into biologically meaningful figures and metrics.

Methods: This report describes MigraR, an intuitive graphical user interface
executed from the RStudioTM (via the R package Shiny), which greatly
simplifies the task of translating coordinate positions of moving cells into
measurable parameters of cell migration (velocity, straightness, and direction
of movement), as well as of plotting cell trajectories and migration metrics.
One innovative function of this interface is that it allows users to refine
their data sets by setting limits based on time, velocity and straightness.

Results: MigraR was tested on different data to assess its applicability.
Intended users of MigraR are cell biologists with no prior knowledge of data
analysis, seeking to accelerate the quantification and visualization of cell
migration data sets delivered in the format of Excel files by available cell-
tracking software.

Conclusions: Through the graphics it provides, MigraR is an useful tool for
the analysis of migration parameters and cellular trajectories. Since its
source code is open, it can be subject of refinement by expert users to best
suit the needs of other researchers. It is available at GitHub and can be
easily reproduced.

###### keywords:

Shiny application Cell-tracking software Visualization R language

##  1 Introduction

Cell migration is an increasingly eminent area of research in biomedical
sciences, with implications in fields as diverse as infection, immune
response, embryo-genesis, and cancer [8, 7, 11, 15]. The in-depth study of
cells’ migratory behavior holds promise to shed new light into these processes
and ultimately translate into the development of innovative therapeutic
strategies to ameliorate pathological conditions stemming from abnormal cell
mobility. One powerful tool to study cell migration is time-lapse video
microscopy. By imaging moving cells over several hours, this method captures
both the temporal and the spatial dynamics of cell migration. Downstream image
processing and cell tracking analyses by dedicated software (reviewed in [13])
then translate image sequences into numerical values. In their simplest
version, cell trajectories are displayed as lists of $x$,$y$ pixel coordinates
along time. These coordinates, transformed into standard length measurements
($\mu$m), set the basis to compute biological meaningful quantitative metrics
of single-cell migration, namely velocity, straightness and direction of
movement, which can be ultimately used to draw informed conclusions about the
mobile behavior of a population of cells.

Transforming complex data sets into quantitative and insightful results is not
an easy task for most biomedical researchers though. To perform basic tasks,
such as graphical display of cell trajectories, plotting of Rose cell-tracking
wind diagrams, and data refinement (based, for instances on the time window of
data acquisition), cell biologists resort to dedicated ®MATLAB and RStudioTM
software. However, the use of these tools requires an expert knowledge in
computer science and mathematics rarely met by health scientists. In the last
decade, some more accessible tools have been proposed by the community. A few
are free and only some of those are open source (e.g.
MotilityLab111http://2ptrack.net/index.html/CelltrackR [26, 27], CellMissy
[14] or Ibidi [9]).

The software tool presented in this manuscript was developed to meet the need
of a group of biomedical researchers to have access to a free, user-friendly
application to make analysis of cell motion. From their collaboration with
computer scientists, emerged MigraR.

MigraR is cross-platform, with an intuitive graphical user interface, running
from open-source RTM and RStudioTM. With no need for expert knowledge in
mathematical data analysis software, MigraR drastically simplifies the
plotting and analysis of migration parameters and cell trajectories. Besides
quantifying speed and straightness, MigraR also provides specific plots of
directions and angles, and, importantly, enables users to filter datasets to
improve the quality of their output results. Importantly, MigraR is publicly
and freely available on a GitHub account to all interested parties to download
and use. Since its source code is also open, it can be subject of refinement
by expert users to best suit the needs of other researchers.

##  2 Material and Methods

###  2.1 Related applications

MigraR was developed to assist biomedical researchers in the analysis of cell
trajectories and migration parameters. MigraR does not perform tracking of
cells from time-lapse videos; rather, it processes data sheets of $x$,$y$
coordinates along time that are delivered by upstream image processing and
cell tracking software (reviewed in [8]). Launched from RStudioTM using the
Shinny extension, MigraR is a fully open source, and user-friendly and
interactive platform for uncomplicated analysis of cell migration parameters.
Compared with analogous free and open source applications MigraR stands out
for (Table 1):

  1. [i.]

  2. 1.

enabling users to filter their datasets by re-scaling parameters such as time,
velocity or straightness;

  3. 2.

displaying the direction and angle of cell trajectories;

  4. 3.

running independently of image analysis software (TrackMate [25], Ibidi
Chemotaxis Manual Tracking [9] and ADAPT [3], currently not available, are
Fiji/ ImageJ [23] plugins) and/or of proprietary numerical computing platforms
(u-track [10] runs on ®MATLAB).

Table 1: Overview of free and open source solutions similar to MigraR.

Functionalities |  | CellProfiler
---
[16]
| Migrationminer
---
[4]
| Celltrack
---
[20]
| TrackMate
---
[25]
| u-track
---
[10]
| Ibidi
---
Chemotaxis
[9]
| CellMissy
---
[14]
| CelltrackR
---
MotilityLab
[26, 27]
| ADAPT
---
[3]
| shinyHTM
---
[6]
| Dataset refinement
---
(by parameters re-scaling)
|  |  |  |  |  |  |  |  |
| Display of direction
---
and angle of trajectories
|  |  |  |  |  |  |  |  |
| Runs dependently of
---
image analysis software
|  | 1 |  | 2 | 1 | 3 |  | 1 |

  * 1

ImageJ plugins;

  * 2

Runs on MATLAB;

  * 3

Runs on Java and mySQL.

###  2.2 Software description, download and execution

MigraR is a graphical user interface (GUI) software implemented in R using the
Shiny framework. MigraR can be accessible online via the Shinyapps.io server
222https://nirbhaya-shaji.shinyapps.io/migrar/. It runs in MS WindowsTM, Linux
and macOS and requires prior installation of RTM and RStudioTM from website
[19]. MigraR time complexity is $O$($n$), where $n$ is the data set length
(all time steps of all the tracks).

MigraR sources can be downloaded from GitHub
account333https://github.com/nirbhayashaji/MigraR.git. To execute MigraR,
users must download the files server.R and ui.R to the working directory of
RStudioTM and double click on the server.R file or open it using the file
browser form RStudioTM. The file will open in RStudioTM, wherefrom it can be
executed by clicking Run App [18]. MigraR will open in your default browser.
To upload the cell tracking data, users simply have to click on the Browse
button as seen in (Fig.1, top left) listed first on the left panel. Users must
be connected to the internet for the initial run so that the required packages
can be installed. From there, no active internet connection is necessary for
executing the application. The images in the manuscript that corresponds to
the MigraR screens are also available in the GitHub for viewing in better
clarity. The data used for those images are also available at GitHub.

Figure 1: The data sources of MigraR are MSExcel (xlsx, csv) or text files
generated by dedicated cell-tracking software; the example provided was
deployed by ImarisTM. In these files, data is organized in four columns, as
follows: column A) $x$ coordinates; column B) $y$ coordinates; column D) time;
column E) TrackID (the cell track identifier, attributed by the cell tracking
software).

###  2.3 Data sets

The data sources of MigraR are files (txt, csv or xlsx format) generated by
dedicated cell-tracking software – an example (provided from ImarisTM) is
shown in Fig.1. In these files, data must be organized in four columns , with
the fixed titles (as shown in Fig.1) and in case of CSV files ’,’ separated as
follows: column A) $x$ coordinates; column B) $y$ coordinates; column D) time;
column E) TrackID (i.e., the cell track identifier, attributed by the cell
tracking software). Note that decimal separator has to be ’.’. The value of
TrackID cannot be 0. If it happens MigraR shows a warning message and will ask
the user to change the TrackIDs to non zero values. Some cell tracking
software might also deliver $z$ coordinates listed in one additional column –
column C in the example of Fig.1. If the data file does not display $z$
coordinates, users must introduce one dummy (empty or randomly filled) column
C. The upload of input files to MigraR is performed by clicking the Browse
button below the Choose input file text as shown in Fig.2.

Figure 2: Trajectories window from the MigraR interface

###  2.4 Computing temporal and spatial coordinates into migration metrics

MigraR is a digital platform that performs the visual and quantitative
inspection of cells’ dynamic behavior. It is used after cells trajectories
have been recorded by time-lapse microscopy and traced by dedicated cell
tracking software. MigraR computes the resulting cells’ coordinates along in
time, providing users a set of insightful graphical and quantitative outputs.
MigraR performs a ’cell-based’ quantification of cell migration parameters,
i.e., it carries out a calculation for each cell separately and, based on each
individual result, determines the mean or median for the entire population of
cells. This method is in contrast with ’step-based’ metrics, for which the
mean or median of all separate movement steps are calculated independent of
which track it belongs to. Detailed information about advantages and
disadvantages of each quantification methods can be found in dedicated
literature [5, 17]. We should stress that some relevant track analysis
metrics, like mean squared displacement (MSD) or autocorrelation plots are not
yet supported by MigraR [13]. One of MigraR functionalities is the graphical
display of Rose plots. To draw these graphs, MigraR makes all tracks initiate
from the (0,0) coordinate. To do so, the $x$,$y$ coordinates at time zero (the
first movie frame) of a given cell track are subtracted to all its $x$,$y$
coordinates along time. MigraR also calculates the velocity and straightness
of cell trajectories, employing the formulas provided in Table 2, and always
taking into account the start and ending points of each cell trajectory.
Straightness divides the displacement by the track Length. This gives a number
between 0 and 1 (1 means a perfectly straight track). As we can see in Table2,
we compute a step-based speed (with one number for each coordinate in the
track) and a cell-based approach for the straightness where the total track
displacement is divided by the distance travelled in time by the cell (just
one number for each track) [13].

Table 2: Equations employed to calculate metrics of migration. Parameter | Equation
---|---
Velocity |  $v_{1}=\frac{\sqrt{(x_{2}-x_{1})^{2}+(y_{2}-y_{1})^{2}}}{t_{2}-t_{1}},i=1$
|
$v_{n}=\frac{\sqrt{(x_{n}-x_{n-1})^{2}+(y_{n}-y_{n-1})^{2}}}{t_{n}-t_{n-1}},i=n$
|
$v_{i}=\frac{\sqrt{(x_{i+1}-x_{i})^{2}+(y_{i+1}-y_{i})^{2}}+\sqrt{(x_{i}-x_{i-1})^{2}+(y_{i}-y_{i-1})^{2}}}{t_{i+1}-t_{i-1}},1<i<n$
|  $i=step~{}time~{}index,~{}n=last~{}time~{}index~{}of~{}the~{}track$
Turning angle |  $\alpha_{i}=tan^{-1}[{(y_{i+1}-y_{i})}/{(x_{i+1}-x_{i})}],1<i<n$
|  $i=step~{}time~{}index,~{}n=last~{}time~{}index~{}of~{}the~{}track$
Straightness |  $S=D/L,D=track~{}Displacement,L=track~{}Length$
|  $D=\sqrt{(x_{t_{l}}-x_{t_{f}})^{2}+(y_{t_{l}}-y_{t_{f}})^{2}}$
|
$L=\sum_{i={t_{f}}}^{t_{l}-1}{\sqrt{(x_{i+1}-x_{i})^{2}+(y_{i+1}-y_{i})^{2}}}$
|
$t_{f}=last~{}time~{}index~{}of~{}track,~{}t_{l}=first~{}time~{}index~{}of~{}track$

For calculation of the angle of trajectories ($\theta$), MigraR takes into
account $x$,$y$ standard coordinates at the end point of the analysis and uses
on the trigonometry equation presented in Fig.3. This calculation delivers the
value of an angle (angle $\alpha$ in Fig.3). Afterwards, MigraR makes the
necessary adjustments according to the quadrant (Q1-Q4) of the $x$,$y$ chart
in which cells finalize their trajectories, as follows:

Q1 (x¿0, y¿0), $\theta$1 = $\alpha$1;

Q2 (x¡0, y¿0), $\theta$2 = 180$\degree$ \- $\alpha$2;

Q3 (x¡0, y¡0), $\theta$3 = 180$\degree$ \+ $\alpha$3;

Q4 (x¿0, y¡0), $\theta$4 = 360$\degree$ \- $\alpha$4.

Angles of trajectories are displayed by MigraR in the form of histograms. In
its current version, MigraR accommodate a band width adjustment tool for data
refinement based on the number of data points and their distribution - this
will avoid biased interpretations, which are particularly tricky in the case
of datasets consisting of few cell tracks. For users looking for more refined
methods to detect directionality, we suggest alternative tools [2, 24].

Figure 3: Rationale employed by MigraR to calculate angles of trajectories.
The picture represents a $x$,$y$ chart with four fictional cell trajectories
(dotted curved arrows), plotted from their standard coordinates (i.e.
corrected to start at the 0,0 origin), and designed to end in each one of the
four quadrants of the chart (Q1-Q4). To calculate the angle of each trajectory
($\theta$1-$\theta$4), MigraR starts taking the end-point $x$,$y$ coordinates
to compute $\theta$1-$\theta$4 angles from the trigonometry function depicted
on the top of the chart. The resulting $\theta$1-$\theta$4 angles then are
corrected according to the equations depicted in each quadrant (Q1-Q4), to
yield the final $\theta$1-$\theta$4 values.

Finally, to have a visual representation of the direction of movement (left or
right), MigraR calculates the cosine of $\theta$, and attributes a color code
to the resulting values. The cosine value of 1 (yellow color) indicates that
cells move to the right, parallel to the $x$ axis; the cosine value of -1 (red
color) indicates that cells move to the left, parallel to the $x$ axis; the
cosine value of zero (orange color) indicates that cells move up or down.
Similarly using the sin value, the vertical movement is represented using
colors blue and green for up and down movements respectively.

###  2.5 Experimental details for the illustrative data sets used for this
report

The illustrative data set used in this manuscript was obtained by time-lapse
microscopy recording of migrating cells, following previously described
methodology [21]. Briefly, murine bone marrow-derived dendritic cells (BMDCs)
[1], pulsed for 3 hours with $10\mu g/ml$ LPS were embedded in bovine type I
collagen and loaded into a silicon chip mounted on a glass-bottom microscopy
chamber slide. Upon polymerization of the collagen/cells mix, medium
containing the chemokine CCL21 was added to the microscopy chamber slide.
Videos were captured at 10 x magnification in an inverted Leica DMI 6000 FFW
(LEICA Microsystems) microscope, equipped with an automated stage, and control
of atmosphere (5% CO2, 37$\degree C$). The same points in multiple wells were
imaged every 4 min for approximately 16 hrs. Movies were subsequently
processed in Fiji/ImageJ software [22], prior to automated cell tracking in
proprietary software ImarisTM (Bitplane).

##  3 Results and Discussion

###  3.1 The four (main) windows of MigraR

MigraR offers an intuitive graphical user interface for plotting and
calculating cell migration parameters. MigraR automatically calculates
velocity, straightness and direction of movement based on the spatial and
temporal coordinates listed on the uploaded data file. The workflow of MigraR
is organized in four windows (Trajectories, Velocity, Straightness, and
Direction), which can be selected from the respective tabs at the top of the
large right side panel (Fig.2). MigraR also have a window named _DataTable_
that lets the user see the raw and calculated data that they are using.

The Trajectories window (accessible from the Trajectories tab). The
Trajectories window depicts the visual projection of single-cell trajectories
(Fig.2). These can be visualized according to three View Mode options,
available on the left panel:

  1. [i.]

  2. 1.

the Normal view mode is the default option, which provides a close-to-real
projection of cell trajectories along the $x$,$y$ axes;

  3. 2.

in the Track ID mode, individual cell trajectories are distinguished based on
color;

  4. 3.

in the Rose Plot option, the starting positions of each cell trajectory are
normalized to $x$,$y$ origin (0,0). Scales of $x$,$y$ axes can be adjusted
using scroll bars on the bottom-right.

By clicking on the Download plot button at the bottom of the charts, users can
download the plot as an image file of .png type.

The Velocity and Straightness windows (Fig.4) display box and whisker
charters, plotted from the velocity and straightness values that MigraR
computes for set of cell trajectories under analysis. Velocity values refer to
the average velocity that each cell assumes along its trajectory. Straightness
values refer to the behavior of each cell between the first and the last time
point of its trajectory. By pressing the Download plot buttons, users can
generate and save the plot as .png files. However, the analysis of tracking
data is sensitive to biases and artefacts. The user must be careful when using
measures like straightness, specially between different datasets [5], [17]. In
particular, there is a warning message in the straightness analysis window
that this analysis is meaningful for tracks of equal length.

Figure 4: Velocity and Straightness windows from the MigraR interface.

Download the Velocity data and Download the Straightness data buttons generate
.csv files listing the values of velocity and straightness displayed on the
corresponding plots. These .csv files can be used for subsequent comparative
and statistical analyses between different data sets using dedicated software.

The Direction window (Fig.5) is presented with two options, which can be
chosen from the radio buttons on the left panel. On the first, Direction of
Trajectories, users can visualize and download plots where cell trajectories
appear in different colors based on the direction of the movement. These cell
trajectories plots are available in both their Normal View and Rose Plot
modes.

Figure 5: Directions window from the MigraR interface.

In the first pair of plots, cells are colored with a red-to-yellow gradient
according to their horizontal directional choices: cells moving to the left
are colored red; cells moving to the right are colored yellow. In the second
pair of plots, cells are colored with a blue-to-green gradient according to
their vertical directional choices: cells moving to the up are colored blue;
cells moving to the down are colored green.

The second option, Angle of Trajectories, shows the frequency of cell
trajectories moving within the range of $0-360\degree$ angles, over intervals
of 4 degrees. Data are plotted both as column chart (Angle Frequency) and Rose
Plot. These plots, as well as the corresponding data sets are available for
download using buttons similar to the ones in the previous windows. It will be
useful if these features were complemented with common track analysis methods
not yet included in the tool, displacement analysis, such as mean square
displacement (MSD), and angle analysis, direction autocorrelation [13].

###  3.2 Visualizing Directional and Random movements

In Fig.6, we show representative graphical outputs generated by MigraR,
starting from two distinct sets of data: one of the datasets (upper panels,
‘Directional movement’) compiles the trajectories of cells exposed to a
chemoattractant placed on their left; the other dataset (lower panels, ‘Random
movement’) refers to cells that, in the absence of a specific migratory
stimulus, moved randomly. Notably, all five graphical displays produced by
MigraR translate the different directional choices of cells in each of the
experimental conditions under analysis.

Figure 6: Representative graphical displays produced by MigraR based on two
time-lapse microscopy videos: i) ’Directional movement’, where cells were
stimulated to move in the direction of a chemoattractant placed on their left;
ii) ’Random movement’, where cells were not exposed to any chemoattractant,
hence did not exhibit one prevalent directional choice.

###  3.3 The adjustments function of MigraR

All MigraR windows run in parallel with adjustment functions, which can be
operated from the left side panel of the graphical interface. Here, users can
find three sliders to filter the data sets based on the following parameters:
Time, Velocity (Speed), and Straightness as shown in Fig.5. Artifacts are
unavoidable in data sets generated by high throughput analysis [12]. Applying
limits or thresholds on these variables is thus desired when cell tracking has
been performed fully automatically, albeit it needs to be performed cautiously
to avoid elimination of relevant data points. With MigraR adjustment
functions, users can refine their data sets to exclude outliers resulting from
inaccurate tracking [e.g. cells that do not move (most likely dead cells), or
to cells that move too fast and/or move with straightness values equal to 1
(corresponding to straight lines, unlikely to occur in nature)]

Particularly useful is the possibility to filter data sets based on time
intervals – with this option, users can look into the dynamics of cell
migration at different instants of movie acquisition and chose the most
appropriate interval for their analysis. A Reset button, at the bottom of this
panel, allows users to go back to the original data set. Importantly, these
scroll bars work inter-connectedly between windows, i.e. scrolling one of
these bars in one window automatically adjusts the same scroll bar in the
remaining windows.

##  4 Conclusion

Cell migration is an increasingly trendy area of research - related
publications grew from 1 per year in the early 1970’s to ¿21’000 last year -
with potential applications in several branches of health and biological
sciences. Powerful commercial tools are available to assist researchers in the
complex analysis, visualization and quantification of cell migration. These
are nonetheless commercialized at prohibitive prices to groups with poor
financial resources. As alternative, researchers can resort to open-source
solutions, some of which not requiring computational experience
(MotilityLab/CelltrackR [26, 27], CellMissy [14] or Ibidi [9]). We expect to
democratize the use of cell migration solution with MigraR, a user-friendly,
free solution and open-source to all end-users, which has been developed to
meet the needs of a group of biomedical researchers.

As future work, we intend to include some other usual features not yet
supported by MigraR.

Acknowledgements.This work is financed by National Funds through the
Portuguese funding agency, FCT- Fundação para a Ciência e a Tecnologia, within
project UIDB / 50014 / 2020.

## References

  * Aman and Piotrowski [2010] Aman, A., Piotrowski, T., 2010\.  Cell migration during morphogenesis.  Developmental Biology 341, 20–33.  doi:https://doi.org/10.1016/j.ydbio.2009.11.014. special Section: Morphogenesis.
  * Ariotti et al. [2015] Ariotti, S., Beltman, J.B., Borsje, R., Hoekstra, M.E., Halford, W.P., Haanen, J.B.A.G., de Boer, R.J., Schumacher, T.N.M., 2015\.  Subtle cxcr3-dependent chemotaxis of ctls within infected tissue allows efficient target localization.  The Journal of Immunology 195, 5285–5295.  URL: https://www.jimmunol.org/content/195/11/5285, doi:10.4049/jimmunol.1500853.
  * Barry DJ [2015] Barry DJ, Durkin CH, A.J.W.M., 2015.  Open source software for quantification of cell migration, protrusions, and fluorescence intensities.  J Cell Biol. 1, 163–80.  URL: https://bitbucket.org/djpbarry/, doi:10.1083/jcb.201501081.
  * Becker [2019] Becker, T., 2019.  migrationminer.  URL: https://github.com/cells2numbers/migrationminer.
  * Beltman JB [2009] Beltman JB, Marée AF, d.B.R., 2009.  Analysing immune cell migration.  Nat Rev Immunol. 9, 789–98.  doi:10.1038/nri2638.
  * Botelho [2019] Botelho, H., 2019.  shinyhtm.  URL: https://github.com/hmbotelho/shinyHTM.
  * Bros et al. [2019] Bros, Haas, Moll, Grabbe, 2019.  Rhoa as a key regulator of innate and adaptive immunity.  Cells 8, 733.  URL: http://dx.doi.org/10.3390/cells8070733, doi:10.3390/cells8070733.
  * Chen et al. [2020] Chen, Y., Jiang, W., Yong, H., He, M., Yang, Y., Deng, Z., Li, Y., 2020.  Macrophages in osteoarthritis: pathophysiology and therapeutics.  Am J Transl Res 12, 261–268.
  * [9] Ibidi, .  Chemotaxis analysis, manual tracking.
http://rsb.info.nih.gov/ij/plugins/track/track.html/.

  * Jaqaman et al. [2008] Jaqaman, K., Loerke, D., Mettlen, M., Kuwata, H., Grinstein, S., Schmid, S.L., Danuser, G., 2008.  Robust single-particle tracking in live-cell time-lapse sequences - nature methods.  Nat Meth 5, 695–702.  URL: http://dx.doi.org/10.1038/nmeth.1237.
  * L. [2019] L., S., 2019.  Collective cell migration in development.  Adv Exp Med Biol. 1146, 105–116.
  * Masuzzo et al. [2017] Masuzzo, P., Huyck, L., Simiczyjew, A., Ampe, C., Van Troys, M., Martens, L., 2017\.  An end-to-end software solution for the analysis of high-throughput single-cell migration data.  Scientific Reports 7.  doi:10.1038/srep42383.
  * Masuzzo et al. [2015] Masuzzo, P., Van Troys, M., Ampe, C., Martens, L., 2015\.  Taking aim at moving targets in computational cell migration.  Trends in cell biology 26.  doi:10.1016/j.tcb.2015.09.003.
  * Masuzzo P. [2013] Masuzzo P., Hulstaert N., H.L.A.C.V.T.M.M.L., 2013\.  Cellmissy: A tool for management, storage and analysis of cell migration data produced in wound healing-like assays bioinformatics.  Bioinformatics doi:10.1093/bioinformatics/btt437.
  * McDonald et al. [2009] McDonald, B., Spicer, J., Giannais, B., Fallavollita, L., Brodt, P., Ferri, L.E., 2009\.  Systemic inflammation increases cancer cell adhesion to hepatic sinusoids by neutrophil mediated mechanisms.  International Journal of Cancer 125, 1298–1305.  doi:https://doi.org/10.1002/ijc.24409.
  * McQuin C [2018] McQuin C, Goodman A, C.V.K.L.C.B.K.K., 2018.  Cellprofiler 3.0: Next-generation image processing for biology.  Nature Methods 16, 7\.  doi:10.1371/journal.pbio.2005970.
  * Mokhtari et al. [2013] Mokhtari, Z., Mech, F., Zitzmann, C., Hasenberg, M., Gunzer, M., Figge, M.T., 2013\.  Automated characterization and parameter-free classification of cell tracks based on local migration behavior.  PLOS ONE 8, 1–20.  URL: https://doi.org/10.1371/journal.pone.0080808, doi:10.1371/journal.pone.0080808.
  * [18] RStudio, .  Relaunching apps.  URL: https://shiny.rstudio.com/tutorial/written-tutorial/lesson1/#relaunching-apps.
  * RStudio Team [2020] RStudio Team, 2020.  RStudio, PBC.  URL: http://www.rstudio.com/.
  * Sacan et al. [2008] Sacan, A., Ferhatosmanoglu, H., Coskun, H., 2008.  Celltrack: An open-source software for cell tracking and motility analysis.  Bioinformatics (Oxford, England) 24, 1647–9.  doi:10.1093/bioinformatics/btn247.
  * Saez et al. [2018] Saez, P., Barbier, L., Attia, R., Thiam, H.R., Piel, M., Vargas, P., 2018\.  Leukocyte migration and deformation in collagen gels and microfabricated constrictions.  Methods in molecular biology (Clifton, N.J.) 1749, 361–373.  doi:10.1007/978-1-4939-7701-7_26.
  * Schneider et al. [2012] Schneider, C., Rasband, W., Eliceiri, K., 2012.  Nih image to imagej: 25 years of image analysis.  Nature Methods 9.  doi:10.1038/nmeth.2089.
  * Schneider C. A. [2019] Schneider C. A., Rasband W. S., E.K.W., 2019.  Nih image to imagej: 25 years of image analysis.  Nature methods 7, 671–675.  doi:10.1038/nmeth.2019.
  * Textor et al. [2011] Textor, J., Peixoto, A., Henrickson, S.E., Sinn, M., von Andrian, U.H., Westermann, J., 2011\.  Defining the quantitative limits of intravital two-photon lymphocyte tracking.  Proc Natl Acad Sci U S A 30.  doi:0.1073/pnas.1102288108.
  * Tinevez et al. [2017] Tinevez, J.Y., Perry, N., Schindelin, J., Hoopes, G.M., Reynolds, G.D., Laplantine, E., Bednarek, S.Y., Shorte, S.L., Eliceiri, K.W., 2017.  Trackmate: An open and extensible platform for single-particle tracking.  Methods 115, 80–90.  doi:https://doi.org/10.1016/j.ymeth.2016.09.016. image Processing for Biologists.
  * Wortel et al. [2021] Wortel, I.M., Liu, A.Y., Dannenberg, K., Berry, J.C., Miller, M.J., Textor, J., 2021\.  Celltrackr: an r package for fast and flexible analysis of immune cell migration data.  ImmunoInformatics , 100003URL: https://www.sciencedirect.com/science/article/pii/S2667119021000033, doi:https://doi.org/10.1016/j.immuno.2021.100003.
  * Wortel et al. [2019] Wortel, I.M.N., Dannenberg, K., Berry, J.C., Miller, M.J., Textor, J., 2019.  Celltrackr: an r package for fast and flexible analysis of immune cell migration data.  bioRxiv URL: https://www.biorxiv.org/content/early/2019/06/15/670505, doi:10.1101/670505.