AOT-biomaps 2.9.186__py3-none-any.whl → 2.9.294__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.

Potentially problematic release.


This version of AOT-biomaps might be problematic. Click here for more details.

Files changed (28) hide show
  1. AOT_biomaps/AOT_Acoustic/StructuredWave.py +2 -2
  2. AOT_biomaps/AOT_Acoustic/_mainAcoustic.py +11 -6
  3. AOT_biomaps/AOT_Experiment/Tomography.py +74 -4
  4. AOT_biomaps/AOT_Experiment/_mainExperiment.py +95 -55
  5. AOT_biomaps/AOT_Recon/AOT_Optimizers/DEPIERRO.py +48 -13
  6. AOT_biomaps/AOT_Recon/AOT_Optimizers/LS.py +406 -13
  7. AOT_biomaps/AOT_Recon/AOT_Optimizers/MAPEM.py +118 -38
  8. AOT_biomaps/AOT_Recon/AOT_Optimizers/MLEM.py +303 -102
  9. AOT_biomaps/AOT_Recon/AOT_Optimizers/PDHG.py +443 -12
  10. AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/RelativeDifferences.py +10 -14
  11. AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/SparseSMatrix_CSR.py +274 -0
  12. AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/SparseSMatrix_SELL.py +328 -0
  13. AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/__init__.py +2 -0
  14. AOT_biomaps/AOT_Recon/AOT_biomaps_kernels.cubin +0 -0
  15. AOT_biomaps/AOT_Recon/AlgebraicRecon.py +243 -113
  16. AOT_biomaps/AOT_Recon/AnalyticRecon.py +26 -41
  17. AOT_biomaps/AOT_Recon/BayesianRecon.py +81 -146
  18. AOT_biomaps/AOT_Recon/PrimalDualRecon.py +157 -94
  19. AOT_biomaps/AOT_Recon/ReconEnums.py +27 -2
  20. AOT_biomaps/AOT_Recon/ReconTools.py +229 -12
  21. AOT_biomaps/AOT_Recon/__init__.py +1 -0
  22. AOT_biomaps/AOT_Recon/_mainRecon.py +60 -53
  23. AOT_biomaps/__init__.py +4 -69
  24. {aot_biomaps-2.9.186.dist-info → aot_biomaps-2.9.294.dist-info}/METADATA +2 -1
  25. aot_biomaps-2.9.294.dist-info/RECORD +47 -0
  26. aot_biomaps-2.9.186.dist-info/RECORD +0 -43
  27. {aot_biomaps-2.9.186.dist-info → aot_biomaps-2.9.294.dist-info}/WHEEL +0 -0
  28. {aot_biomaps-2.9.186.dist-info → aot_biomaps-2.9.294.dist-info}/top_level.txt +0 -0
@@ -10,7 +10,7 @@ from abc import ABC, abstractmethod
10
10
 
11
11
 
12
12
  class Recon(ABC):
13
- def __init__(self, experiment, saveDir = None, isGPU = config.get_process() == 'gpu', isMultiGPU = True if config.numGPUs > 1 else False, isMultiCPU = True):
13
+ def __init__(self, experiment, saveDir = None, isGPU = config.get_process() == 'gpu', isMultiCPU = True):
14
14
  self.reconPhantom = None
15
15
  self.reconLaser = None
16
16
  self.experiment = experiment
@@ -21,7 +21,6 @@ class Recon(ABC):
21
21
  self.CRC = None
22
22
 
23
23
  self.isGPU = isGPU
24
- self.isMultiGPU = isMultiGPU
25
24
  self.isMultiCPU = isMultiCPU
26
25
 
27
26
  if str(type(self.experiment)) != str(Tomography):
@@ -31,7 +30,7 @@ class Recon(ABC):
31
30
  def run(self,withTumor = True):
32
31
  pass
33
32
 
34
- def save(self, withTumor=True, overwrite=False, date=None):
33
+ def save(self, withTumor=True, overwrite=False, date=None, show_logs=True):
35
34
  """
36
35
  Save the reconstruction results (reconPhantom is with tumor, reconLaser is without tumor) and indices of the saved recon results, in numpy format.
37
36
 
@@ -62,7 +61,8 @@ class Recon(ABC):
62
61
  filepathIndices = os.path.join(filepath, "indices.npy")
63
62
  np.save(filepathIndices, np.array(self.indices))
64
63
 
65
- print(f"Reconstruction results saved to {os.path.dirname(filepath)}")
64
+ if show_logs:
65
+ print(f"Reconstruction results saved to {os.path.dirname(filepath)}")
66
66
 
67
67
  @abstractmethod
68
68
  def checkExistingFile(self, date = None):
@@ -165,10 +165,9 @@ class Recon(ABC):
165
165
  data_range = theta.max() - theta.min()
166
166
  ssim_value = ssim(self.experiment.OpticImage.phantom, theta, data_range=data_range)
167
167
  self.SSIM.append(ssim_value)
168
-
169
- def show(self, withTumor=True, savePath=None):
170
- fig, axs = plt.subplots(1, 2, figsize=(20, 10))
168
+
171
169
 
170
+ def show(self, withTumor=True, savePath=None):
172
171
  if withTumor:
173
172
  if self.reconPhantom is None or self.reconPhantom == []:
174
173
  raise ValueError("Reconstructed phantom with tumor is empty. Run reconstruction first.")
@@ -176,9 +175,31 @@ class Recon(ABC):
176
175
  image = self.reconPhantom[-1]
177
176
  else:
178
177
  image = self.reconPhantom
179
- # Phantom original
178
+ if self.experiment.OpticImage is None:
179
+ fig, axs = plt.subplots(1, 1, figsize=(10, 10))
180
+ else:
181
+ fig, axs = plt.subplots(1, 2, figsize=(20, 10))
182
+ # Phantom original
183
+ im1 = axs[1].imshow(
184
+ self.experiment.OpticImage.phantom,
185
+ cmap='hot',
186
+ vmin=0,
187
+ vmax=1,
188
+ extent=(
189
+ self.experiment.params.general['Xrange'][0],
190
+ self.experiment.params.general['Xrange'][1],
191
+ self.experiment.params.general['Zrange'][1],
192
+ self.experiment.params.general['Zrange'][0]
193
+ ),
194
+ aspect='equal'
195
+ )
196
+ axs[1].set_title("Phantom with tumor")
197
+ axs[1].set_xlabel("x (mm)", fontsize=12)
198
+ axs[1].set_ylabel("z (mm)", fontsize=12)
199
+ axs[1].tick_params(axis='both', which='major', labelsize=8)
200
+ # Phantom reconstruit
180
201
  im0 = axs[0].imshow(
181
- self.experiment.OpticImage.phantom,
202
+ image,
182
203
  cmap='hot',
183
204
  vmin=0,
184
205
  vmax=1,
@@ -190,29 +211,11 @@ class Recon(ABC):
190
211
  ),
191
212
  aspect='equal'
192
213
  )
193
- axs[0].set_title("Phantom with tumor")
214
+ axs[0].set_title("Reconstructed phantom with tumor")
194
215
  axs[0].set_xlabel("x (mm)", fontsize=12)
195
216
  axs[0].set_ylabel("z (mm)", fontsize=12)
196
217
  axs[0].tick_params(axis='both', which='major', labelsize=8)
197
- # Phantom reconstruit
198
- im1 = axs[1].imshow(
199
- image,
200
- cmap='hot',
201
- vmin=0,
202
- vmax=1,
203
- extent=(
204
- self.experiment.params.general['Xrange'][0],
205
- self.experiment.params.general['Xrange'][1],
206
- self.experiment.params.general['Zrange'][1],
207
- self.experiment.params.general['Zrange'][0]
208
- ),
209
- aspect='equal'
210
- )
211
- axs[1].set_title("Reconstructed phantom with tumor")
212
- axs[1].set_xlabel("x (mm)", fontsize=12)
213
- axs[1].set_ylabel("z (mm)", fontsize=12)
214
- axs[1].tick_params(axis='both', which='major', labelsize=8)
215
- axs[1].tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
218
+ axs[0].tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
216
219
  else:
217
220
  if self.reconLaser is None or self.reconLaser == []:
218
221
  raise ValueError("Reconstructed laser without tumor is empty. Run reconstruction first.")
@@ -220,9 +223,31 @@ class Recon(ABC):
220
223
  image = self.reconLaser[-1]
221
224
  else:
222
225
  image = self.reconLaser
223
- # Laser original
226
+ if self.experiment.OpticImage is None:
227
+ fig, axs = plt.subplots(1, 1, figsize=(10, 10))
228
+ else:
229
+ fig, axs = plt.subplots(1, 2, figsize=(20, 10))
230
+ # Laser original
231
+ im1 = axs[1].imshow(
232
+ self.experiment.OpticImage.laser.intensity,
233
+ cmap='hot',
234
+ vmin=0,
235
+ vmax=np.max(self.experiment.OpticImage.laser.intensity),
236
+ extent=(
237
+ self.experiment.params.general['Xrange'][0],
238
+ self.experiment.params.general['Xrange'][1],
239
+ self.experiment.params.general['Zrange'][1],
240
+ self.experiment.params.general['Zrange'][0]
241
+ ),
242
+ aspect='equal'
243
+ )
244
+ axs[1].set_title("Laser without tumor")
245
+ axs[1].set_xlabel("x (mm)", fontsize=12)
246
+ axs[1].set_ylabel("z (mm)", fontsize=12)
247
+ axs[1].tick_params(axis='both', which='major', labelsize=8)
248
+ # Laser reconstruit
224
249
  im0 = axs[0].imshow(
225
- self.experiment.OpticImage.laser.intensity,
250
+ image,
226
251
  cmap='hot',
227
252
  vmin=0,
228
253
  vmax=np.max(self.experiment.OpticImage.laser.intensity),
@@ -232,36 +257,18 @@ class Recon(ABC):
232
257
  self.experiment.params.general['Zrange'][1],
233
258
  self.experiment.params.general['Zrange'][0]
234
259
  ),
235
- aspect='equal'
260
+ aspect='equal'
236
261
  )
237
- axs[0].set_title("Laser without tumor")
262
+ axs[0].set_title("Reconstructed laser without tumor")
238
263
  axs[0].set_xlabel("x (mm)", fontsize=12)
239
264
  axs[0].set_ylabel("z (mm)", fontsize=12)
240
265
  axs[0].tick_params(axis='both', which='major', labelsize=8)
241
- # Laser reconstruit
242
- im1 = axs[1].imshow(
243
- image,
244
- cmap='hot',
245
- vmin=0,
246
- vmax=np.max(self.experiment.OpticImage.laser.intensity),
247
- extent=(
248
- self.experiment.params.general['Xrange'][0],
249
- self.experiment.params.general['Xrange'][1],
250
- self.experiment.params.general['Zrange'][1],
251
- self.experiment.params.general['Zrange'][0]
252
- ),
253
- aspect='equal'
254
- )
255
- axs[1].set_title("Reconstructed laser without tumor")
256
- axs[1].set_xlabel("x (mm)", fontsize=12)
257
- axs[1].set_ylabel("z (mm)", fontsize=12)
258
- axs[1].tick_params(axis='both', which='major', labelsize=8)
259
- axs[1].tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
266
+ axs[0].tick_params(axis='y', which='both', left=False, right=False, labelleft=False)
260
267
 
261
268
  # Colorbar commune
262
269
  fig.subplots_adjust(bottom=0.2)
263
270
  cbar_ax = fig.add_axes([0.25, 0.08, 0.5, 0.03])
264
- cbar = fig.colorbar(im1, cax=cbar_ax, orientation='horizontal')
271
+ cbar = fig.colorbar(im0, cax=cbar_ax, orientation='horizontal')
265
272
  cbar.set_label('Normalized Intensity', fontsize=12)
266
273
  cbar.ax.tick_params(labelsize=8)
267
274
 
AOT_biomaps/__init__.py CHANGED
@@ -74,6 +74,9 @@ from .AOT_Recon.AOT_Optimizers.DEPIERRO import *
74
74
  from .AOT_Recon.AOT_Optimizers.MAPEM import *
75
75
  from .AOT_Recon.AOT_Optimizers.MLEM import *
76
76
  from .AOT_Recon.AOT_Optimizers.PDHG import *
77
+ # SPARSE S-MATRIX
78
+ from .AOT_Recon.AOT_SparseSMatrix.SparseSMatrix_CSR import *
79
+ from .AOT_Recon.AOT_SparseSMatrix.SparseSMatrix_SELL import *
77
80
  # POTENTIAL FUNCTIONS
78
81
  from .AOT_Recon.AOT_PotentialFunctions.Huber import *
79
82
  from .AOT_Recon.AOT_PotentialFunctions.Quadratic import *
@@ -82,7 +85,7 @@ from .AOT_Recon.AOT_PotentialFunctions.RelativeDifferences import *
82
85
  from .Config import config
83
86
  from .Settings import *
84
87
 
85
- __version__ = '2.9.186'
88
+ __version__ = '2.9.294'
86
89
  __process__ = config.get_process()
87
90
 
88
91
  def initialize(process=None):
@@ -135,74 +138,6 @@ def initialize(process=None):
135
138
 
136
139
 
137
140
 
138
-
139
-
140
-
141
-
142
-
143
-
144
-
145
-
146
-
147
-
148
-
149
-
150
-
151
-
152
-
153
-
154
-
155
-
156
-
157
-
158
-
159
-
160
-
161
-
162
-
163
-
164
-
165
-
166
-
167
-
168
-
169
-
170
-
171
-
172
-
173
-
174
-
175
-
176
-
177
-
178
-
179
-
180
-
181
-
182
-
183
-
184
-
185
-
186
-
187
-
188
-
189
-
190
-
191
-
192
-
193
-
194
-
195
-
196
-
197
-
198
-
199
-
200
-
201
-
202
-
203
-
204
-
205
-
206
141
 
207
142
 
208
143
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: AOT_biomaps
3
- Version: 2.9.186
3
+ Version: 2.9.294
4
4
  Summary: Acousto-Optic Tomography
5
5
  Home-page: https://github.com/LucasDuclos/AcoustoOpticTomography
6
6
  Author: Lucas Duclos
@@ -15,6 +15,7 @@ Requires-Dist: nvidia-ml-py3==7.352.0
15
15
  Requires-Dist: numpy==1.26.4
16
16
  Requires-Dist: torch==2.7.0
17
17
  Requires-Dist: scipy==1.13.1
18
+ Requires-Dist: cupy-cuda12x==13.6.0
18
19
  Dynamic: author
19
20
  Dynamic: author-email
20
21
  Dynamic: home-page
@@ -0,0 +1,47 @@
1
+ AOT_biomaps/Config.py,sha256=ghEOP1n8aO1pR-su13wMeAZAxZRfry5hH67NbtZ8SqI,3614
2
+ AOT_biomaps/Settings.py,sha256=v8fPhnvvcfBJP29m1RLOTEr3jndGLGwbUiORXmsj2Bo,2853
3
+ AOT_biomaps/__init__.py,sha256=86X2xRJNI72niePVEmyZMqO0Y4vQeag7ZSHPM3kc4Pk,4250
4
+ AOT_biomaps/AOT_Acoustic/AcousticEnums.py,sha256=s5kXa6jKzbS4btwbubrVcynLOr0yg5tth5vL_FGfbMk,1802
5
+ AOT_biomaps/AOT_Acoustic/AcousticTools.py,sha256=al7xXKMY5e-qQQ7nrQVPVAmqYiB320OluNlY6ti8iKc,7539
6
+ AOT_biomaps/AOT_Acoustic/FocusedWave.py,sha256=3kGKKDx_3Msy5COYqIwzROPORGWvNjw8UsDanBfkMXE,11037
7
+ AOT_biomaps/AOT_Acoustic/IrregularWave.py,sha256=yZhtxkR6zlciRcEpdTR0BAhvgQl40XHKFaF8f4VXarE,3035
8
+ AOT_biomaps/AOT_Acoustic/PlaneWave.py,sha256=xza-rj5AUWDecLkGDxRcULrwZVWeBvGnEP2d51TyR04,1447
9
+ AOT_biomaps/AOT_Acoustic/StructuredWave.py,sha256=jTLVlOhYLWJb5MxZPxhq3OFVlz2McoyMPBmfLvnekDU,18209
10
+ AOT_biomaps/AOT_Acoustic/__init__.py,sha256=t9M2rRqa_L9pk7W2FeELTkHEMuP4DBr4gBRldMqsQbg,491
11
+ AOT_biomaps/AOT_Acoustic/_mainAcoustic.py,sha256=RdmhRF1i0KAlpsP7_wnZ7F4J27br3eUc4XR91Qq7C64,44158
12
+ AOT_biomaps/AOT_Experiment/Focus.py,sha256=B2nBawmv-NG2AWJx9zgQ8GlN6aFB9FwTSqX-M-phKXg,3193
13
+ AOT_biomaps/AOT_Experiment/Tomography.py,sha256=Ri83b4GMrxJO60qWsK9JInS9a7HU2Q8uqpjD3Xkl9OY,24488
14
+ AOT_biomaps/AOT_Experiment/__init__.py,sha256=H9zMLeBLA6uhbaHohAa-2u5mDDxqJi8oE5c6tShdQp8,308
15
+ AOT_biomaps/AOT_Experiment/_mainExperiment.py,sha256=zSfuNrsz7nhiKrGIdK6CAXjlI2T6qYC5-JXHFgPNzhc,24674
16
+ AOT_biomaps/AOT_Optic/Absorber.py,sha256=jEodzRy7gkEH-wbazVasRQiri0dU16BfapmR-qnTSvM,867
17
+ AOT_biomaps/AOT_Optic/Laser.py,sha256=uzQwxswjU0kZWix3CmZLoWmhsBa3VhN27STprNv-xB8,2986
18
+ AOT_biomaps/AOT_Optic/OpticEnums.py,sha256=b349_JyjHqQohmjK4Wke-A_HLGaqb3_BKbyUqFC4jxY,499
19
+ AOT_biomaps/AOT_Optic/__init__.py,sha256=HSUVhfz0NzwHHZZ9KP9Xyfu33IgP_rYJX86J-gEROlo,321
20
+ AOT_biomaps/AOT_Optic/_mainOptic.py,sha256=Wk63CcgWbU-ygMfjNK80islaUbGGJpTXgZY3_C2KQNY,8179
21
+ AOT_biomaps/AOT_Recon/AOT_biomaps_kernels.cubin,sha256=Li4HdWpr65ONf82FqFAjZ8w3ob9UuJucDWGAAvBF77Q,83680
22
+ AOT_biomaps/AOT_Recon/AlgebraicRecon.py,sha256=CGBXZyYEZ3TOTFOKSt-h7NGuFbuI9PNr3YTWTbSLxDo,46832
23
+ AOT_biomaps/AOT_Recon/AnalyticRecon.py,sha256=RaQ5AJ1HUmSct0BgjZ0GWSJg7SALCn3Q0laqj1yyhAE,7123
24
+ AOT_biomaps/AOT_Recon/BayesianRecon.py,sha256=RnnPa-tTcvirwiNPnCRZnSM4NWeEEltYET-piBbp34g,12671
25
+ AOT_biomaps/AOT_Recon/DeepLearningRecon.py,sha256=RfVcEsi4GeGqJn0_SPxwQPQx6IQjin79WKh2UarMRLI,1383
26
+ AOT_biomaps/AOT_Recon/PrimalDualRecon.py,sha256=JbFhxiyUoSTnlJgHbOWIfUUwhwfZoi39RJMnfkagegY,16504
27
+ AOT_biomaps/AOT_Recon/ReconEnums.py,sha256=KAf55RqHAr2ilt6pxFrUBGQOn-7HA8NP6TyL-1FNiXo,19714
28
+ AOT_biomaps/AOT_Recon/ReconTools.py,sha256=A4IQV7IETu9MgYr7hjLNPTImzjf8CEU4cZ2e0EgJNWA,19878
29
+ AOT_biomaps/AOT_Recon/__init__.py,sha256=xs_argJqXKFl76xP7-jiUc1ynOEEtY7XZ0gDxD5uVZc,246
30
+ AOT_biomaps/AOT_Recon/_mainRecon.py,sha256=exoa2UBMfMHjemxAU9dW0mhEfsP6Oe1qjSfrTrgbIcY,13125
31
+ AOT_biomaps/AOT_Recon/AOT_Optimizers/DEPIERRO.py,sha256=qA1n722GLQJH3V8HcLr5q_GxEwBS_NRlIT3E6JZk-Ag,9479
32
+ AOT_biomaps/AOT_Recon/AOT_Optimizers/LS.py,sha256=bCu1rKzFXPbYQ7jV3L3E_jVQpb6LIEC5MIlN1-mCNdY,22814
33
+ AOT_biomaps/AOT_Recon/AOT_Optimizers/MAPEM.py,sha256=vQLCB0L4FSXJKn2_6kdIdWrI6WZ82KuqUh7CSqBGVuo,25766
34
+ AOT_biomaps/AOT_Recon/AOT_Optimizers/MLEM.py,sha256=v5wITKacemu_hY391-cZDSpw4R95XqyLGivQWa-gOOc,21254
35
+ AOT_biomaps/AOT_Recon/AOT_Optimizers/PDHG.py,sha256=oSojwug5mcZedKOWAV7YPMlCp0Qy_Aed0fjHRuyZWpo,28622
36
+ AOT_biomaps/AOT_Recon/AOT_Optimizers/__init__.py,sha256=tNGVulINaqQZzcs5cvCMAT5ypGdoFWRnxtl9y7ePECk,106
37
+ AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/Huber.py,sha256=dRd1t5OBag_gVmfji3L0QrA1GJ_702LcCkLH32Bot0M,3285
38
+ AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/Quadratic.py,sha256=wTbzcXxMdEl9ReEXrL43DOJQecokBwJYU_s2kQUASZY,2545
39
+ AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/RelativeDifferences.py,sha256=ZlWaKsNPCMfy4fWxYFT2pSoKMbysQkJH4N1WbbWncq4,2493
40
+ AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/__init__.py,sha256=RwrJdLOFbAFBFnRxo5xdlOyeZgtQRDaRWDN9-uCGUiY,84
41
+ AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/SparseSMatrix_CSR.py,sha256=RACc2P5oxmp0uPLAGnNj9mEtAxa_OlepNgCawKij3jI,12062
42
+ AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/SparseSMatrix_SELL.py,sha256=WTqHBeglUxRx-jy6CcoETgqYSSHYTwi2zR5NrJcPXGU,14449
43
+ AOT_biomaps/AOT_Recon/AOT_SparseSMatrix/__init__.py,sha256=8nou-hqjQjuCTLhoL5qv4EM_lMPFviAZAZKSPhi84jE,67
44
+ aot_biomaps-2.9.294.dist-info/METADATA,sha256=8c8tnkhnARdI6acSPSrB1FQloxgjuoNHKslkkgIq7xM,700
45
+ aot_biomaps-2.9.294.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
46
+ aot_biomaps-2.9.294.dist-info/top_level.txt,sha256=6STF-lT4kaAnBHJYCripmN5mZABoHjMuY689JdiDphk,12
47
+ aot_biomaps-2.9.294.dist-info/RECORD,,
@@ -1,43 +0,0 @@
1
- AOT_biomaps/Config.py,sha256=ghEOP1n8aO1pR-su13wMeAZAxZRfry5hH67NbtZ8SqI,3614
2
- AOT_biomaps/Settings.py,sha256=v8fPhnvvcfBJP29m1RLOTEr3jndGLGwbUiORXmsj2Bo,2853
3
- AOT_biomaps/__init__.py,sha256=Do2yZDpPCTLSkc3c8N_PXUsI-93MG7hfYvmhEmutaos,4242
4
- AOT_biomaps/AOT_Acoustic/AcousticEnums.py,sha256=s5kXa6jKzbS4btwbubrVcynLOr0yg5tth5vL_FGfbMk,1802
5
- AOT_biomaps/AOT_Acoustic/AcousticTools.py,sha256=al7xXKMY5e-qQQ7nrQVPVAmqYiB320OluNlY6ti8iKc,7539
6
- AOT_biomaps/AOT_Acoustic/FocusedWave.py,sha256=3kGKKDx_3Msy5COYqIwzROPORGWvNjw8UsDanBfkMXE,11037
7
- AOT_biomaps/AOT_Acoustic/IrregularWave.py,sha256=yZhtxkR6zlciRcEpdTR0BAhvgQl40XHKFaF8f4VXarE,3035
8
- AOT_biomaps/AOT_Acoustic/PlaneWave.py,sha256=xza-rj5AUWDecLkGDxRcULrwZVWeBvGnEP2d51TyR04,1447
9
- AOT_biomaps/AOT_Acoustic/StructuredWave.py,sha256=LlHBxGYmTsM1gQVaJXlUxIOsqg6zTIPBAZK46v3UUiE,18205
10
- AOT_biomaps/AOT_Acoustic/__init__.py,sha256=t9M2rRqa_L9pk7W2FeELTkHEMuP4DBr4gBRldMqsQbg,491
11
- AOT_biomaps/AOT_Acoustic/_mainAcoustic.py,sha256=YZK5KnG60CyHlQaxYg-J4tGVY3SzJPB4t8uvNwU1HMI,43934
12
- AOT_biomaps/AOT_Experiment/Focus.py,sha256=B2nBawmv-NG2AWJx9zgQ8GlN6aFB9FwTSqX-M-phKXg,3193
13
- AOT_biomaps/AOT_Experiment/Tomography.py,sha256=H3DZKSzoGZlV9gEpRyCgIW7KPn-qZn3V2RTmf6DUrmE,20901
14
- AOT_biomaps/AOT_Experiment/__init__.py,sha256=H9zMLeBLA6uhbaHohAa-2u5mDDxqJi8oE5c6tShdQp8,308
15
- AOT_biomaps/AOT_Experiment/_mainExperiment.py,sha256=SbDmSNQoNS5G0-QwpV94KeV6XtdN5xzfFCnQPQWrH1Y,21891
16
- AOT_biomaps/AOT_Optic/Absorber.py,sha256=jEodzRy7gkEH-wbazVasRQiri0dU16BfapmR-qnTSvM,867
17
- AOT_biomaps/AOT_Optic/Laser.py,sha256=uzQwxswjU0kZWix3CmZLoWmhsBa3VhN27STprNv-xB8,2986
18
- AOT_biomaps/AOT_Optic/OpticEnums.py,sha256=b349_JyjHqQohmjK4Wke-A_HLGaqb3_BKbyUqFC4jxY,499
19
- AOT_biomaps/AOT_Optic/__init__.py,sha256=HSUVhfz0NzwHHZZ9KP9Xyfu33IgP_rYJX86J-gEROlo,321
20
- AOT_biomaps/AOT_Optic/_mainOptic.py,sha256=Wk63CcgWbU-ygMfjNK80islaUbGGJpTXgZY3_C2KQNY,8179
21
- AOT_biomaps/AOT_Recon/AlgebraicRecon.py,sha256=sMuH3Sg5OOzcVUoOHtaeyrq3BNK5lNcuS_WkqcDppME,38696
22
- AOT_biomaps/AOT_Recon/AnalyticRecon.py,sha256=vjeTUnaZrtnLHnx6goseeJsd165KbSugQYwUXJFXapU,7596
23
- AOT_biomaps/AOT_Recon/BayesianRecon.py,sha256=iAaAn9nwkvJ3Ilip_y2ywDKShpcbWzHATznmF84mNrQ,16844
24
- AOT_biomaps/AOT_Recon/DeepLearningRecon.py,sha256=RfVcEsi4GeGqJn0_SPxwQPQx6IQjin79WKh2UarMRLI,1383
25
- AOT_biomaps/AOT_Recon/PrimalDualRecon.py,sha256=iJPXUjxvvrIJVp6bo-W87T8ZXJneRmejt-SEjKQPPC0,9451
26
- AOT_biomaps/AOT_Recon/ReconEnums.py,sha256=oyT9qIfEpE_ChPQihM8-6b0UOtNmuE4weUpO8lJCB38,18641
27
- AOT_biomaps/AOT_Recon/ReconTools.py,sha256=dz0ZmyT5ggJEaBXJJS7WbsWpj0fTa2rZqym_qdQ2hbk,10610
28
- AOT_biomaps/AOT_Recon/__init__.py,sha256=LDbNpsjS8_TJrXMKzkpzSAj5trVuCW57AWQaJBrzd0I,244
29
- AOT_biomaps/AOT_Recon/_mainRecon.py,sha256=2Mv0hC4wGq0-fwQL7xkGFXr-VunnPq4nfLpaPdUvHGg,12682
30
- AOT_biomaps/AOT_Recon/AOT_Optimizers/DEPIERRO.py,sha256=Oc5Z_G2EGctN4y1NNmZMBF6kzPnaaCjjLr32ecHTVoo,8012
31
- AOT_biomaps/AOT_Recon/AOT_Optimizers/LS.py,sha256=DOaNHmyQNXBG2JbYpprKtoX9bnRT0DL_faKQqH1LNrs,4020
32
- AOT_biomaps/AOT_Recon/AOT_Optimizers/MAPEM.py,sha256=suH4bNq_DN7pZYOyV2kESAaFKA6guyxv1NoRQJbdkMc,22818
33
- AOT_biomaps/AOT_Recon/AOT_Optimizers/MLEM.py,sha256=QIowCEeTetIkxMeB-fe32vbamTXHNT2ycvVofgdun6U,11805
34
- AOT_biomaps/AOT_Recon/AOT_Optimizers/PDHG.py,sha256=TGN_QLYr4k47ZGRMvcWsLbqjRqFOWm2y97-hFhvmv6k,7930
35
- AOT_biomaps/AOT_Recon/AOT_Optimizers/__init__.py,sha256=tNGVulINaqQZzcs5cvCMAT5ypGdoFWRnxtl9y7ePECk,106
36
- AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/Huber.py,sha256=dRd1t5OBag_gVmfji3L0QrA1GJ_702LcCkLH32Bot0M,3285
37
- AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/Quadratic.py,sha256=wTbzcXxMdEl9ReEXrL43DOJQecokBwJYU_s2kQUASZY,2545
38
- AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/RelativeDifferences.py,sha256=dgB3Vt40S5D1VerHr-h-YnzB5xNCt6amE19-C0zyIpU,2253
39
- AOT_biomaps/AOT_Recon/AOT_PotentialFunctions/__init__.py,sha256=RwrJdLOFbAFBFnRxo5xdlOyeZgtQRDaRWDN9-uCGUiY,84
40
- aot_biomaps-2.9.186.dist-info/METADATA,sha256=F11c7iL4j3-23XzvqCybInryycDDpyEUmRuY_W8Zz7c,663
41
- aot_biomaps-2.9.186.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
42
- aot_biomaps-2.9.186.dist-info/top_level.txt,sha256=6STF-lT4kaAnBHJYCripmN5mZABoHjMuY689JdiDphk,12
43
- aot_biomaps-2.9.186.dist-info/RECORD,,