diff --git a/CAL/CalibrationProcessing/lib/processing/solver.py b/CAL/CalibrationProcessing/lib/processing/solver.py index 6a12c575a6d65b241566ff5292e4254c68b24920..16d036f83c9aa5d6164dd2bce931583e198f1a15 100644 --- a/CAL/CalibrationProcessing/lib/processing/solver.py +++ b/CAL/CalibrationProcessing/lib/processing/solver.py @@ -65,10 +65,10 @@ def _compute_pointing_matrices_per_station_frequency_beam(dataset, datatable, ce pointing_matrix = numpy.matrix(numpy.zeros((n_beams, n_antennas), dtype=complex)) - for i in range(n_beams): + for i, beam_str in enumerate(datatable): for j in range(n_antennas): - l = datatable[central_beam]['mean']['l'][0] - datatable[str(i)]['mean']['l'][0] - m = datatable[central_beam]['mean']['m'][0] - datatable[str(i)]['mean']['m'][0] + l = datatable[central_beam]['mean']['l'][0] - datatable[beam_str]['mean']['l'][0] + m = datatable[central_beam]['mean']['m'][0] - datatable[beam_str]['mean']['m'][0] x, y = rotated_coordinates[j, 0:2] phase = _compute_expected_phase_delay(l, m, x, y, frequency) @@ -249,13 +249,11 @@ def _solve_gains_per_frequency(dataset, datatable, frequency, direct_complex=Tru datatable, central_beam, frequency) - n_beams = len(datatable) - result = dict() for polarization in ['XX', 'XY', 'YX', 'YY']: visibilities = numpy.matrix( - [datatable[str(i)]['mean'][polarization] for i in range(n_beams)]) + [datatable[beam_str]['mean'][polarization] for beam_str in datatable]) if direct_complex is True: result[polarization] = _solve_gains(visibilities, matrix, **kwargs)