eat package¶
Submodules¶
eat.factor module¶
-
eat.factor.factor(bb, initial_guess=None, weight=1.0)[source]¶ Factor out site-based delay and rate from baseline-based slopes
The linear drift (slopes) of phase with frequency and time are usually interpreted as delays and rates, and are removed from the VLBI data in fringe fitting. Let n be the number of feeds. There are n (n-1) such slopes in total. Using all of them, such as currently done in HOPS, breaks the closure relationships in general.
Global fringe solution takes into account the assumption that delays and rates are site-based. The main advantage is that it preserves the closure relationships. Even better, “one person’s noise is another person’s signal”, the remaining slopes after global fringe fit actually contain information about the source images. Being able to factor out these site-based “noise” from the baseline-based “data”, therefore, is essential for developing new high-order image reconstruction methods.
We implement here a very general approach to factor out site-based information from baseline-based information. Let obs[] be the observational data and sol[] be the solution array, the simplest error function is
chi[ref, rem] = obs[ref, rem] - (sol[ref] - sol[rem])so that the minimization is performed over
chi^2 = sum_baselines chi[ref, rem]^2 / sigma[ref, rem]^2However, it is clear that sol[] is not uniquely determined because chi[ref, rem] is invariant to a global constant offset to sol[]. The simplest fix is to add the regularizer
w mean(sol)^2Parameters: - bb – A numpy structured array or pandas dataframe of baseline-based input data
- initial_guess – Initial conditions of the minimizer
- weight – Weight of the regularizer
Returns: A dictionary of site-based data being factored out