From 3a85c7ef88bf09cc3d5ea4ef18e816f1c1690c3c Mon Sep 17 00:00:00 2001 From: Mattia Mancini <mancini@astron.nl> Date: Fri, 10 May 2019 08:29:45 +0000 Subject: [PATCH] SSB-44: reordering of the indexes --- .../datacontainers/holography_datatable.py | 23 ++++++++++--------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/CAL/CalibrationCommon/lib/datacontainers/holography_datatable.py b/CAL/CalibrationCommon/lib/datacontainers/holography_datatable.py index 7146ce82874..0278ff0f7f3 100644 --- a/CAL/CalibrationCommon/lib/datacontainers/holography_datatable.py +++ b/CAL/CalibrationCommon/lib/datacontainers/holography_datatable.py @@ -89,7 +89,7 @@ class HolographyDataTable(LazyH5Table): try: self.__get_index_arrays() except KeyError: - logger.debug('uri missing creating datable at: ' + self.uri) + logger.debug('uri missing, creating datable at: ' + self.uri) def __get_index_arrays(self): """ @@ -109,12 +109,12 @@ class HolographyDataTable(LazyH5Table): # I select the first reference station just for convenience to iterate on the third level first_frequency = frequencies_string[0] beam_numbers = {beam_number for beam_number in self.h5_file[self.uri] - [first_frequency] - [first_reference_station]} + [first_reference_station] + [first_frequency]} - self._frequencies = set(sorted(map(float, frequencies_string))) - self._reference_stations = reference_stations - self._beam_numbers = set(sorted(map(int, beam_numbers))) + self._frequencies = tuple(sorted(map(float, frequencies_string))) + self._reference_stations = tuple(reference_stations) + self._beam_numbers = tuple(sorted(map(int, beam_numbers))) @property def frequencies(self): @@ -173,7 +173,7 @@ class HolographyDataTable(LazyH5Table): reference_station, frequency, beam_number = key self._frequencies.add(float(frequency)) - self._reference_stations.add(frequency) + self._reference_stations.add(reference_station) self._beam_numbers.add(int(beam_number)) super().__setitem__((reference_station, @@ -184,13 +184,14 @@ class HolographyDataTable(LazyH5Table): for frequency in self._frequencies: for station in self._reference_stations: for beam in self._beam_numbers: - yield (float(frequency), station, int(beam)), \ + yield (station, float(frequency), int(beam)), \ self.__getitem__((station, frequency, beam)) def keys(self): key_set = set() - for frequency in self._frequencies: - for station in self._reference_stations: + + for station in self._reference_stations: + for frequency in self._frequencies: for beam in self._beam_numbers: - key_set.add((frequency, station, beam)) + key_set.add((station, frequency, beam)) return key_set -- GitLab