From 18f6e2f10eab624c84aba1e6bf7f69dca6d56983 Mon Sep 17 00:00:00 2001 From: mancini <mancini@astron.nl> Date: Wed, 21 Aug 2019 11:35:14 +0200 Subject: [PATCH] SSB-47: generalized exception handling and reformat --- CAL/CalibrationProcessing/bin/holography_process.py | 3 +++ CAL/CalibrationProcessing/lib/processing/averaging.py | 5 ++--- CAL/CalibrationProcessing/lib/processing/solver.py | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/CAL/CalibrationProcessing/bin/holography_process.py b/CAL/CalibrationProcessing/bin/holography_process.py index a5bba07ce7a..688360a4b94 100644 --- a/CAL/CalibrationProcessing/bin/holography_process.py +++ b/CAL/CalibrationProcessing/bin/holography_process.py @@ -136,6 +136,7 @@ def compute_gains_step(dataset, input_datatable, direct_complex=True): dataset.derived_data['GAINS'] = output_datable return output_datable + @log_step_execution('gains interpolation') def interpolate_gains_step(dataset, input_datatable): """ @@ -152,6 +153,7 @@ def interpolate_gains_step(dataset, input_datatable): dataset.derived_data['INTERPOLATED_GAINS'] = output_datable return output_datable + @log_step_execution('save') def store_step(dataset, filepath): absolute_filepath = os.path.abspath(filepath) @@ -166,6 +168,7 @@ def prepare_dataset_for_processing(dataset: datacontainers.HolographyDataset): if dataset.derived_data is None: dataset.derived_data = dict() + def execute_processing(arguments): dataset = loading(arguments.input_path) prepare_dataset_for_processing(dataset) diff --git a/CAL/CalibrationProcessing/lib/processing/averaging.py b/CAL/CalibrationProcessing/lib/processing/averaging.py index 81636c40646..cadc8666510 100644 --- a/CAL/CalibrationProcessing/lib/processing/averaging.py +++ b/CAL/CalibrationProcessing/lib/processing/averaging.py @@ -466,7 +466,6 @@ def weighted_average_dataset_per_station(dataset, input_data_table): stations = dataset.reference_stations frequencies = dataset.frequencies - beams = dataset.beamlets result_ALL = dict() result = dict(all=result_ALL) @@ -474,8 +473,8 @@ def weighted_average_dataset_per_station(dataset, input_data_table): result_per_frequency = dict() result_ALL[str(frequency)] = result_per_frequency - for beam in beams: - beam_str = str(beam) + for beam_str in input_data_table[frequencies]: + result_per_beam = numpy.zeros(1, dtype=HDS_data_sample_type) average_per_beam_station, std_real_per_beam_station, std_imag_per_beam_station = \ diff --git a/CAL/CalibrationProcessing/lib/processing/solver.py b/CAL/CalibrationProcessing/lib/processing/solver.py index 9326ba84a37..b08c40f89bd 100644 --- a/CAL/CalibrationProcessing/lib/processing/solver.py +++ b/CAL/CalibrationProcessing/lib/processing/solver.py @@ -223,8 +223,9 @@ def _solve_gains(visibilities, matrix, **kwargs): return dict(gains=gains.A1, residual=residual, relative_error=noise, flag=numpy.array(False)) - except numpy.linalg.LinAlgError as e: - logger.warning('error solving for the gains: %s', e) + except Exception as e: + logger.warning('error solving for the gains: %s - %s', e.__class__.__name__, e) + logger.exception(e) __empty = dict(gains=numpy.array(numpy.nan), residual=numpy.array(numpy.nan), relative_error=numpy.array(numpy.nan), -- GitLab