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