TensorToEigensystem¶
-
MLModule
¶ author Ola Friman
package FMEstable/ReleaseMeVis
dll MLTensorToEigensystem
definition MLTensorToEigensystem.def see also TypeArithmetic1
,TypeArithmetic2
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]
Input Fields¶
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¶
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).