Data sets

Signals on manifolds

ManoptExamples.LemniscateMethod
Lemniscate(t::Float; kwargs...)
Lemniscate(n::integer; interval=[0.0, 2π], kwargs...)

generate the Lemniscate of Bernoulli as a curve on a manifold, by generating the curve emplying the keyword arguments below.

To be precise on the manifold M we use the tangent space at p and generate the curve

\[γ(t) \frac{a}{}\sin^2(t) + 1 \begin{pmatrix} \cos(t) \\ \cos(t)\sin(t) \end{pmatrix}\]

in the plane spanned by X and Y in the tangent space. Note that this curve is $2π$-periodic and a is the half-width of the curve.

To reproduce the first examples from [BBSW16] as a default, on the sphere p defaults to the North pole.

THe second variant generates n points equispaced in ìnterval` and calls the first variant.

Keywords

  • manifold - (Sphere(2)) the manifold to build the lemniscate on
  • p - ([0.0, 0.0, 1.0] on the sphere, `rand(M) else) the center point of the Lemniscate
  • a – (π/2.0) half-width of the Lemniscate
  • X – ([1.0, 0.0, 0.0] for the 2-sphere with default p, the first DefaultOrthonormalBasis() vector otherwise) first direction for the plane to define the Lemniscate in, unit vector recommended.
  • Y – ([0.0, 1.0, 0.0] if p is the default, the second DefaultOrthonormalBasis() vector otherwise) second direction for the plane to define the Lemniscate in, unit vector orthogonal to X recommended.
source
ManoptExamples.artificial_S1_signalFunction
artificial_S1_signal([pts=500])

generate a real-valued signal having piecewise constant, linear and quadratic intervals with jumps in between. If the resulting manifold the data lives on, is the Circle the data is also wrapped to ``[BLSW14].

Optional

  • pts: (500) number of points to sample the function
source
ManoptExamples.artificial_S1_signalMethod
artificial_S1_signal(x)

evaluate the example signal $f(x), x ∈ [0,1]$, of phase-valued data introduces in Sec. 5.1 of [BLSW14] for values outside that interval, this Signal is missing.

source
ManoptExamples.artificial_S1_slope_signalFunction
artificial_S1_slope_signal([pts=500, slope=4.])

Creates a Signal of (phase-valued) data represented on the Circle with increasing slope.

Optional

  • pts: (500) number of points to sample the function.
  • slope: (4.0) initial slope that gets increased afterwards

This data set was introduced for the numerical examples in [BLSW14]

source
ManoptExamples.artificial_S2_composite_Bezier_curveMethod
artificial_S2_composite_Bezier_curve()

Generate a composite Bézier curve on the [BG18].

It consists of 4 egments connecting the points

\[\mathbf d_0 = \begin{pmatrix} 0\\0\\1\end{pmatrix},\quad \mathbf d_1 = \begin{pmatrix} 0\\-1\\0\end{pmatrix},\quad \mathbf d_2 = \begin{pmatrix} -1\\0\\0\end{pmatrix},\text{ and } \mathbf d_3 = \begin{pmatrix} 0\\0\\-1\end{pmatrix}.\]

where instead of providing the two center control points explicitly we provide them as velocities from the corresponding points, such thtat we can directly define the curve to be $C^1$.

We define

\[X_0 = \frac{π}{8\sqrt{2}}\begin{pmatrix}1\\-1\\0\end{pmatrix},\quad X_1 = \frac{π}{4\sqrt{2}}\begin{pmatrix}1\\0\\1\end{pmatrix},\quad X_2 = \frac{π}{4\sqrt{2}}\begin{pmatrix}0\\1\\-1\end{pmatrix},\text{ and } X_3 = \frac{π}{8\sqrt{2}}\begin{pmatrix}-1\\1\\0\end{pmatrix},\]

where we defined each $X_i \in T_{d_i}\mathbb S^2$. We defined three BezierSegments

of cubic Bézier curves as follows

\[\begin{align*} b_{0,0} &= d_0, \quad & b_{1,0} &= \exp_{d_0}X_0, \quad & b_{2,0} &= \exp_{d_1}X_1, \quad & b_{3,0} &= d_1\\ b_{0,1} &= d_1, \quad & b_{1,1} &= \exp_{d_1}(-X_1), \quad & b_{2,1} &= \exp_{d_2}X_2, \quad & b_{3,1} &= d_2\\ b_{0,2} &= d_2, \quad & b_{1,1} &= \exp_{d_2}(-X_2), \quad & b_{2,2} &= \exp_{d_3}X_3, \quad & b_{3,2} &= d_3. \end{align*}\]

source

images on manifolds

ManoptExamples.artificial_S2_rotation_imageFunction
artificial_S2_rotation_image([pts=64, rotations=(.5,.5)])

Create an image with a rotation on each axis as a parametrization.

Optional Parameters

  • pts: (64) number of pixels along one dimension
  • rotations: ((.5,.5)) number of total rotations performed on the axes.

This dataset was used in the numerical example of Section 5.1 of [BBSW16].

source
ManoptExamples.artificial_SPD_imageFunction
artificial_SPD_image([pts=64, stepsize=1.5])

create an artificial image of symmetric positive definite matrices of size pts×pts pixel with a jump of size stepsize.

This dataset was used in the numerical example of Section 5.2 of [BBSW16].

source
ManoptExamples.artificial_SPD_image2Function
artificial_SPD_image2([pts=64, fraction=.66])

create an artificial image of symmetric positive definite matrices of size pts×pts pixel with right hand side fraction is moved upwards.

This data set was introduced in the numerical examples of Section of [BPS16]

source

Literature

[BBSW16]
M. Bačák, R. Bergmann, G. Steidl and A. Weinmann. A second order non-smooth variational model for restoring manifold-valued images. SIAM Journal on Scientific Computing 38, A567–A597 (2016), arXiv:1506.02409.
[BG18]
R. Bergmann and P.-Y. Gousenbourger. A variational model for data fitting on manifolds by minimizing the acceleration of a Bézier curve. Frontiers in Applied Mathematics and Statistics 4 (2018), arXiv:1807.10090.
[BLSW14]
R. Bergmann, F. Laus, G. Steidl and A. Weinmann. Second order differences of cyclic data and applications in variational denoising. SIAM Journal on Imaging Sciences 7, 2916–2953 (2014), arXiv:1405.5349.
[BPS16]
R. Bergmann, J. Persch and G. Steidl. A parallel Douglas Rachford algorithm for minimizing ROF-like functionals on images with values in symmetric Hadamard manifolds. SIAM Journal on Imaging Sciences 9, 901–937 (2016), arXiv:1512.02814.
[LNPS17]
F. Laus, M. Nikolova, J. Persch and G. Steidl. A nonlocal denoising algorithm for manifold-valued images using second order statistics. SIAM Journal on Imaging Sciences 10, 416–448 (2017).