def compute_jones (self,nodes,stations=None,tags=None,label='',inspectors=[],**kw): stations = stations or Context.array.stations(); rot_def = Meow.Parm(0); nr = Jones.rotation_matrix(nodes("R"),rot_def,tags=tags,series=stations); ne = Jones.ellipticity_matrix(nodes("E"),rot_def,tags=tags,series=stations); for p in stations: nodes(p) << Meq.MatrixMultiply(nr(p),ne(p)); # make parmgroups for phases and gains self.pg_rot = ParmGroup.ParmGroup(label+"_leakage", nodes.search(tags="solvable"), table_name="%s_leakage.mep"%label,bookmark=True); # make solvejobs ParmGroup.SolveJob("cal_"+label+"_leakage","Calibrate %s (leakage)"%label,self.pg_rot); # make inspector for parameters StdTrees.inspector(nodes('inspector'),self.pg_rot.nodes,bookmark=False); inspectors.append(nodes('inspector')); return nodes;
def compute_jones(self, nodes, stations=None, tags=None, label='', inspectors=[], **kw): stations = stations or Context.array.stations() rot_def = Meow.Parm(0) nr = Jones.rotation_matrix(nodes("R"), rot_def, tags=tags, series=stations) ne = Jones.ellipticity_matrix(nodes("E"), rot_def, tags=tags, series=stations) for p in stations: nodes(p) << Meq.MatrixMultiply(nr(p), ne(p)) # make parmgroups for phases and gains self.pg_rot = ParmGroup.ParmGroup(label + "_leakage", nodes.search(tags="solvable"), table_name="%s_leakage.mep" % label, bookmark=True) # make solvejobs ParmGroup.SolveJob("cal_" + label + "_leakage", "Calibrate %s (leakage)" % label, self.pg_rot) # make inspector for parameters StdTrees.inspector(nodes('inspector'), self.pg_rot.nodes, bookmark=False) inspectors.append(nodes('inspector')) return nodes