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

[]: Trigger Status Message: String
Clear: Trigger Update: Trigger
Eigenvalue Sorting: Enum  
Eigenvector Scaling: Enum  
Has Valid Output: Bool  
inPreCachePages: Bool  
On Input Change Behavior: Enum  
Status Code: Enum  

Visible Fields

Update

name: update, type: Trigger

If pressed, the module computes anew.

Clear

name: clear, type: Trigger

Clears all output field values to a clean initial state.

On Input Change Behavior

name: onInputChangeBehavior, type: Enum, default: Update, deprecated name: shouldUpdateAutomatically,shouldAutoUpdate

Declares how the module should react if a value of an input field changes.

Values:

Title Name Deprecated Name
Update Update TRUE
Clear Clear FALSE

Status Code

name: statusCode, type: Enum, persistent: no

Reflects module’s status (successful or failed computations) as one of some predefined enumeration values.

Values:

Title Name
Ok Ok
Invalid input object Invalid input object
Invalid input parameter Invalid input parameter
Internal error Internal error

Status Message

name: statusMessage, type: String, persistent: no

Gives additional, detailed information about status code as human-readable message.

Has Valid Output

name: hasValidOutput, type: Bool, persistent: no

Indicates validity of output field values (success of computation).

[]

name: updateDone, type: Trigger, persistent: no

Notifies that an update was performed (Check status interface fields to identify success or failure).

Eigenvalue Sorting

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

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: inHandleEigenvectors, type: Enum, default: Unit norm, deprecated name: handleEigenvectors

Defines how to scale the eigenvectors.

Values:

Title Name
Unit norm Unit norm
Scaled Scaled

Hidden Fields

inPreCachePages

name: inPreCachePages, type: Bool, default: FALSE, deprecated name: preCachePages