Closed fuzhenrong closed 6 years ago
The spectral coefficients are a function of the eigenvalues. See Martin Reuter's "Shape DNA" paper: https://pdfs.semanticscholar.org/1931/674a9a694bc460e986bfd0c005e51262a08b.pdf
hi--- i am still not clear! my question is what is the Laplace-Beltrami spectrum results in the mindboggle mean, the part of table in the result, is has 9 results for each ROI, from lapiace-beltrami 2 to lapiace-beltrami 10. what these results mean? the distance?
These are the Laplace-Beltrami spectral coefficients, skipping the first one.
the following section i posted is incorrect. see @m-reuter reply below.
see this for info: https://upload.wikimedia.org/wikipedia/commons/1/12/Rotating_spherical_harmonics.gif
so technically the coefficients of the harmonics from rows 2- 4.
@binarybottle - why are we computing spherical harmonics for regions? shouldn't the zernicke moments be better for the regions since they are topologically discs rather than spheres?
These are not the spherical harmonics, they are the eigenvalues of the given shapes. For shapes with boundary a boundary condition is needed, and I think here we use the Neumann condition. For closed shapes, and for Neumann, the first eigenvalues is zero, that's why it is missing. It may make sense to normalize the eigenvalues with respect to size of the structure to only look at shape differences - depends on the application. I think for 2d structures you would multiply by area, but check the publications.
@m-reuter - thanks for the clarification and the info on normalization.
@binarybottle i am clear! thank you!
Thanks, @m-reuter !
Currently, Mindboggle defaults to normalizing by both area and index:
def area_normalize(points, faces, spectrum): """ Normalize a spectrum using areas as suggested in Reuter et al. (2006)
def index_normalize(spectrum): """ Normalize a spectrum by division of index to account for linear increase of Eigenvalue magnitude (Weyl's law in 2D) as suggested in Reuter et al. (2006) and used in BrainPrint (Wachinger et al. 2015)
From laplace_beltrami.py: def fem_laplacian(points, faces, spectrum_size=10, normalization="areaindex", verbose=False): """ Compute linear finite-element method Laplace-Beltrami spectrum after Martin Reuter's MATLAB code.
Parameters
----------
points : list of lists of 3 floats
x,y,z coordinates for each vertex of the structure
faces : list of lists of 3 integers
3 indices to vertices that form a triangle on the mesh
spectrum_size : integer
number of eigenvalues to be computed (the length of the spectrum)
normalization : string
the method used to normalize eigenvalues
if None, no normalization is used
if "area", use area of the 2D structure as in Reuter et al. 2006
if "index", divide eigenvalue by index to account for linear trend
if "areaindex", do both (default)
verbose : bool
print statements?
Returns
-------
spectrum : list
first spectrum_size eigenvalues for Laplace-Beltrami spectrum
dear all ; the mindboggle results about the Laplace-Beltrami spectrum has 9 values for each structure. i really do not know the meaning of it. i assume is it 9 eigenvalues of the spectrum ? thank you! good luck! fuzhenrong beihang university