foscat.HealSpline#

Classes#

Module Contents#

class foscat.HealSpline.heal_spline(level, gamma=1)[source]#
nside_store#
spline_tree#
gamma = 1#
nside#
th0_val#
ph0_val#
idx_th#
spline_lat#
f_interp_th#
ang2weigths(th, ph, threshold=0.01, nest=False)[source]#
P(x, www, all_idx)[source]#
PT(y, www, all_idx, hit)[source]#
conjugate_gradient_normal_equation(data, x0, www, all_idx, max_iter=100, tol=1e-08, verbose=True)[source]#

Solve (PᵗP)x = Pᵗy using explicit Conjugate Gradient without scipy.cg.

Parameters:#

P : function(x) → forward operator (ℝⁿ → ℝᵐ) PT : function(y) → adjoint operator (ℝᵐ → ℝⁿ) data : array_like, observed data y ∈ ℝᵐ x0 : array_like, initial guess for x ∈ ℝⁿ max_iter: maximum number of iterations tol : convergence tolerance on relative residual verbose : if True, print convergence info

Returns:#

x : estimated solution ∈ ℝⁿ

Fit(X, th, ph, threshold=0.01, nest=True, max_iter=100, tol=1e-08)[source]#
SetParam(nside, spline, heal_idx)[source]#
GetParam()[source]#
Transform(th, ph, threshold=0.01, nest=True)[source]#
FitTransform(X, th, ph, threshold=0.01, nest=True)[source]#