From c1ccfb039e9b0c565cc8564e2122ab416a0c10ea Mon Sep 17 00:00:00 2001 From: Artur Glavic Date: Wed, 25 Sep 2024 11:27:41 +0200 Subject: [PATCH] fix issue with integers on windows where default is 32bit --- libeos/__init__.py | 2 +- libeos/file_reader.py | 8 ++++---- libeos/nb_helpers.py | 2 +- libeos/reduction.py | 2 +- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/libeos/__init__.py b/libeos/__init__.py index 9d8cfca..6cd06f9 100644 --- a/libeos/__init__.py +++ b/libeos/__init__.py @@ -2,5 +2,5 @@ Package to handle data redction at AMOR instrument to be used by eos.py script. """ -__version__ = '2.1' +__version__ = '2.1.0' __date__ = '2024-08-25' diff --git a/libeos/file_reader.py b/libeos/file_reader.py index 1cb59cd..b220e2f 100644 --- a/libeos/file_reader.py +++ b/libeos/file_reader.py @@ -252,13 +252,13 @@ class AmorData: if nb_helpers: self.wallTime_e = nb_helpers.extract_walltime(self.tof_e, self.dataPacket_p, self.dataPacketTime_p) else: - self.wallTime_e = np.empty(np.shape(self.tof_e)[0], dtype=int) + self.wallTime_e = np.empty(np.shape(self.tof_e)[0], dtype=np.int64) for i in range(len(self.dataPacket_p)-1): self.wallTime_e[self.dataPacket_p[i]:self.dataPacket_p[i+1]] = self.dataPacketTime_p[i] self.wallTime_e[self.dataPacket_p[-1]:] = self.dataPacketTime_p[-1] #if not self.startTime and not norm: # self.startTime = self.wallTime_e[0] - self.wallTime_e -= self.seriesStartTime + self.wallTime_e -= np.int64(self.seriesStartTime) logging.debug(f' wall time from {self.wallTime_e[0]/1e9} to {self.wallTime_e[-1]/1e9}') def monitor_threshold(self): @@ -348,12 +348,12 @@ class AmorData: def read_event_stream(self): self.tof_e = np.array(self.hdf['/entry1/Amor/detector/data/event_time_offset'][:])/1.e9 - self.pixelID_e = np.array(self.hdf['/entry1/Amor/detector/data/event_id'][:], dtype=int) + self.pixelID_e = np.array(self.hdf['/entry1/Amor/detector/data/event_id'][:], dtype=np.int64) self.dataPacket_p = np.array(self.hdf['/entry1/Amor/detector/data/event_index'][:], dtype=np.uint64) #self.dataPacketTime_p = np.array(self.hdf['/entry1/Amor/detector/data/event_time_zero'][:], dtype=np.uint64)/1e9 self.dataPacketTime_p = np.array(self.hdf['/entry1/Amor/detector/data/event_time_zero'][:], dtype=float) try: - self.currentTime = np.array(self.hdf['entry1/Amor/detector/proton_current/time'][:], dtype=int) + self.currentTime = np.array(self.hdf['entry1/Amor/detector/proton_current/time'][:], dtype=np.int64) self.current = np.array(self.hdf['entry1/Amor/detector/proton_current/value'][:,0], dtype=float) if len(self.current)>0: self.monitorType = 'protonCharge' diff --git a/libeos/nb_helpers.py b/libeos/nb_helpers.py index c72d3b5..68113a7 100644 --- a/libeos/nb_helpers.py +++ b/libeos/nb_helpers.py @@ -17,7 +17,7 @@ def extract_walltime(tof_e, dataPacket_p, dataPacketTime_p): # assigning every event the wall time of the event packet (absolute time of pulse ?start?) totalNumber = np.shape(tof_e)[0] #wallTime_e = np.empty(totalNumber, dtype=np.float64) - wallTime_e = np.empty(totalNumber, dtype=int) + wallTime_e = np.empty(totalNumber, dtype=np.int64) for i in nb.prange(len(dataPacket_p)-1): for j in range(dataPacket_p[i], dataPacket_p[i+1]): wallTime_e[j] = dataPacketTime_p[i] diff --git a/libeos/reduction.py b/libeos/reduction.py index e1b27a7..e5112b2 100644 --- a/libeos/reduction.py +++ b/libeos/reduction.py @@ -465,7 +465,7 @@ class AmorReduction: ''' if len(lambda_e)==0: # no more events in range, return empty bins - return [np.zeros(dimension, dtype=int).tolist()]*(len(lamda_edges)-1) + return [np.zeros(dimension, dtype=np.int64).tolist()]*(len(lamda_edges)-1) if len(lamda_edges)==2: # deepest recursion reached, all items should be within the two ToF edges return [np.bincount(position_e, minlength=dimension).tolist()]