TensorToEigensystem¶
- MLModule¶
 author
package
dll
definition
see also
keywords
tensor,symmetric,matrix,eigen,eigenvalues,eigenvectors,decomposition,PCA
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¶
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¶
  | 
  | 
  | 
  | 
  | 
|
  | 
|
  | 
|
  | 
|
  | 
|
  | 
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  |