Skip to content
Snippets Groups Projects

Tweak calib lh

Open Philipp Arras requested to merge tweak_calib_lh into master
+ 4
4
@@ -198,11 +198,10 @@ def CalibrationLikelihood(
cops = _duplicate(_obj2list(calibration_operator, ift.Operator), len(obs))
log_icovs = _duplicate(_obj2list(log_inverse_covariance_operator, ift.Operator), len(obs))
model_d = _duplicate(_obj2list(model_visibilities, ift.Field), len(obs))
model_d = [ift.makeOp(mm) @ cop for mm, cop in zip(model_d, cops)]
if len(obs) > 1:
raise NotImplementedError
obs, model_d, log_icov = obs[0], model_d[0], log_icovs[0]
obs, model_d, log_icov, cop = obs[0], model_d[0], log_icovs[0]; cops[0]
dt = DtypeConverter(model_d.target, np.complex128, obs.vis.dtype)
dt_icov = DtypeConverter(model_d.target, np.float64, obs.weight.dtype)
@@ -213,11 +212,12 @@ def CalibrationLikelihood(
inverse_covariance=obs.weight,
nthreads=nthreads,
mask=obs.mask,
multiplicative=dt(model_d)
)
return e @ dt @ model_d
return e @ dt @ cop
else:
s0, s1 = "model data", "inverse covariance"
e = VariableCovarianceDiagonalGaussianLikelihood(
obs.vis, s0, s1, mask=obs.mask, nthreads=nthreads
)
return e @ ((dt @ model_d).ducktape_left(s0) + (dt_icov @ log_icov).ducktape_left(s1))
return e @ ((dt @ model_d @ cop).ducktape_left(s0) + (dt_icov @ log_icov).ducktape_left(s1))
Loading