AOT-biomaps 2.9.216__py3-none-any.whl → 2.9.217__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -293,25 +293,45 @@ class Experiment(ABC):
293
293
  if AOsignalPath.endswith(".cdh"):
294
294
  with open(AOsignalPath, "r") as file:
295
295
  cdh_content = file.readlines()
296
+
297
+ cdf_path = AOsignalPath.replace(".cdh", ".cdf")
296
298
 
297
- # Extraction des paramètres
298
- n_events = int([line.split(":")[1].strip() for line in cdh_content if "Number of events" in line][0])
299
- n_acquisitions = int([line.split(":")[1].strip() for line in cdh_content if "Number of acquisitions per event" in line][0])
299
+ # Extraire les paramètres depuis le fichier .cdh
300
+ n_scans = int([line.split(":")[1].strip() for line in cdh_content if "Number of events" in line][0])
301
+ n_acquisitions_per_event = int([line.split(":")[1].strip() for line in cdh_content if "Number of acquisitions per event" in line][0])
300
302
  num_elements = int([line.split(":")[1].strip() for line in cdh_content if "Number of US transducers" in line][0])
301
303
 
302
- # Initialisation avec la bonne forme : (n_acquisitions, n_events)
303
- AOsignal_matrix = np.zeros((n_acquisitions, n_events), dtype=np.float32)
304
+ print(f"Nombre de scans : {n_scans}")
305
+ print(f"Nombre d'acquisitions par événement : {n_acquisitions_per_event}")
306
+ print(f"Nombre d'éléments US : {num_elements}")
307
+
308
+
309
+ # Initialisation des structures
310
+ AO_signal = np.zeros((n_acquisitions_per_event, n_scans), dtype=np.float32)
311
+ active_lists = []
312
+ angles = []
313
+
314
+ # Lecture du fichier binaire
315
+ with open(cdf_path, "rb") as file:
316
+ for j in trange(n_scans, desc="Lecture des événements"):
317
+ # Lire l'activeList : 48 caractères hex = 24 bytes
318
+ active_list_bytes = file.read(24)
319
+ active_list_hex = active_list_bytes.hex()
320
+ active_lists.append(active_list_hex)
321
+
322
+ # Lire l'angle (1 byte signé)
323
+ angle_byte = file.read(1)
324
+ angle = np.frombuffer(angle_byte, dtype=np.int8)[0]
325
+ angles.append(angle)
304
326
 
305
- with open(AOsignalPath.replace(".cdh", ".cdf"), "rb") as file:
306
- hex_length = (num_elements + 3) // 4
307
- for event in range(n_events):
308
- file.read(hex_length // 2) # Sauter l'en-tête de l'événement
309
- signal = np.frombuffer(file.read(n_acquisitions * 4), dtype=np.float32)
310
- AOsignal_matrix[:, event] = signal # Remplir par colonne
327
+ # Lire le signal AO (float32)
328
+ data = np.frombuffer(file.read(n_acquisitions_per_event * 4), dtype=np.float32)
329
+ if len(data) != n_acquisitions_per_event:
330
+ raise ValueError(f"Erreur à l'événement {j} : attendu {n_acquisitions_per_event}, obtenu {len(data)}")
331
+ AO_signal[:, j] = data
311
332
 
312
- AOsignal_matrix = AOsignal_matrix
333
+ return AO_signal
313
334
 
314
- return AOsignal_matrix
315
335
 
316
336
  elif AOsignalPath.endswith(".npy"):
317
337
  return np.load(AOsignalPath) # Supposé déjà au bon format
@@ -348,7 +368,7 @@ class Experiment(ABC):
348
368
  f"Number of acquisitions per event: {AO_signal.shape[0]}\n"
349
369
  f"Start time (s): 0\n"
350
370
  f"Duration (s): 1\n"
351
- f"Acquisition frequency (Hz): {1/self.AcousticFields[0].kgrid.dt}\n"
371
+ f"Acquisition frequency (Hz): {self.params.acoustic['f_saving']}\n"
352
372
  f"Data mode: histogram\n"
353
373
  f"Data type: AOT\n"
354
374
  f"Number of US transducers: {self.params.acoustic['num_elements']}"
AOT_biomaps/__init__.py CHANGED
@@ -82,7 +82,7 @@ from .AOT_Recon.AOT_PotentialFunctions.RelativeDifferences import *
82
82
  from .Config import config
83
83
  from .Settings import *
84
84
 
85
- __version__ = '2.9.216'
85
+ __version__ = '2.9.217'
86
86
  __process__ = config.get_process()
87
87
 
88
88
  def initialize(process=None):
@@ -251,5 +251,6 @@ def initialize(process=None):
251
251
 
252
252
 
253
253
 
254
+
254
255
 
255
256
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AOT_biomaps
3
- Version: 2.9.216
3
+ Version: 2.9.217
4
4
  Summary: Acousto-Optic Tomography
5
5
  Home-page: https://github.com/LucasDuclos/AcoustoOpticTomography
6
6
  Author: Lucas Duclos
@@ -1,6 +1,6 @@
1
1
  AOT_biomaps/Config.py,sha256=ghEOP1n8aO1pR-su13wMeAZAxZRfry5hH67NbtZ8SqI,3614
2
2
  AOT_biomaps/Settings.py,sha256=v8fPhnvvcfBJP29m1RLOTEr3jndGLGwbUiORXmsj2Bo,2853
3
- AOT_biomaps/__init__.py,sha256=xLnxMqvxcnMaz1SxBFK00H3qB891lpWXtB7Uz-y13eE,4302
3
+ AOT_biomaps/__init__.py,sha256=a5-mladvHgmA_M1WKbypLCFGpl5fYpD17MwJ4SLWkv4,4304
4
4
  AOT_biomaps/AOT_Acoustic/AcousticEnums.py,sha256=s5kXa6jKzbS4btwbubrVcynLOr0yg5tth5vL_FGfbMk,1802
5
5
  AOT_biomaps/AOT_Acoustic/AcousticTools.py,sha256=al7xXKMY5e-qQQ7nrQVPVAmqYiB320OluNlY6ti8iKc,7539
6
6
  AOT_biomaps/AOT_Acoustic/FocusedWave.py,sha256=3kGKKDx_3Msy5COYqIwzROPORGWvNjw8UsDanBfkMXE,11037
@@ -12,7 +12,7 @@ AOT_biomaps/AOT_Acoustic/_mainAcoustic.py,sha256=RdmhRF1i0KAlpsP7_wnZ7F4J27br3eU
12
12
  AOT_biomaps/AOT_Experiment/Focus.py,sha256=B2nBawmv-NG2AWJx9zgQ8GlN6aFB9FwTSqX-M-phKXg,3193
13
13
  AOT_biomaps/AOT_Experiment/Tomography.py,sha256=LoQ304X9pUwpGn_BqNx1JijRFBFtI5Vz2R7bFIKyYKM,20954
14
14
  AOT_biomaps/AOT_Experiment/__init__.py,sha256=H9zMLeBLA6uhbaHohAa-2u5mDDxqJi8oE5c6tShdQp8,308
15
- AOT_biomaps/AOT_Experiment/_mainExperiment.py,sha256=qB7B29HPn-8KjjisYJBYXNqpznHMbxEq8MtUN4hB1Dg,24014
15
+ AOT_biomaps/AOT_Experiment/_mainExperiment.py,sha256=Jv25qvTyh4FU1POC1PIyodvLCi-wfRCeiLoR3RfpklI,24886
16
16
  AOT_biomaps/AOT_Optic/Absorber.py,sha256=jEodzRy7gkEH-wbazVasRQiri0dU16BfapmR-qnTSvM,867
17
17
  AOT_biomaps/AOT_Optic/Laser.py,sha256=uzQwxswjU0kZWix3CmZLoWmhsBa3VhN27STprNv-xB8,2986
18
18
  AOT_biomaps/AOT_Optic/OpticEnums.py,sha256=b349_JyjHqQohmjK4Wke-A_HLGaqb3_BKbyUqFC4jxY,499
@@ -37,7 +37,7 @@ AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/Huber.py,sha256=dRd1t5OBag_gVmfji3L
37
37
  AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/Quadratic.py,sha256=wTbzcXxMdEl9ReEXrL43DOJQecokBwJYU_s2kQUASZY,2545
38
38
  AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/RelativeDifferences.py,sha256=dgB3Vt40S5D1VerHr-h-YnzB5xNCt6amE19-C0zyIpU,2253
39
39
  AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/__init__.py,sha256=RwrJdLOFbAFBFnRxo5xdlOyeZgtQRDaRWDN9-uCGUiY,84
40
- aot_biomaps-2.9.216.dist-info/METADATA,sha256=EWVh3UxU1a5Thdxdx5KgruHt0-1a9zOKIYIhAd1utVE,663
41
- aot_biomaps-2.9.216.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
42
- aot_biomaps-2.9.216.dist-info/top_level.txt,sha256=6STF-lT4kaAnBHJYCripmN5mZABoHjMuY689JdiDphk,12
43
- aot_biomaps-2.9.216.dist-info/RECORD,,
40
+ aot_biomaps-2.9.217.dist-info/METADATA,sha256=brSxYFUSU9Q3wZC2LleSVDbMvvYk5pjzdAdZQMptPzE,663
41
+ aot_biomaps-2.9.217.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
42
+ aot_biomaps-2.9.217.dist-info/top_level.txt,sha256=6STF-lT4kaAnBHJYCripmN5mZABoHjMuY689JdiDphk,12
43
+ aot_biomaps-2.9.217.dist-info/RECORD,,