Why would the output of SymmetricEigenAnalysisImageFilter have 6 channels, and at each pixel there are more than 3 non-zero values (there should only be three eigenvalues)?
This is my code for computing the hessian eigenvalues using python
import itk
hessian_image = itk.hessian_recursive_gaussian_image_filter(
itk_image, sigma=2.0
)
#hessian_image size = (6, 188, 217, 259)
eigen_values_image = itk.SymmetricEigenAnalysisImageFilter(hessian_image)
#eigen_values_image size = (6, 188, 217, 259)
eigen_values_array = itk.GetArrayFromImage(eigen_values_image, keep_axes=True)
print( eigen_values_array[:,100,100,100] )
array([ -3.0928779 , 1.86561006, 0. , -11.97670084,
6.26783045, 0. ])
Why are there more than 3 non-zero eigenvalues?