mfGeomPlanarShape: Planar Shape Space Geometry

mfGeomPlanarShapeR Documentation

Planar Shape Space Geometry

Description

Geometry of the 'classic' shape space identifying planar shapes with a centered and scaled complex vector on the complex sphere / complex projective space.

Super classes

manifoldboost::mfGeometry -> manifoldboost::mfGeomEuclidean -> manifoldboost::mfGeomUnitSphere -> mfGeomPlanarShape

Methods

Public methods

Inherited methods

Method new()

Initialize planar shape geometry for data given in (long) FDboost format.

Usage
mfGeomPlanarShape$new(data, formula, weight_fun = NULL, arg_range = NULL)
Arguments
data

data in the format used in FDboost.

formula

formula describing the internal structure of the data, intended for the obj.formula of mfboost (interpreted by mfInterpret_objformula).

weight_fun

a function computing inner product weights for the geometry taking two arguments: arg, the argument of the functional data specified in formula, range the range of arg.

arg_range

the range supplied to the weight_fun.


Method structure()

convert 2D vectors (given in long format with dimension indicator) to complex

Usage
mfGeomPlanarShape$structure(y)
Arguments
y

a numeric vector representing an element of the manifold in an unstructured way. The position of elements and dimensions is obtained from the initialization of the geometry.


Method unstructure()

convert complex back to long format numeric

Usage
mfGeomPlanarShape$unstructure(y_)
Arguments
y_

a complex vector on the sphere, orthogonal to the constant.


Method unstructure_weights()

double inner product weights for complex vectors to appear in both dimensions in numeric long format

Usage
mfGeomPlanarShape$unstructure_weights(weights_)
Arguments
weights_

numeric vector of inner product weights matching the y_ as a complex vector.


Method structure_weights()

remove double weights to obtain inner product weights for complex vectors

Usage
mfGeomPlanarShape$structure_weights(weights)
Arguments
weights

numeric vector of inner product weights matching the y as a numeric vector. weights_ are duplicated for values of both dimensions.


Method register()

center y_ and scale it to unit norm.

Usage
mfGeomPlanarShape$register(y_)
Arguments
y_

a complex vector on the sphere, orthogonal to the constant.


Method register_v()

orthogonally project v_ into the tangent space of y0_.

Usage
mfGeomPlanarShape$register_v(v_, y0_ = self$pole_)
Arguments
v_

a complex tangent vector.

y0_

a complex vector on the sphere, orthogonal to the constant.


Method log()

Apply Log function of the sphere after rotation alignment

Usage
mfGeomPlanarShape$log(
  y_,
  y0_ = self$pole_,
  method = c("simple", "alternative")
)
Arguments
y_

a complex vector on the sphere, orthogonal to the constant.

y0_

a complex vector on the sphere, orthogonal to the constant.

method

alternatives "simple" and "alternative" for the expression used to compute the sphere Log-map. Passed to parent method.


Method transport()

for the parallel transport previous alignment is assumed, such that the transport of the sphere is directly applied.

Usage
mfGeomPlanarShape$transport(
  v0_,
  y0_,
  y1_,
  method = c("horizontal", "simple", "general")
)
Arguments
v0_

a complex tangent vector.

y0_

a complex vector on the sphere, orthogonal to the constant.

y1_

a complex vector on the sphere, orthogonal to the constant.

method

expression used for parallel transport: "general" corresponds to the one of Cornea et al. 2017, "horizontal" to the one of Dryden & Mardia 2012 p. 76, and "simple" to a simplified version of "general" where v0_ is horizontal to y0_. Passed to parent method.


Method plot()

default plotting function for planar shapes, plotting y_ in front of y0_ (after alignment).

Usage
mfGeomPlanarShape$plot(
  y_ = self$y_,
  y0_ = self$pole_,
  ylab = NA,
  xlab = NA,
  col = "black",
  ylim = range(Im(c(y_, y0_))),
  xlim = range(Re(c(y_, y0_))),
  pch = 19,
  asp = 1,
  yaxt = "n",
  xaxt = "n",
  type = "p",
  y0_par = list(col = "darkgrey", type = type),
  seg_par = list(col = "grey"),
  ...
)
Arguments
y_

a complex vector on the sphere, orthogonal to the constant.

y0_

a complex vector on the sphere, orthogonal to the constant.

ylab, xlab, xlim, ylim, xaxt, yaxt, asp

graphical parameters passed to base::plot with modified defaults.

col, pch, type

graphical parameters passed to base::plot referring to y_.

y0_par

graphical parameters for y0_.

seg_par

graphical parameters for line segments connecting y_ and y0_.

...

other arguments passed to base::plot.


Method validate()

check whether is.complex(y_).

Usage
mfGeomPlanarShape$validate(y_)
Arguments
y_

a complex vector on the sphere, orthogonal to the constant.


Method get_normal()

Obtain "design matrix" of tangent space normal vectors in unstructured long format.

Usage
mfGeomPlanarShape$get_normal(y0_ = self$pole_, weighted = FALSE)
Arguments
y0_

a complex vector on the sphere, orthogonal to the constant.

weighted

logical, should inner product weights be pre-multiplied to normal vectors?


Method clone()

The objects of this class are cloneable with this method.

Usage
mfGeomPlanarShape$clone(deep = FALSE)
Arguments
deep

Whether to make a deep clone.


Almond-S/manifoldboost documentation built on June 23, 2022, 11:06 a.m.