Purpose

The module TensorToEigensystem calculates the eigenvalues and eigenvectors of 2x2 and 3x3 tensors and symmetric matrices.

Usage

Attach a tensor image volume to the input. 2x2 tensors must be represented by a vecf3 (float precision) or a vec3 (double precision) data type, and 3x3 tensors by a vecf6 or vec6 data type.

Details

The tensors (symmetric matrices) must be represented as vectors as follows:

2x2:

     v[0] v[1]
T =
     v[1] v[2]

3x3:

     v[0] v[1] v[2]
T =  v[1] v[3] v[4]
     v[2] v[4] v[5]

Windows

Default Panel

../../../Modules/ML/MLTensorToEigensystem/mhelp/Images/Screenshots/TensorToEigensystem._default.png

Input Fields

input0

name: input0, type: Image

A tensor image volume where the tensors are represented by a vecf3, vec3, vecf6 or a vec6 data type.

Output Fields

output0

name: output0, type: Image

Eigenvalues:

For 2x2 tensors, the eigenvalues l1 and l2, where l1 > l2, are stored in a vecf2 (float precision) or a vec2 (double precision).

For 3x3 tensors, the eigenvalues are stored in a vecf3 or a vec3. The precision equals the precision of the input.

output1

name: output1, type: Image

Eigenvectors:

For 2x2 tensors, the eigenvectors are stored in a 2x2 matrix (matf2 or mat2 data type).

For 3x3 tensors, the eigenvectors are stored in a 3x3 matrix.

The eigenvector associated with the largest eigenvalue is stored in the first column in the matrix and the eigenvector associated with the smallest eigenvalue is stored in the last column.

Parameter Fields

Field Index

Apply: Trigger
Apply Mode: Enum
Eigenvalue Sorting: Enum
Eigenvector Scaling: Enum
preCachePages: Bool
Update: Trigger
Update Mode: Enum

Visible Fields

Apply Mode

name: applyMode, type: Enum, default: Apply

Defines the apply mode, that is how to react on field changes.

Values:

Title Name
Apply Apply
Clear Clear
Off Off

Apply

name: apply, type: Trigger

If pressed, the module computes anew.

Update Mode

name: updateMode, type: Enum, default: Update

Defines the update mode, that is how to react on input changes.

Values:

Title Name
Update Update
Clear Clear

Update

name: update, type: Trigger

If pressed, the module computes anew.

Eigenvalue Sorting

name: sortEigenvalues, type: Enum, default: l1 > l2 > l3

Defines how to sort the eigenvalues.

Values:

Title Name
l1 > l2 > l3 l1 > l2 > l3
abs(l1) > abs(l2) > abs(l3) abs(l1) > abs(l2) > abs(l3)

Eigenvector Scaling

name: handleEigenvectors, type: Enum, default: Unit norm

Defines how to scale the eigenvectors.

Values:

Title Name
Unit norm Unit norm
Scaled Scaled

Hidden Fields

preCachePages

name: preCachePages, type: Bool, default: FALSE