From aea3000635be8efbf9f0b9871d865d5ca08e8c9e Mon Sep 17 00:00:00 2001
From: Mattia Mancini <mancini@astron.nl>
Date: Tue, 25 Sep 2018 11:12:43 +0000
Subject: [PATCH] SSB-42: fixing reading function

---
 .../lib/datacontainers/holography_dataset.py        | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py b/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py
index 687a0b53dc0..18978cca773 100644
--- a/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py
+++ b/CAL/CalibrationCommon/lib/datacontainers/holography_dataset.py
@@ -66,7 +66,10 @@ class HolographyDataset():
                 if isinstance(dict1[key], dict) and isinstance(dict2[key], dict):
                     result = result and HolographyDataset.compare_dicts(dict1[key], dict2[key])
                 else:
-                    return dict1[key] == dict2[key] 
+                    if isinstance(dict1[key], numpy.ndarray) and isinstance(dict2[key], numpy.ndarray):
+                        return numpy.array_equal(dict1[key], dict2[key])
+                    else:
+                        return dict1[key] == dict2[key]
             else:
                 print(key, dict1.keys(), dict2.keys())
                 return False
@@ -335,9 +338,11 @@ class HolographyDataset():
             result.ra_dec = dict()
             for frequency in f["RA_DEC"].keys():
                 for beamlet in f["RA_DEC"][frequency].keys():
-                    if frequency not in result.data:
+
+                    if frequency not in result.ra_dec:
                         result.ra_dec[frequency] = dict()
-                    result.ra_dec[frequency][beamlet] = f["RA_DEC"][frequency][beamlet]
+
+                    result.ra_dec[frequency][beamlet] = numpy.array(f["RA_DEC"][frequency][beamlet])
 
             beamlets = set()
             result.data = dict()
@@ -349,7 +354,7 @@ class HolographyDataset():
                             result.data[reference_station] = dict()
                         if frequency not in result.data[reference_station]:
                             result.data[reference_station][frequency] = dict()
-                        result.data[reference_station][frequency][beamlet] = f["CROSSCORRELATION"][reference_station][frequency][beamlet]
+                        result.data[reference_station][frequency][beamlet] = numpy.array(f["CROSSCORRELATION"][reference_station][frequency][beamlet])
 
             result.beamlets = list(beamlets)
         except Exception as e:
-- 
GitLab