AOT-biomaps 2.9.370__py3-none-any.whl → 2.9.372__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.
- AOT_biomaps/AOT_Acoustic/_mainAcoustic.py +43 -15
- AOT_biomaps/__init__.py +3 -1
- {aot_biomaps-2.9.370.dist-info → aot_biomaps-2.9.372.dist-info}/METADATA +1 -1
- {aot_biomaps-2.9.370.dist-info → aot_biomaps-2.9.372.dist-info}/RECORD +6 -6
- {aot_biomaps-2.9.370.dist-info → aot_biomaps-2.9.372.dist-info}/WHEEL +0 -0
- {aot_biomaps-2.9.370.dist-info → aot_biomaps-2.9.372.dist-info}/top_level.txt +0 -0
|
@@ -93,6 +93,8 @@ class AcousticField(ABC):
|
|
|
93
93
|
'num_elements': params.acoustic['num_elements'],
|
|
94
94
|
'element_width': params.acoustic['element_width'],
|
|
95
95
|
'element_height': params.acoustic['element_height'],
|
|
96
|
+
'height_phantom': params.acoustic['phantom']['height'] if 'phantom' in params.acoustic and 'height' in params.acoustic['phantom'] else None,
|
|
97
|
+
'width_phantom': params.acoustic['phantom']['width'] if 'phantom' in params.acoustic and 'width' in params.acoustic['phantom'] else None,
|
|
96
98
|
'Xrange': params.general['Xrange'],
|
|
97
99
|
'Yrange': params.general['Yrange'],
|
|
98
100
|
'Zrange': params.general['Zrange'],
|
|
@@ -104,6 +106,7 @@ class AcousticField(ABC):
|
|
|
104
106
|
'Nx': int(np.round((params.general['Xrange'][1] - params.general['Xrange'][0])/params.general['dx'])),
|
|
105
107
|
'Ny': int(np.round((params.general['Yrange'][1] - params.general['Yrange'][0])/params.general['dy'])) if params.general['Yrange'] is not None else 1,
|
|
106
108
|
'Nz': int(np.round((params.general['Zrange'][1] - params.general['Zrange'][0])/params.general['dz'])),
|
|
109
|
+
'Nt': params.general['Nt'] if 'Nt' in params.general else None,
|
|
107
110
|
'probeWidth': params.acoustic['num_elements'] * params.acoustic['element_width'],
|
|
108
111
|
'IsAbsorbingMedium': params.acoustic['isAbsorbingMedium'],
|
|
109
112
|
}
|
|
@@ -114,8 +117,11 @@ class AcousticField(ABC):
|
|
|
114
117
|
|
|
115
118
|
self.params['f_AQ'] = int(1/self.kgrid.dt)
|
|
116
119
|
else:
|
|
117
|
-
|
|
118
|
-
|
|
120
|
+
if self.params['Nt'] is None:
|
|
121
|
+
Nt = ceil((self.params['Zrange'][1] - self.params['Zrange'][0])*float(params.acoustic['f_AQ']) / self.params['c0'])
|
|
122
|
+
self.params['Nt'] = Nt
|
|
123
|
+
else:
|
|
124
|
+
Nt = self.params['Nt']
|
|
119
125
|
self.kgrid.setTime(Nt,1/float(params.acoustic['f_AQ']))
|
|
120
126
|
self.params['f_AQ'] = int(float(params.acoustic['f_AQ']))
|
|
121
127
|
|
|
@@ -505,13 +511,25 @@ class AcousticField(ABC):
|
|
|
505
511
|
try:
|
|
506
512
|
# --- 1. Grid setup ---
|
|
507
513
|
dx = self.params['dx']
|
|
508
|
-
if dx >= self.params['element_width']
|
|
514
|
+
if dx >= self.params['element_width']:
|
|
509
515
|
dx = self.params['element_width'] / 2
|
|
510
|
-
|
|
511
|
-
|
|
516
|
+
if self.params['width_phantom'] is not None:
|
|
517
|
+
Nx = int(np.round((self.params['width_phantom'])/dx))
|
|
518
|
+
else:
|
|
519
|
+
Nx = int(round((self.params['Xrange'][1] - self.params['Xrange'][0]) / dx))
|
|
520
|
+
if self.params['height_phantom'] is not None:
|
|
521
|
+
Nz = int(np.round((self.params['height_phantom'])/dx))
|
|
522
|
+
else:
|
|
523
|
+
Nz = int(round((self.params['Zrange'][1] - self.params['Zrange'][0]) / dx))
|
|
512
524
|
else:
|
|
513
|
-
|
|
514
|
-
|
|
525
|
+
if self.params['width_phantom'] is not None:
|
|
526
|
+
Nx = int(np.round((self.params['width_phantom'])/self.params['dx']))
|
|
527
|
+
else:
|
|
528
|
+
Nx = int(round((self.params['Xrange'][1] - self.params['Xrange'][0]) / self.params['dx']))
|
|
529
|
+
if self.params['height_phantom'] is not None:
|
|
530
|
+
Nz = int(np.round((self.params['height_phantom'])/self.params['dz']))
|
|
531
|
+
else:
|
|
532
|
+
Nz = int(round((self.params['Zrange'][1] - self.params['Zrange'][0]) / self.params['dz']))
|
|
515
533
|
|
|
516
534
|
# --- 2. Time and space factors ---
|
|
517
535
|
self.factorT = int(np.ceil(self.params['f_AQ'] / self.params['f_saving']))
|
|
@@ -530,17 +548,15 @@ class AcousticField(ABC):
|
|
|
530
548
|
sensor.mask = np.ones((Nx, Nz))
|
|
531
549
|
|
|
532
550
|
# --- 5. PML setup ---
|
|
533
|
-
total_size_x = next_power_of_2(Nx)
|
|
534
551
|
total_size_z = next_power_of_2(Nz)
|
|
535
|
-
pml_x_size = (total_size_x - Nx) // 2
|
|
536
552
|
pml_z_size = (total_size_z - Nz) // 2
|
|
537
|
-
pml_x_size = max(pml_x_size, 50) # Ensure a minimum PML size of 50 grid points to avoid parasitic reflections
|
|
538
553
|
pml_z_size = max(pml_z_size, 50) # Ensure a minimum PML size of 50 grid points to avoid parasitic reflections
|
|
539
554
|
|
|
540
555
|
# --- 6. Simulation options ---
|
|
541
556
|
simulation_options = SimulationOptions(
|
|
542
557
|
pml_inside=False,
|
|
543
|
-
pml_size=[
|
|
558
|
+
pml_size=[0, pml_z_size],
|
|
559
|
+
pml_header=True,
|
|
544
560
|
use_sg=False,
|
|
545
561
|
save_to_disk=True,
|
|
546
562
|
input_filename=os.path.join(gettempdir(), "KwaveIN.h5"),
|
|
@@ -583,11 +599,23 @@ class AcousticField(ABC):
|
|
|
583
599
|
dx = self.params['dx']
|
|
584
600
|
if dx >= self.params['element_width']:
|
|
585
601
|
dx = self.params['element_width'] / 2
|
|
586
|
-
|
|
587
|
-
|
|
602
|
+
if self.params['width_phantom'] is not None:
|
|
603
|
+
Nx = int(np.round((self.params['width_phantom'])/dx))
|
|
604
|
+
else:
|
|
605
|
+
Nx = int(round((self.params['Xrange'][1] - self.params['Xrange'][0]) / dx))
|
|
606
|
+
if self.params['height_phantom'] is not None:
|
|
607
|
+
Nz = int(np.round((self.params['height_phantom'])/dx))
|
|
608
|
+
else:
|
|
609
|
+
Nz = int(round((self.params['Zrange'][1] - self.params['Zrange'][0]) / dx))
|
|
588
610
|
else:
|
|
589
|
-
|
|
590
|
-
|
|
611
|
+
if self.params['width_phantom'] is not None:
|
|
612
|
+
Nx = int(np.round((self.params['width_phantom'])/self.params['dx']))
|
|
613
|
+
else:
|
|
614
|
+
Nx = int(round((self.params['Xrange'][1] - self.params['Xrange'][0]) / self.params['dx']))
|
|
615
|
+
if self.params['height_phantom'] is not None:
|
|
616
|
+
Nz = int(np.round((self.params['height_phantom'])/self.params['dz']))
|
|
617
|
+
else:
|
|
618
|
+
Nz = int(round((self.params['Zrange'][1] - self.params['Zrange'][0]) / self.params['dz']))
|
|
591
619
|
|
|
592
620
|
# --- 2. Time and space factors (common) ---
|
|
593
621
|
factorT = int(np.ceil(self.params['f_AQ'] / self.params['f_saving']))
|
AOT_biomaps/__init__.py
CHANGED
|
@@ -85,7 +85,7 @@ from .AOT_Recon.AOT_PotentialFunctions.RelativeDifferences import *
|
|
|
85
85
|
from .Config import config
|
|
86
86
|
from .Settings import *
|
|
87
87
|
|
|
88
|
-
__version__ = '2.9.
|
|
88
|
+
__version__ = '2.9.372'
|
|
89
89
|
__process__ = config.get_process()
|
|
90
90
|
|
|
91
91
|
def initialize(process=None):
|
|
@@ -231,6 +231,8 @@ def initialize(process=None):
|
|
|
231
231
|
|
|
232
232
|
|
|
233
233
|
|
|
234
|
+
|
|
235
|
+
|
|
234
236
|
|
|
235
237
|
|
|
236
238
|
|
|
@@ -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=
|
|
3
|
+
AOT_biomaps/__init__.py,sha256=kQwtDEc16hDG55-_3fja8dSj4Rht8ze0DBNbXxO9lXs,4406
|
|
4
4
|
AOT_biomaps/AOT_Acoustic/AcousticEnums.py,sha256=s5kXa6jKzbS4btwbubrVcynLOr0yg5tth5vL_FGfbMk,1802
|
|
5
5
|
AOT_biomaps/AOT_Acoustic/AcousticTools.py,sha256=7kuWIIGyzZPQrzRI0zVvdwNUp7qKUE67yCYOMzSb0Ug,8283
|
|
6
6
|
AOT_biomaps/AOT_Acoustic/FocusedWave.py,sha256=3kGKKDx_3Msy5COYqIwzROPORGWvNjw8UsDanBfkMXE,11037
|
|
@@ -8,7 +8,7 @@ AOT_biomaps/AOT_Acoustic/IrregularWave.py,sha256=yZhtxkR6zlciRcEpdTR0BAhvgQl40XH
|
|
|
8
8
|
AOT_biomaps/AOT_Acoustic/PlaneWave.py,sha256=xza-rj5AUWDecLkGDxRcULrwZVWeBvGnEP2d51TyR04,1447
|
|
9
9
|
AOT_biomaps/AOT_Acoustic/StructuredWave.py,sha256=DRTjD-zrmX12FHrvwOeEo-Rk1fHYm9gfCcebz4WhtXc,18930
|
|
10
10
|
AOT_biomaps/AOT_Acoustic/__init__.py,sha256=t9M2rRqa_L9pk7W2FeELTkHEMuP4DBr4gBRldMqsQbg,491
|
|
11
|
-
AOT_biomaps/AOT_Acoustic/_mainAcoustic.py,sha256=
|
|
11
|
+
AOT_biomaps/AOT_Acoustic/_mainAcoustic.py,sha256=z_fnwPXixDt-fO-TR-AXXrjGhgxJhjC8l9YkBWX3aME,46162
|
|
12
12
|
AOT_biomaps/AOT_Experiment/ExperimentTools.py,sha256=aFvJw6J_jfFVTDFnG7J3a61SHEgORdZKZS0UI82VMaY,2637
|
|
13
13
|
AOT_biomaps/AOT_Experiment/Focus.py,sha256=B2nBawmv-NG2AWJx9zgQ8GlN6aFB9FwTSqX-M-phKXg,3193
|
|
14
14
|
AOT_biomaps/AOT_Experiment/Tomography.py,sha256=9mJDwV9WVphoX8drL7MgN3WhS6fjYwS6HWQD3x1CrVs,37625
|
|
@@ -42,7 +42,7 @@ AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/__init__.py,sha256=RwrJdLOFbAFBFnRx
|
|
|
42
42
|
AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/SparseSMatrix_CSR.py,sha256=RACc2P5oxmp0uPLAGnNj9mEtAxa_OlepNgCawKij3jI,12062
|
|
43
43
|
AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/SparseSMatrix_SELL.py,sha256=ti3dZQsb_Uu62C7Bn65Z-yf-R5NKCFsmnBT5GlLd_HY,15138
|
|
44
44
|
AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/__init__.py,sha256=8nou-hqjQjuCTLhoL5qv4EM_lMPFviAZAZKSPhi84jE,67
|
|
45
|
-
aot_biomaps-2.9.
|
|
46
|
-
aot_biomaps-2.9.
|
|
47
|
-
aot_biomaps-2.9.
|
|
48
|
-
aot_biomaps-2.9.
|
|
45
|
+
aot_biomaps-2.9.372.dist-info/METADATA,sha256=LCSOt-pw_o2CG-ehSjE0G70PZHMCzs8eBIh1sVT5sNY,700
|
|
46
|
+
aot_biomaps-2.9.372.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
47
|
+
aot_biomaps-2.9.372.dist-info/top_level.txt,sha256=6STF-lT4kaAnBHJYCripmN5mZABoHjMuY689JdiDphk,12
|
|
48
|
+
aot_biomaps-2.9.372.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|