The SoEigenDecompositionProcessing2d engine computes the local eigenvectors and eigenvalues of a 2D matrix image. More...
#include <ImageViz/Engines/ArithmeticAndLogic/ArithmeticOperations/SoEigenDecompositionProcessing2d.h>
Public Types | |
enum | OutputSelection { EIGEN_VECTOR_1 = 1, EIGEN_VECTOR_2 = 2, EIGEN_VALUES = 4 } |
Public Member Functions | |
SoEigenDecompositionProcessing2d () | |
Public Attributes | |
SoSFImageDataAdapter | inSymmetricMatrixImage |
SoSFBitMask | outputSelection |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outEigenVector1Image |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outEigenVector2Image |
SoImageVizEngineOutput < SoSFImageDataAdapter, SoImageDataAdapter * > | outEigenValuesImage |
The input image must have three channels, where each channel contains one of the unique components of a 2x2 symmetric matrix. (The redundant fourth component is not necessary.) This engine creates output images containing the eigenvectors and/or eigenvalues of the input matrix image.
Let be the matrix at position .
,
and ,
where is the spectral component value at the spatial position .
SoEigenDecompositionProcessing3d, SoHessianMatrixProcessing2d, SoHessianMatrixProcessing3d
inSymmetricMatrixImage | NULL |
outputSelection | EIGEN_VECTOR_1 | EIGEN_VECTOR_2 | EIGEN_VALUES |
This enum defines the different outputs that can be selected.
SoEigenDecompositionProcessing2d::SoEigenDecompositionProcessing2d | ( | ) |
Constructor.
A matrix image containing symmetric 2x2 matrices.
The image type must be float. The number of channels must be 3 in the following order: where is a symmetric matrix.
Default value is NULL. Supported types include: grayscale color image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoEigenDecompositionProcessing2d::outEigenValuesImage |
Eigenvalues image.
The IJK dimensions of the output image are the same as the input but the number of channels is 2 (channel 0 = largest Eigen value, channel 1 = smallest Eigen value). The calibration (voxel size, origin, orientation) is forced to the same values as the input. The voxel type is forced to float. Default value is NULL. Supported types include: grayscale binary label color image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoEigenDecompositionProcessing2d::outEigenVector1Image |
Eigenvector image containing the largest eigen value.
The IJK dimensions of the output image are the same as the input but the number of channels is 2 (channel 0 = x, channel 1 = y). The calibration (voxel size, origin, orientation) is forced to the same values as the input. The voxel type is forced to float. Default value is NULL. Supported types include: grayscale binary label image.
SoImageVizEngineOutput<SoSFImageDataAdapter,SoImageDataAdapter*> SoEigenDecompositionProcessing2d::outEigenVector2Image |
Eigenvector image containing the smallest eigen value.
The IJK dimensions of the output image are the same as the input but the number of channels is 2 (channel 0 = x, channel 1 = y). The calibration (voxel size, origin, orientation) is forced to the same values as the input. The voxel type is forced to float. Default value is NULL. Supported types include: grayscale binary label image.
Enable computation of selected outputs.
Use enum OutputSelection. Default is EIGEN_VECTOR_1 | EIGEN_VECTOR_2 | EIGEN_VALUES