def spatFT_LSF(data, position_grid, order_max, spherical_harmonic_bases=None):
'''Returns spherical harmonics coefficients least square fitted to provided data
Parameters
----------
data : array_like, complex
Data to be fitted to
position_grid : array_like, or io.SphericalGrid
Azimuth / colatitude data locations
order_max: int
Maximum order N of fit
Returns
-------
coefficients: array_like, float
Fitted spherical harmonic coefficients (indexing: n**2 + n + m + 1)
'''
position_grid = SphericalGrid(*position_grid)
if spherical_harmonic_bases is None:
spherical_harmonic_bases = sph_harm_all(order_max, position_grid.azimuth, position_grid.colatitude)
return lstsq(spherical_harmonic_bases, data)[0]
评论列表
文章目录