# Data

For some manifolds there are artificial or real application data available that can be loaded using the following data functions

`Manopt.artificialS1Signal`

— Function.`artificialS1Signal([pts=500,pointType=S1Point])`

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 default `S1Point`

) the data is also wrapped to $[-\pi,\pi)$.

**Optional**

`artificialS1Signal(x)`

evaluate the example signal $f(x), x\in [0,1]$, of phase-valued data introduces in Sec. 5.1 of

Bergmann, Laus, Steidl, Weinmann, Second Order Differences of Cyclic Data and Applications in Variational Denoising, SIAM J. Imaging Sci., 7(4), 2916–2953, 2014. doi: 10.1137/140969993

for values outside that intervall, this Signal is `missing`

.

`Manopt.artificialS1SlopeSignal`

— Function.`Manopt.artificialInSARImage`

— Function.`artificialInSARImage([pts=500, pointType=S1Point])`

generate an artificial InSAR image, i.e. phase valued data, of size `pts`

x `pts`

points. The `pointType`

– (`S1Point`

) provide the point type, i.e. manifold the data lives on. Possible values: `S1Point`

, `SnPoint`

, `RnPoint`

, where for the second type, the data is embeded (point wise) in $\mathbb R^2$.

`Manopt.artificialS2Lemniscate`

— Function.`artificialS2Lemniscate(p [,pts=128,a=π/2,interval=[0,2π])`

generate a Signal on the `Sphere`

`(2)`

$\mathbb S^2$ by creating the Lemniscate of Bernoulli in the tangent space of `p`

sampled at `pts`

points and use `exp`

to get a signal on the `Sphere`

`(2)`

.

**Input**

`p`

– the tangent space the Lemniscate is created in`pts`

– (`128`

) number of points to sample the Lemniscate`a`

– (`π/2`

) defines a half axis of the Lemniscate to cover a half sphere.`interval`

– (`[0,2*π]`

) range to sample the lemniscate at, the default value refers to one closed curve

`artificialS2Lemniscate(p,t; a=π/2)`

generate a point from the signal on the `Sphere`

`(2)`

$\mathbb S^2$ by creating the Lemniscate of Bernoulli in the tangent space of `p`

sampled at `t`

and use èxp`to obtain a point on the [`

Sphere`](@ref)`

(2)`.

**Input**

`p`

– the tangent space the Lemniscate is created in`t`

– value to sample the Lemniscate at

**Optional Values**

`a`

– (`π/2`

) defines a half axis of the Lemniscate to cover a half sphere.

`Manopt.artificialS2WhirlPatch`

— Function.`artificialS2WhirlPatch([pts=5])`

create a whirl within the `pts`

$\times$`pts`

patch of `Sphere`

`(2)`

-valued image data.

**Optional Parameters**

`pts`

– (`5`

) size of the patch. If the number is odd, the center is the north pole.

`Manopt.artificialS2WhirlImage`

— Function.`artificialS2WhirlImage([pts=64])`

generate an artificial image of data on the 2 sphere,

**Arguments**

`pts`

– (`64`

) size of the image in`pts`

$\times$`pts`

pixel.

`Manopt.artificialS2RotationsImage`

— Function.`artificialS2Rot([pts=64, rotations=(.5,.5)])`

creates 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.

`Manopt.artificialSPDImage`

— Function.`artificialSPDImage([pts=64, stepsize=1.5])`

create an artificial image of symmetric positive definite matrices of size `pts`

$\times$`pts`

pixel with a jump of size `stepsize`

.

`Manopt.artificialSPDImage2`

— Function.`artificialSPDImage2([pts=64, fraction=.66])`

create an artificial image of symmetric positive definite matrices of size `pts`

$\times$`pts`

pixel with right hand side `fraction`

is moved upwards.

# Manifold Constructors

`Manopt.constructImageGraph`

— Function.`constructImageGraph(img,type)`

construct the graph that can be used within the algorithms to model forward differences

**Arguments**

`img`

– the manifold-valued (MPoint-entries) image`type`

– the type of graph, here`firstOrderDifference`

and`secondOrderDifference`

.