acoular 24.3__py3-none-any.whl → 24.5__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.
Files changed (139) hide show
  1. acoular/__init__.py +118 -50
  2. acoular/calib.py +29 -38
  3. acoular/configuration.py +116 -73
  4. acoular/demo/__init__.py +10 -4
  5. acoular/demo/acoular_demo.py +78 -53
  6. acoular/environments.py +265 -262
  7. acoular/fastFuncs.py +361 -191
  8. acoular/fbeamform.py +1460 -1404
  9. acoular/grids.py +501 -545
  10. acoular/h5cache.py +50 -59
  11. acoular/h5files.py +154 -137
  12. acoular/internal.py +10 -11
  13. acoular/microphones.py +57 -53
  14. acoular/sdinput.py +47 -52
  15. acoular/signals.py +167 -179
  16. acoular/sources.py +818 -693
  17. acoular/spectra.py +349 -359
  18. acoular/tbeamform.py +414 -413
  19. acoular/tfastfuncs.py +178 -101
  20. acoular/tools/__init__.py +25 -0
  21. acoular/tools/aiaa.py +186 -0
  22. acoular/tools/helpers.py +189 -0
  23. acoular/tools/metrics.py +165 -0
  24. acoular/tprocess.py +1201 -1143
  25. acoular/traitsviews.py +513 -501
  26. acoular/trajectory.py +50 -52
  27. acoular/version.py +5 -6
  28. acoular/xml/minidsp_uma-16.xml +20 -0
  29. acoular/xml/{minidsp_uma16.xml → minidsp_uma-16_mirrored.xml} +3 -0
  30. {acoular-24.3.dist-info → acoular-24.5.dist-info}/METADATA +45 -46
  31. acoular-24.5.dist-info/RECORD +50 -0
  32. {acoular-24.3.dist-info → acoular-24.5.dist-info}/WHEEL +1 -1
  33. acoular-24.5.dist-info/licenses/LICENSE +28 -0
  34. acoular/fileimport.py +0 -380
  35. acoular/nidaqimport.py +0 -273
  36. acoular/tests/reference_data/BeamformerBase.npy +0 -0
  37. acoular/tests/reference_data/BeamformerBaseFalse1.npy +0 -0
  38. acoular/tests/reference_data/BeamformerBaseFalse2.npy +0 -0
  39. acoular/tests/reference_data/BeamformerBaseFalse3.npy +0 -0
  40. acoular/tests/reference_data/BeamformerBaseFalse4.npy +0 -0
  41. acoular/tests/reference_data/BeamformerBaseTrue1.npy +0 -0
  42. acoular/tests/reference_data/BeamformerBaseTrue2.npy +0 -0
  43. acoular/tests/reference_data/BeamformerBaseTrue3.npy +0 -0
  44. acoular/tests/reference_data/BeamformerBaseTrue4.npy +0 -0
  45. acoular/tests/reference_data/BeamformerCMFLassoLarsBIC.npy +0 -0
  46. acoular/tests/reference_data/BeamformerCMFNNLS.npy +0 -0
  47. acoular/tests/reference_data/BeamformerCapon.npy +0 -0
  48. acoular/tests/reference_data/BeamformerClean.npy +0 -0
  49. acoular/tests/reference_data/BeamformerCleansc.npy +0 -0
  50. acoular/tests/reference_data/BeamformerCleant.npy +0 -0
  51. acoular/tests/reference_data/BeamformerCleantSq.npy +0 -0
  52. acoular/tests/reference_data/BeamformerCleantSqTraj.npy +0 -0
  53. acoular/tests/reference_data/BeamformerCleantTraj.npy +0 -0
  54. acoular/tests/reference_data/BeamformerDamas.npy +0 -0
  55. acoular/tests/reference_data/BeamformerDamasPlus.npy +0 -0
  56. acoular/tests/reference_data/BeamformerEig.npy +0 -0
  57. acoular/tests/reference_data/BeamformerEigFalse1.npy +0 -0
  58. acoular/tests/reference_data/BeamformerEigFalse2.npy +0 -0
  59. acoular/tests/reference_data/BeamformerEigFalse3.npy +0 -0
  60. acoular/tests/reference_data/BeamformerEigFalse4.npy +0 -0
  61. acoular/tests/reference_data/BeamformerEigTrue1.npy +0 -0
  62. acoular/tests/reference_data/BeamformerEigTrue2.npy +0 -0
  63. acoular/tests/reference_data/BeamformerEigTrue3.npy +0 -0
  64. acoular/tests/reference_data/BeamformerEigTrue4.npy +0 -0
  65. acoular/tests/reference_data/BeamformerFunctional.npy +0 -0
  66. acoular/tests/reference_data/BeamformerGIB.npy +0 -0
  67. acoular/tests/reference_data/BeamformerGridlessOrth.npy +0 -0
  68. acoular/tests/reference_data/BeamformerMusic.npy +0 -0
  69. acoular/tests/reference_data/BeamformerOrth.npy +0 -0
  70. acoular/tests/reference_data/BeamformerSODIX.npy +0 -0
  71. acoular/tests/reference_data/BeamformerTime.npy +0 -0
  72. acoular/tests/reference_data/BeamformerTimeSq.npy +0 -0
  73. acoular/tests/reference_data/BeamformerTimeSqTraj.npy +0 -0
  74. acoular/tests/reference_data/BeamformerTimeTraj.npy +0 -0
  75. acoular/tests/reference_data/Environment.npy +0 -0
  76. acoular/tests/reference_data/Example1_numerical_values_testsum.h5 +0 -0
  77. acoular/tests/reference_data/FiltFiltOctave__.npy +0 -0
  78. acoular/tests/reference_data/FiltFiltOctave_band_100_0_fraction_Thirdoctave_.npy +0 -0
  79. acoular/tests/reference_data/FiltFreqWeight_weight_A_.npy +0 -0
  80. acoular/tests/reference_data/FiltFreqWeight_weight_C_.npy +0 -0
  81. acoular/tests/reference_data/FiltFreqWeight_weight_Z_.npy +0 -0
  82. acoular/tests/reference_data/FiltOctave__.npy +0 -0
  83. acoular/tests/reference_data/FiltOctave_band_100_0_fraction_Thirdoctave_.npy +0 -0
  84. acoular/tests/reference_data/Filter__.npy +0 -0
  85. acoular/tests/reference_data/GeneralFlowEnvironment.npy +0 -0
  86. acoular/tests/reference_data/OctaveFilterBank__.npy +0 -0
  87. acoular/tests/reference_data/OpenJet.npy +0 -0
  88. acoular/tests/reference_data/PointSource.npy +0 -0
  89. acoular/tests/reference_data/PowerSpectra_csm.npy +0 -0
  90. acoular/tests/reference_data/PowerSpectra_ev.npy +0 -0
  91. acoular/tests/reference_data/RotatingFlow.npy +0 -0
  92. acoular/tests/reference_data/SlotJet.npy +0 -0
  93. acoular/tests/reference_data/TimeAverage__.npy +0 -0
  94. acoular/tests/reference_data/TimeCumAverage__.npy +0 -0
  95. acoular/tests/reference_data/TimeExpAverage_weight_F_.npy +0 -0
  96. acoular/tests/reference_data/TimeExpAverage_weight_I_.npy +0 -0
  97. acoular/tests/reference_data/TimeExpAverage_weight_S_.npy +0 -0
  98. acoular/tests/reference_data/TimeInOut__.npy +0 -0
  99. acoular/tests/reference_data/TimePower__.npy +0 -0
  100. acoular/tests/reference_data/TimeReverse__.npy +0 -0
  101. acoular/tests/reference_data/UniformFlowEnvironment.npy +0 -0
  102. acoular/tests/reference_data/beamformer_traj_time_data.h5 +0 -0
  103. acoular/tests/run_tests.sh +0 -18
  104. acoular/tests/run_tests_osx.sh +0 -16
  105. acoular/tests/test.npy +0 -0
  106. acoular/tests/test_beamformer_results.py +0 -213
  107. acoular/tests/test_classes.py +0 -60
  108. acoular/tests/test_digest.py +0 -125
  109. acoular/tests/test_environments.py +0 -73
  110. acoular/tests/test_example1.py +0 -124
  111. acoular/tests/test_grid.py +0 -92
  112. acoular/tests/test_integrate.py +0 -102
  113. acoular/tests/test_signals.py +0 -60
  114. acoular/tests/test_sources.py +0 -65
  115. acoular/tests/test_spectra.py +0 -38
  116. acoular/tests/test_timecache.py +0 -35
  117. acoular/tests/test_tprocess.py +0 -90
  118. acoular/tests/test_traj_beamformer_results.py +0 -164
  119. acoular/tests/unsupported/SpeedComparison/OvernightTestcasesBeamformer_nMics32_nGridPoints100_nFreqs4_nTrials10.png +0 -0
  120. acoular/tests/unsupported/SpeedComparison/cythonBeamformer.pyx +0 -237
  121. acoular/tests/unsupported/SpeedComparison/mainForCython.py +0 -103
  122. acoular/tests/unsupported/SpeedComparison/mainForParallelJit.py +0 -143
  123. acoular/tests/unsupported/SpeedComparison/setupCythonOpenMP.py +0 -63
  124. acoular/tests/unsupported/SpeedComparison/sharedFunctions.py +0 -153
  125. acoular/tests/unsupported/SpeedComparison/timeOverNMics_AllImportantMethods.png +0 -0
  126. acoular/tests/unsupported/SpeedComparison/timeOverNMics_faverage.png +0 -0
  127. acoular/tests/unsupported/SpeedComparison/vglOptimierungFAverage.py +0 -204
  128. acoular/tests/unsupported/SpeedComparison/vglOptimierungGaussSeidel.py +0 -182
  129. acoular/tests/unsupported/SpeedComparison/vglOptimierungR_BEAMFULL_INVERSE.py +0 -764
  130. acoular/tests/unsupported/SpeedComparison/vglOptimierungR_BEAM_OS.py +0 -231
  131. acoular/tests/unsupported/SpeedComparison/whatsFastestWayFor_absASquared.py +0 -48
  132. acoular/tests/unsupported/functionalBeamformer.py +0 -123
  133. acoular/tests/unsupported/precisionTest.py +0 -153
  134. acoular/tests/unsupported/validationOfBeamformerFuncsPOSTAcoularIntegration.py +0 -254
  135. acoular/tests/unsupported/validationOfBeamformerFuncsPREeAcoularIntegration.py +0 -531
  136. acoular/tools.py +0 -422
  137. acoular-24.3.dist-info/RECORD +0 -148
  138. acoular-24.3.dist-info/licenses/LICENSE +0 -29
  139. {acoular-24.3.dist-info → acoular-24.5.dist-info}/licenses/AUTHORS.rst +0 -0
@@ -1,254 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- """
3
- This script is a help for checking if the new NUMBA functions are correctly
4
- integrated into acoular.
5
- One has to make a savefile (see 'all_bfWeave.sav') for both, the old acoular
6
- version an the new one. In section '#%% Compare Weave vs Numba' both versions
7
- are compared.
8
-
9
- This script uses essentially 'example3.py', so therefor 'example_data.h5' and
10
- 'example_calib.xml' are needed.
11
-
12
-
13
- Copyright (c) 2006-2015 The Acoular developers.
14
- All rights reserved.
15
- """
16
-
17
- # imports from acoular
18
- import acoular
19
- from acoular import L_p, TimeSamples, Calib, MicGeom, EigSpectra,\
20
- RectGrid3D, BeamformerBase, BeamformerFunctional, BeamformerEig, BeamformerOrth, \
21
- BeamformerCleansc, BeamformerCapon, BeamformerMusic, BeamformerCMF, PointSpreadFunction, BeamformerClean, BeamformerDamas
22
-
23
- # other imports
24
- from os import path
25
- #from mayavi import mlab
26
- from numpy import amax
27
- #from cPickle import dump, load
28
- from pickle import dump, load
29
-
30
- # see example3
31
- t = TimeSamples(name='example_data.h5')
32
- cal = Calib(from_file='example_calib.xml')
33
- m = MicGeom(from_file=path.join(\
34
- path.split(acoular.__file__)[0], 'xml', 'array_56.xml'))
35
- g = RectGrid3D(x_min=-0.6, x_max=-0.0, y_min=-0.3, y_max=0.3, \
36
- z_min=0.48, z_max=0.88, increment=0.1)
37
- f = EigSpectra(time_data=t, window='Hanning', overlap='50%', block_size=128, ind_low=5, ind_high=15)
38
- csm = f.csm[:]
39
- eva = f.eva[:]
40
- eve = f.eve[:]
41
-
42
- #""" Creating the beamformers
43
- bb1Rem = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='classic')
44
- bb2Rem = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='inverse')
45
- bb3Rem = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level')
46
- bb4Rem = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location')
47
- bb1Full = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic')
48
- bb2Full = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse')
49
- bb3Full = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level')
50
- bb4Full = BeamformerBase(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location')
51
- Lbb1Rem = L_p(bb1Rem.synthetic(4000,1))
52
- Lbb2Rem = L_p(bb2Rem.synthetic(4000,1))
53
- Lbb3Rem = L_p(bb3Rem.synthetic(4000,1))
54
- Lbb4Rem = L_p(bb4Rem.synthetic(4000,1))
55
- Lbb1Full = L_p(bb1Full.synthetic(4000,1))
56
- Lbb2Full = L_p(bb2Full.synthetic(4000,1))
57
- Lbb3Full = L_p(bb3Full.synthetic(4000,1))
58
- Lbb4Full = L_p(bb4Full.synthetic(4000,1))
59
-
60
- bf1Rem = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='classic', gamma=3)
61
- bf2Rem = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='inverse', gamma=3)
62
- bf3Rem = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level', gamma=3)
63
- bf4Rem = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location', gamma=3)
64
- bf1Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic', gamma=3)
65
- bf2Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse', gamma=3)
66
- bf3Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level', gamma=3)
67
- bf4Full = BeamformerFunctional(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location', gamma=3)
68
- Lbf1Rem = L_p(bf1Rem.synthetic(4000,1))
69
- Lbf2Rem = L_p(bf2Rem.synthetic(4000,1))
70
- Lbf3Rem = L_p(bf3Rem.synthetic(4000,1))
71
- Lbf4Rem = L_p(bf4Rem.synthetic(4000,1))
72
- Lbf1Full = L_p(bf1Full.synthetic(4000,1))
73
- Lbf2Full = L_p(bf2Full.synthetic(4000,1))
74
- Lbf3Full = L_p(bf3Full.synthetic(4000,1))
75
- Lbf4Full = L_p(bf4Full.synthetic(4000,1))
76
-
77
- bca1Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic')
78
- bca2Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse')
79
- bca3Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level')
80
- bca4Full = BeamformerCapon(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location')
81
- Lbca1Full = L_p(bca1Full.synthetic(4000,1))
82
- Lbca2Full = L_p(bca2Full.synthetic(4000,1))
83
- Lbca3Full = L_p(bca3Full.synthetic(4000,1))
84
- Lbca4Full = L_p(bca4Full.synthetic(4000,1))
85
-
86
- be1Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='classic', n=12)
87
- be2Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='inverse', n=12)
88
- be3Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level', n=12)
89
- be4Rem = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location', n=12)
90
- be1Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic', n=12)
91
- be2Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse', n=12)
92
- be3Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level', n=12)
93
- be4Full = BeamformerEig(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location', n=12)
94
- Lbe1Rem = L_p(be1Rem.synthetic(4000,1))
95
- Lbe2Rem = L_p(be2Rem.synthetic(4000,1))
96
- Lbe3Rem = L_p(be3Rem.synthetic(4000,1))
97
- Lbe4Rem = L_p(be4Rem.synthetic(4000,1))
98
- Lbe1Full = L_p(be1Full.synthetic(4000,1))
99
- Lbe2Full = L_p(be2Full.synthetic(4000,1))
100
- Lbe3Full = L_p(be3Full.synthetic(4000,1))
101
- Lbe4Full = L_p(be4Full.synthetic(4000,1))
102
-
103
- bm1Full = BeamformerMusic(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic', n=12)
104
- bm2Full = BeamformerMusic(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse', n=12)
105
- bm3Full = BeamformerMusic(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level', n=12)
106
- bm4Full = BeamformerMusic(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location', n=12)
107
- Lbm1Full = L_p(bm1Full.synthetic(4000,1))
108
- Lbm2Full = L_p(bm2Full.synthetic(4000,1))
109
- Lbm3Full = L_p(bm3Full.synthetic(4000,1))
110
- Lbm4Full = L_p(bm4Full.synthetic(4000,1))
111
-
112
- bcsc1Rem = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='classic')
113
- bcsc2Rem = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='inverse')
114
- bcsc3Rem = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level')
115
- bcsc4Rem = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location')
116
- bcsc1Full = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic')
117
- bcsc2Full = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse')
118
- bcsc3Full = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level')
119
- bcsc4Full = BeamformerCleansc(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location')
120
- Lbcsc1Rem = L_p(bcsc1Rem.synthetic(4000,1))
121
- Lbcsc2Rem = L_p(bcsc2Rem.synthetic(4000,1))
122
- Lbcsc3Rem = L_p(bcsc3Rem.synthetic(4000,1))
123
- Lbcsc4Rem = L_p(bcsc4Rem.synthetic(4000,1))
124
- Lbcsc1Full = L_p(bcsc1Full.synthetic(4000,1))
125
- Lbcsc2Full = L_p(bcsc2Full.synthetic(4000,1))
126
- Lbcsc3Full = L_p(bcsc3Full.synthetic(4000,1))
127
- Lbcsc4Full = L_p(bcsc4Full.synthetic(4000,1))
128
-
129
- bort1Rem = BeamformerOrth(beamformer=be1Rem, eva_list=list(range(4,8)))
130
- bort2Rem = BeamformerOrth(beamformer=be2Rem, eva_list=list(range(4,8)))
131
- bort3Rem = BeamformerOrth(beamformer=be3Rem, eva_list=list(range(4,8)))
132
- bort4Rem = BeamformerOrth(beamformer=be4Rem, eva_list=list(range(4,8)))
133
- bort1Full = BeamformerOrth(beamformer=be1Full, eva_list=list(range(4,8)))
134
- bort2Full = BeamformerOrth(beamformer=be2Full, eva_list=list(range(4,8)))
135
- bort3Full = BeamformerOrth(beamformer=be3Full, eva_list=list(range(4,8)))
136
- bort4Full = BeamformerOrth(beamformer=be4Full, eva_list=list(range(4,8)))
137
- Lbort1Rem = L_p(bort1Rem.synthetic(4000,1))
138
- Lbort2Rem = L_p(bort2Rem.synthetic(4000,1))
139
- Lbort3Rem = L_p(bort3Rem.synthetic(4000,1))
140
- Lbort4Rem = L_p(bort4Rem.synthetic(4000,1))
141
- Lbort1Full = L_p(bort1Full.synthetic(4000,1))
142
- Lbort2Full = L_p(bort2Full.synthetic(4000,1))
143
- Lbort3Full = L_p(bort3Full.synthetic(4000,1))
144
- Lbort4Full = L_p(bort4Full.synthetic(4000,1))
145
-
146
- bcmf1Rem = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='classic')
147
- bcmf2Rem = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='inverse')
148
- bcmf3Rem = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true level')
149
- bcmf4Rem = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=True, c=346.04, steer='true location')
150
- bcmf1Full = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='classic')
151
- bcmf2Full = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='inverse')
152
- bcmf3Full = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true level')
153
- bcmf4Full = BeamformerCMF(freq_data=f, grid=g, mpos=m, r_diag=False, c=346.04, steer='true location')
154
- Lbcmf1Rem = L_p(bcmf1Rem.synthetic(4000,1))
155
- Lbcmf2Rem = L_p(bcmf2Rem.synthetic(4000,1))
156
- Lbcmf3Rem = L_p(bcmf3Rem.synthetic(4000,1))
157
- Lbcmf4Rem = L_p(bcmf4Rem.synthetic(4000,1))
158
- Lbcmf1Full = L_p(bcmf1Full.synthetic(4000,1))
159
- Lbcmf2Full = L_p(bcmf2Full.synthetic(4000,1))
160
- Lbcmf3Full = L_p(bcmf3Full.synthetic(4000,1))
161
- Lbcmf4Full = L_p(bcmf4Full.synthetic(4000,1))
162
-
163
- ##==============================================================================
164
- ## There are various variations to calculate the psf: Need to be checked individually
165
- ## #psfSingle = PointSpreadFunction(grid=g, mpos=m, calcmode='single')
166
- ## #LPsfSingle = L_p(psfSingle.psf[:])
167
- ##
168
- ## #psfBlock = PointSpreadFunction(grid=g, mpos=m, calcmode='block')
169
- ## #LPsfBlock = L_p(psfBlock.psf[:])
170
- ##
171
- ## #psfFull = PointSpreadFunction(grid=g, mpos=m, calcmode='full')
172
- ## #LPsfFull = L_p(psfFull.psf[:])
173
- ##
174
- ## #all_bf = (LPsfFull,)
175
- ##==============================================================================
176
- psf1 = PointSpreadFunction(grid=g, mpos=m, c=346.04, steer='classic')
177
- psf2 = PointSpreadFunction(grid=g, mpos=m, c=346.04, steer='inverse')
178
- psf3 = PointSpreadFunction(grid=g, mpos=m, c=346.04, steer='true level')
179
- psf4 = PointSpreadFunction(grid=g, mpos=m, c=346.04, steer='true location')
180
- Lpsf1 = L_p(psf1.psf[:])
181
- Lpsf2 = L_p(psf2.psf[:])
182
- Lpsf3 = L_p(psf3.psf[:])
183
- Lpsf4 = L_p(psf4.psf[:])
184
-
185
- bcpsf1Rem = BeamformerClean(beamformer=bb1Rem)
186
- bcpsf2Rem = BeamformerClean(beamformer=bb2Rem)
187
- bcpsf3Rem = BeamformerClean(beamformer=bb3Rem)
188
- bcpsf4Rem = BeamformerClean(beamformer=bb4Rem)
189
- bcpsf1Full = BeamformerClean(beamformer=bb1Full)
190
- bcpsf2Full = BeamformerClean(beamformer=bb2Full)
191
- bcpsf3Full = BeamformerClean(beamformer=bb3Full)
192
- bcpsf4Full = BeamformerClean(beamformer=bb4Full)
193
- Lbcpsf1Rem = L_p(bcpsf1Rem.synthetic(4000,1))
194
- Lbcpsf2Rem = L_p(bcpsf2Rem.synthetic(4000,1))
195
- Lbcpsf3Rem = L_p(bcpsf3Rem.synthetic(4000,1))
196
- Lbcpsf4Rem = L_p(bcpsf4Rem.synthetic(4000,1))
197
- Lbcpsf1Full = L_p(bcpsf1Full.synthetic(4000,1))
198
- Lbcpsf2Full = L_p(bcpsf2Full.synthetic(4000,1))
199
- Lbcpsf3Full = L_p(bcpsf3Full.synthetic(4000,1))
200
- Lbcpsf4Full = L_p(bcpsf4Full.synthetic(4000,1))
201
-
202
- bd1Rem = BeamformerDamas(beamformer=bb1Rem, n_iter=100)
203
- bd2Rem = BeamformerDamas(beamformer=bb2Rem, n_iter=100)
204
- bd3Rem = BeamformerDamas(beamformer=bb3Rem, n_iter=100)
205
- bd4Rem = BeamformerDamas(beamformer=bb4Rem, n_iter=100)
206
- bd1Full = BeamformerDamas(beamformer=bb1Full, n_iter=100)
207
- bd2Full = BeamformerDamas(beamformer=bb2Full, n_iter=100)
208
- bd3Full = BeamformerDamas(beamformer=bb3Full, n_iter=100)
209
- bd4Full = BeamformerDamas(beamformer=bb4Full, n_iter=100)
210
- Lbd1Rem = L_p(bd1Rem.synthetic(4000,1))
211
- Lbd2Rem = L_p(bd2Rem.synthetic(4000,1))
212
- Lbd3Rem = L_p(bd3Rem.synthetic(4000,1))
213
- Lbd4Rem = L_p(bd4Rem.synthetic(4000,1))
214
- Lbd1Full = L_p(bd1Full.synthetic(4000,1))
215
- Lbd2Full = L_p(bd2Full.synthetic(4000,1))
216
- Lbd3Full = L_p(bd3Full.synthetic(4000,1))
217
- Lbd4Full = L_p(bd4Full.synthetic(4000,1))
218
-
219
-
220
-
221
- all_bf = (Lbb1Rem, Lbb2Rem, Lbb3Rem, Lbb4Rem, Lbb1Full, Lbb2Full, Lbb3Full, Lbb4Full,
222
- Lbf1Rem, Lbf2Rem, Lbf3Rem, Lbf4Rem, Lbf1Full, Lbf2Full, Lbf3Full, Lbf4Full,
223
- Lbca1Full, Lbca2Full, Lbca3Full, Lbca4Full,
224
- Lbe1Rem, Lbe2Rem, Lbe3Rem, Lbe4Rem, Lbe1Full, Lbe2Full, Lbe3Full, Lbe4Full,
225
- Lbm1Full, Lbm2Full, Lbm3Full, Lbm4Full,
226
- Lbcsc1Rem, Lbcsc2Rem, Lbcsc3Rem, Lbcsc4Rem, Lbcsc1Full, Lbcsc2Full, Lbcsc3Full, Lbcsc4Full,
227
- Lbort1Rem, Lbort2Rem, Lbort3Rem, Lbort4Rem, Lbort1Full, Lbort2Full, Lbort3Full, Lbort4Full,
228
- Lbcmf1Rem, Lbcmf2Rem, Lbcmf3Rem, Lbcmf4Rem, Lbcmf1Full, Lbcmf2Full, Lbcmf3Full, Lbcmf4Full,
229
- Lpsf1, Lpsf2, Lpsf3, Lpsf4,
230
- Lbcpsf1Rem, Lbcpsf2Rem, Lbcpsf3Rem, Lbcpsf4Rem, Lbcpsf1Full, Lbcpsf2Full, Lbcpsf3Full, Lbcpsf4Full,
231
- Lbd1Rem, Lbd2Rem, Lbd3Rem, Lbd4Rem, Lbd1Full, Lbd2Full, Lbd3Full, Lbd4Full)
232
-
233
- fi = open('all_bfWeave.sav','w') # This file saves the outputs of the current acoular version
234
- #fi = open('all_bfNumba.sav','w') # This file saves the outputs of the new acoular version, which has to be validated
235
-
236
- dump(all_bf,fi,-1) # uses newest pickle protocol -1 (default = 0)
237
- fi.close()
238
- #"""
239
-
240
- #%% Compare Weave vs Numba
241
- fi = open('all_bfWeave.sav','r')
242
- all_bfWeave = load(fi)
243
- fi.close()
244
-
245
- fi = open('all_bfNumba.sav','r')
246
- all_bfNumba = load(fi)
247
- fi.close()
248
-
249
- # remove all negative levels
250
- err = [] # keep in mind that these are levels!!!
251
- for cnt in range(len(all_bfNumba)):
252
- all_bfNumba[cnt][all_bfNumba[cnt] < 0] = all_bfWeave[cnt][all_bfWeave[cnt] < 0] = 1e-20
253
- relDiff = (all_bfWeave[cnt] - all_bfNumba[cnt]) / (all_bfWeave[cnt] + all_bfNumba[cnt]) * 2
254
- err.append(amax(amax(amax(abs(relDiff), 0), 0), 0))