Data sets
Signals on manifolds
ManoptExamples.Lemniscate
— MethodLemniscate(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 onp
- ([0.0, 0.0, 1.0]
on the sphere, `rand(M) else) the center point of the Lemniscatea
– (π/2.0
) half-width of the LemniscateX
– ([1.0, 0.0, 0.0]
for the 2-sphere with default p, the firstDefaultOrthonormalBasis
()
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 secondDefaultOrthonormalBasis
()
vector otherwise) second direction for the plane to define the Lemniscate in, unit vector orthogonal toX
recommended.
ManoptExamples.artificial_S1_signal
— Functionartificial_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
ManoptExamples.artificial_S1_signal
— Methodartificial_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
.
ManoptExamples.artificial_S1_slope_signal
— Functionartificial_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]
ManoptExamples.artificial_S2_composite_Bezier_curve
— Methodartificial_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 BezierSegment
s
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*}\]
images on manifolds
ManoptExamples.artificialIn_SAR_image
— MethodartificialIn_SAR_image([pts=500])
generate an artificial InSAR image, i.e. phase valued data, of size pts
x pts
points.
This data set was introduced for the numerical examples in [BLSW14].
ManoptExamples.artificial_S2_rotation_image
— Functionartificial_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 dimensionrotations
: ((.5,.5)
) number of total rotations performed on the axes.
This dataset was used in the numerical example of Section 5.1 of [BBSW16].
ManoptExamples.artificial_S2_whirl_image
— Functionartificial_S2_whirl_image([pts::Int=64])
Generate an artificial image of data on the 2 sphere,
Arguments
pts
: (64
) size of the image inpts
×pts
pixel.
This example dataset was used in the numerical example in Section 5.5 of [LNPS17]
It is based on artificial_S2_rotation_image
extended by small whirl patches.
ManoptExamples.artificial_S2_whirl_patch
— Functionartificial_S2_whirl_patch([pts=5])
create a whirl within the pts
×pts
patch of Sphere(@ref)(2)
-valued image data.
These patches are used within artificial_S2_whirl_image
.
Optional Parameters
pts
: (5
) size of the patch. If the number is odd, the center is the north pole.
ManoptExamples.artificial_SPD_image
— Functionartificial_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].
ManoptExamples.artificial_SPD_image2
— Functionartificial_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]
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).