Implicit Deformation Module of Order 0

Implicit Deformation Module of Order 0

class DeformationModules.ImplicitModule0.ImplicitModule0Base(manifold, sigma, nu, coeff, label)[source]

Implicit module of order 0. Effectively identical to a local translation module with the added benefit of better numerical behaviour thanks to the nu parameters (explain).

__call__(points, k=0)[source]

Computes the k’th derivative of the module generated vector field at positions given by points.

Parameters
  • points (torch.Tensor) – A \(N \times d\) dimensioned tensor representing the points at which the generated vector field will be computed

  • k (int, default=0) – The order of the derivative at which the generated vector field will be computed

Returns

A tensor representing the values of the k’th derivative of the generated vector field at positions given by points. For \(k=0\), the output tensor is of shape \(N \times d\). For \(k=1\), the output tensor is of shape \(N \times d \times d\), and so on for subsequent orders.

Return type

torch.Tensor

adjoint(manifold)[source]
classmethod build(dim, nb_pts, sigma, nu=0.0, coeff=1.0, gd=None, tan=None, cotan=None, label=None)[source]
property coeff
compute_geodesic_control(man)[source]

Computes the geodesic control of the deformation module on the specified manifold.

Parameters

manifold (Manifolds.BaseManifold) – Manifold on which we will compute the geodesic controls

property controls
copy()

Returns a copy of the deformation module.

cost()[source]

Computes the cost of the deformation given by the module.

Returns

The cost as a scalar tensor.

Return type

torch.Tensor

property device
property dim
field_generator()[source]

Gives the vector field generated by the deformation module.

Returns

The vector field generated by the module

Return type

StructuredField.BaseStructuredField

fill_controls(controls)[source]
fill_controls_zero()[source]
property label

Identifier for the module.

property manifold
property nu
property sigma
to_(*args, **kwargs)[source]