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
acoular/tools.py DELETED
@@ -1,422 +0,0 @@
1
- # -*- coding: utf-8 -*-
2
- #pylint: disable-msg=E0611, E1101, C0103, R0901, R0902, R0903, R0904, W0232
3
- #------------------------------------------------------------------------------
4
- # Copyright (c) Acoular Development Team.
5
- #------------------------------------------------------------------------------
6
- """
7
- Implements tools for Acoular.
8
-
9
- .. autosummary::
10
- :toctree: generated/
11
-
12
- MetricEvaluator
13
- return_result
14
- spherical_hn1
15
- get_radiation_angles
16
- get_modes
17
- barspectrum
18
- bardata
19
- """
20
-
21
- import acoular as ac
22
- from numpy import array, concatenate, newaxis, where,arctan2,sqrt,pi,mod,zeros,\
23
- complex128, ones, inf, minimum, empty
24
- from numpy.linalg import norm
25
- from numpy.ma import masked_where
26
- from .spectra import synthetic
27
- from traits.api import Bool, CArray, HasPrivateTraits, Instance, Property, Any
28
-
29
- from scipy.special import spherical_yn, spherical_jn, sph_harm
30
- from scipy.spatial.distance import cdist
31
- from copy import copy
32
-
33
- class MetricEvaluator(HasPrivateTraits):
34
- """Evaluate the reconstruction performance of source mapping methods.
35
-
36
- This class can be used to calculate the following performance metrics
37
- according to Herold and Sarradj (2017):
38
- * Specific level error
39
- * Overall level error
40
- * Inverse level error
41
- """
42
-
43
- #: an array of shape=(nf,ng) containing the squared sound pressure data of the
44
- #: source mapping. (nf: number of frequencies, ng: number of grid points)
45
- data = CArray(shape=(None,None),
46
- desc="Contains the calculated squared sound pressure values in Pa**2.")
47
-
48
- #: an array of shape=(nf,ns) containing the squared sound pressure data of the
49
- #: ground-truth sources. (nf: number of frequencies, ns: number of sources)
50
- target_data = CArray(shape=(None,None),
51
- desc="Contains the ground-truth squared sound pressure values in Pa**2.")
52
-
53
- #: :class:`~acoular.grids.Grid`-derived object that provides the grid locations
54
- #: for the calculated source mapping data.
55
- grid = Instance(ac.Grid,
56
- desc="Grid instance that belongs to the calculated data")
57
-
58
- #: :class:`~acoular.grids.Grid`-derived object that provides the grid locations
59
- #: for the ground-truth data.
60
- target_grid = Instance(ac.Grid,
61
- desc="Grid instance that belongs to the ground-truth data")
62
-
63
- #: sector type. Currently only circular sectors are supported.
64
- sector = Instance(ac.CircSector, default=ac.CircSector(),)
65
-
66
- #: if set True: use shrink integration area if two sources are closer
67
- #: than 2*r. The radius of the integration area is then set to half the
68
- #: distance between the two sources.
69
- adaptive_sector_size = Bool(True,
70
- desc="adaptive integration area")
71
-
72
- #: if set `True`, the same amplitude can be assigned to multiple targets if
73
- #: the integration area overlaps. If set `False`, the amplitude is assigned
74
- #: to the first target and the other targets are ignored.
75
- multi_assignment = Bool(True,
76
- desc="if set True, the same amplitude can be assigned to multiple targets if the integration area overlaps")
77
-
78
- #: returns the determined sector sizes for each ground-truth source position
79
- sectors = Property()
80
-
81
- def _validate_shapes(self):
82
- if self.data.shape[0] != self.target_data.shape[0]:
83
- raise ValueError("data and target_data must have the same number of frequencies!")
84
- if self.data.shape[1] != self.grid.size:
85
- raise ValueError("data and grid must have the same number of grid points!")
86
- if self.target_data.shape[1] != self.target_grid.size:
87
- raise ValueError("target_data and target_grid must have the same number of grid points!")
88
-
89
- def _get_sector_radii(self):
90
- ns = self.target_data.shape[1]
91
- radii = ones(ns)*self.sector.r
92
- if self.adaptive_sector_size:
93
- locs = self.target_grid.gpos.T
94
- intersrcdist = cdist(locs, locs)
95
- intersrcdist[intersrcdist == 0] = inf
96
- intersrcdist = intersrcdist.min(0)/2
97
- radii = minimum(radii,intersrcdist)
98
- return radii
99
-
100
- def _get_sectors(self):
101
- """Returns a list of CircSector objects for each target location."""
102
- r = self._get_sector_radii()
103
- ns = self.target_data.shape[1]
104
- sectors = []
105
- for i in range(ns):
106
- loc = self.target_grid.gpos[:,i]
107
- sector = copy(self.sector)
108
- sector.r = r[i]
109
- sector.x = loc[0]
110
- sector.y = loc[1]
111
- sectors.append(sector)
112
- return sectors
113
-
114
- def _integrate_sectors(self):
115
- """Integrates over target sectors.
116
-
117
- Returns
118
- -------
119
- array (num_freqs,num_sources)
120
- returns the integrated Pa**2 values for each sector
121
- """
122
- sectors = self.sectors
123
- results = empty(shape=self.target_data.shape)
124
- for f in range(self.target_data.shape[0]):
125
- data = self.data[f]
126
- for i in range(self.target_data.shape[1]):
127
- sector = sectors[i]
128
- results[f,i] = ac.integrate(data,self.grid,sector)
129
- if not self.multi_assignment:
130
- indices = self.grid.subdomain(sector)
131
- data[indices] = 0 # set values to zero (can not be assigned again)
132
- return results
133
-
134
- def get_overall_level_error(self):
135
- """Returns the overall level error (Herold and Sarradj, 2017).
136
-
137
- Returns
138
- -------
139
- numpy.array
140
- overall level error of shape=(nf,)
141
- """
142
- self._validate_shapes()
143
- return ac.L_p(self.data.sum(axis=1)) - ac.L_p(self.target_data.sum(axis=1))
144
-
145
- def get_specific_level_error(self):
146
- """Returns the specific level error (Herold and Sarradj, 2017).
147
-
148
- Returns
149
- -------
150
- numpy.array
151
- specific level error of shape=(nf,ns). nf: number of frequencies, ns: number of sources
152
- """
153
- self._validate_shapes()
154
- sector_result = self._integrate_sectors()
155
- return ac.L_p(sector_result) - ac.L_p(self.target_data)
156
-
157
- def get_inverse_level_error(self):
158
- """Returns the inverse level error (Herold and Sarradj, 2017).
159
-
160
- Returns
161
- -------
162
- numpy.array
163
- inverse level error of shape=(nf,1)
164
- """
165
- self._validate_shapes()
166
- sector_result = self._integrate_sectors()
167
- return ac.L_p(sector_result.sum(axis=1)) - ac.L_p(self.data.sum(axis=1))
168
-
169
-
170
-
171
- def return_result(source, nmax=-1, num=128):
172
- """
173
- Collects the output from a
174
- :meth:`SamplesGenerator.result()<acoular.tprocess.SamplesGenerator.result>`
175
- generator and returns an assembled array with all the data.
176
-
177
- Parameters
178
- ----------
179
- source: SamplesGenerator or derived object.
180
- This is the :class:`SamplesGenerator<acoular.tprocess.SamplesGenerator>` data source.
181
- nmax: integer
182
- With this parameter, a maximum number of output samples can be set
183
- (first dimension of array). If set to -1 (default), samples are
184
- collected as long as the generator yields them.
185
- num : integer
186
- This parameter defines the size of the blocks that are fetched.
187
- Defaults to 128.
188
-
189
- Returns
190
- -------
191
- array of floats (number of samples, source.numchannels)
192
- Array that holds all the data.
193
- """
194
- resulter = (_.copy() for _ in source.result(num))
195
-
196
- if nmax > 0:
197
- nblocks = (nmax-1) // num + 1
198
- return concatenate(
199
- list( res for _, res in
200
- zip(range(nblocks),
201
- resulter) ) )[:nmax]
202
- else:
203
- return concatenate(list(resulter))
204
-
205
-
206
- def spherical_hn1(n,z,derivativearccos=False):
207
- """ Spherical Hankel Function of the First Kind
208
-
209
- """
210
- return spherical_jn(n,z,derivative=False)+1j*spherical_yn(n,z,derivative=False)
211
-
212
- def get_radiation_angles(direction,mpos, sourceposition):
213
- """
214
- Returns azimuthal and elevation angles between the mics and the source
215
-
216
- Parameters
217
- ----------
218
- direction : array of floats
219
- Spherical Harmonic orientation
220
- mpos : array of floats
221
- x, y, z position of microphones
222
- sourceposition : array of floats
223
- position of the source
224
-
225
- Returns
226
- -------
227
- azi, ele : array of floats
228
- the angle between the mics and the source
229
- """
230
- #direction of the Spherical Harmonics
231
- direc = array(direction, dtype = float)
232
- direc = direc/norm(direc)
233
- # distances
234
- source_to_mic_vecs = mpos-array(
235
- sourceposition).reshape((3, 1))
236
- source_to_mic_vecs[2] *= -1 # invert z-axis (acoular) #-1
237
- # z-axis (acoular) -> y-axis (spherical)
238
- # y-axis (acoular) -> z-axis (spherical)
239
- #theta
240
- ele = arctan2(sqrt(source_to_mic_vecs[0]**2 + source_to_mic_vecs[2]**2),source_to_mic_vecs[1])
241
- ele +=arctan2(sqrt(direc[0]**2 + direc[2]**2), direc[1])
242
- ele += pi*.5 # convert from [-pi/2, pi/2] to [0,pi] range
243
- #phi
244
- azi = arctan2(source_to_mic_vecs[2],source_to_mic_vecs[0])
245
- azi += arctan2(direc[2],direc[0])
246
- azi = mod(azi,2*pi)
247
- return azi, ele
248
-
249
- def get_modes(lOrder, direction, mpos , sourceposition = array([0,0,0])):
250
- """
251
- Returns Spherical Harmonic Radiation Pattern at the Microphones
252
-
253
- Parameters
254
- ----------
255
- lOrder : int
256
- Maximal order of spherical harmonic
257
- direction : array of floats
258
- Spherical Harmonic orientation
259
- mpos : array of floats
260
- x, y, z position of microphones
261
- sourceposition : array of floats
262
- position of the source
263
-
264
- Returns
265
- -------
266
- modes : array of floats
267
- the radiation values at each microphone for each mode
268
- """
269
- azi, ele = get_radiation_angles(direction,mpos,sourceposition) # angles between source and mics
270
- modes = zeros((azi.shape[0], (lOrder+1)**2), dtype=complex128)
271
- i = 0
272
- for l in range(lOrder+1):
273
- for m in range(-l, l+1):
274
- modes[:, i] = sph_harm(m, l, azi, ele)
275
- if m<0:
276
- modes[:, i]=modes[:, i].conj()*1j
277
- i += 1
278
- return modes
279
-
280
- def barspectrum(data, fftfreqs, num = 3, bar = True, xoffset = 0.0):
281
- """
282
- Returns synthesized frequency band values of spectral data to be plotted
283
- as bar graph with the matlpotlib plot command.
284
-
285
-
286
- Parameters
287
- ----------
288
- data : array of floats
289
- The spectral data (sound pressures in Pa) in an array with one value
290
- per frequency line.
291
- fftfreqs : array of floats
292
- Discrete frequencies from FFT.
293
- num : integer
294
- Controls the width of the frequency bands considered; defaults to
295
- 3 (third-octave band).
296
- bar : bool
297
- If True, returns bar-like curve. If False, normal plot (direct
298
- line between data points) is returned.
299
- xoffset : float
300
- If bar is True, offset of the perpendicular line (helpful if
301
- plotting several curves above each other).
302
-
303
- === =====================
304
- num frequency band width
305
- === =====================
306
- 1 octave band
307
- 3 third-octave band
308
- === =====================
309
-
310
- Returns
311
- -------
312
- (flulist, plist, fc)
313
- flulist : array of floats
314
- Lower/upper band frequencies in plottable format.
315
- plist : array of floats
316
- Corresponding synthesized frequency band values in plottable format.
317
- fc : array of floats
318
- Evaluated band center frequencies.
319
- """
320
-
321
- if num not in [1,3]:
322
- print('Only octave and third-octave bands supported at this moment.')
323
- return (0,0,0)
324
-
325
-
326
- # preferred center freqs after din en iso 266 for third-octave bands
327
- fcbase = array([31.5,40,50,63,80,100,125,160,200,250])
328
- # DIN band center frequencies from 31.5 Hz to 25 kHz
329
- fc = concatenate((fcbase, fcbase*10., fcbase[:]*100.))[::(3//num)]
330
-
331
-
332
- # exponent for band width calculation
333
- ep = 1. / (2.*num)
334
-
335
- # lowest and highest possible center frequencies
336
- # for chosen band and sampling frequency
337
- f_low = fftfreqs[1]*2**ep
338
- f_high = fftfreqs[-1]*2**-ep
339
- # get possible index range
340
- if fc[0] >= f_low:
341
- i_low = 0
342
- else:
343
- i_low = where(fc < f_low)[0][-1]
344
-
345
- if fc[-1] <= f_high:
346
- i_high = fc.shape[0]
347
- else:
348
- i_high = where(fc > f_high)[0][0]
349
-
350
- # synthesize sound pressure values
351
- p = array([ synthetic(data, fftfreqs, list(fc[i_low:i_high]), num) ])
352
-
353
- if bar:
354
- # upper and lower band borders
355
- flu = concatenate(( fc[i_low:i_low+1]*2**-ep,
356
- ( fc[i_low:i_high-1]*2**ep + fc[i_low+1:i_high]*2**-ep ) / 2.,
357
- fc[i_high-1:i_high]*2**ep ))
358
- # band borders as coordinates for bar plotting
359
- flulist = 2**(2*xoffset*ep) * (array([1,1])[:,newaxis]*flu[newaxis,:]).T.reshape(-1)[1:-1]
360
- # sound pressures as list for bar plotting
361
- plist = (array([1,1])[:,newaxis]*p[newaxis,:]).T.reshape(-1)
362
- else:
363
- flulist = fc[i_low:i_high]
364
- plist = p[0,:]
365
- #print(flulist.shape, plist.shape)
366
- return (flulist, plist, fc[i_low:i_high])
367
-
368
-
369
-
370
- def bardata(data, fc, num=3, bar = True, xoffset = 0.0, masked = -360):
371
- """
372
- Returns data to be plotted
373
- as bar graph with the matlpotlib plot command.
374
-
375
-
376
- Parameters
377
- ----------
378
- data : array of floats
379
- The spectral data
380
- fc : array of floats
381
- Band center frequencies
382
- bar : bool
383
- If True, returns bar-like curve. If False, normal plot (direct
384
- line between data points) is returned.
385
- xoffset : float
386
- If bar is True, offset of the perpendicular line (helpful if
387
- plotting several curves above each other).
388
-
389
- === =====================
390
- num frequency band width
391
- === =====================
392
- 1 octave band
393
- 3 third-octave band
394
- === =====================
395
-
396
- Returns
397
- -------
398
- (flulist, plist)
399
- flulist : array of floats
400
- Lower/upper band frequencies in plottable format.
401
- plist : array of floats
402
- Corresponding values in plottable format.
403
- """
404
- ep = 1. / (2.*num)
405
-
406
- if bar:
407
- # upper and lower band borders
408
- flu = concatenate(( fc[:1]*2**-ep,
409
- ( fc[:-1]*2**ep + fc[1:]*2**-ep ) / 2.,
410
- fc[-1:]*2**ep ))
411
- # band borders as coordinates for bar plotting
412
- flulist = 2**(xoffset*1./num) * (array([1,1])[:,newaxis]*flu[newaxis,:]).T.reshape(-1)[1:-1]
413
- # sound pressures as list for bar plotting
414
- plist = (array([1,1])[:,newaxis] * data[newaxis,:]).T.reshape(-1)
415
- else:
416
- flulist = fc
417
- plist = data
418
- #print(flulist.shape, plist.shape)
419
- if masked > -360:
420
- plist = masked_where(plist <= masked, plist)
421
- return (flulist, plist)
422
-
@@ -1,148 +0,0 @@
1
- acoular/__init__.py,sha256=0BZMsRfFfwuSnTTYj9Jxs72TpqEFJswZfD65Oay_RVU,2641
2
- acoular/calib.py,sha256=vOAZe-l9iFZiO74vgF2Xo8PwbIeHBydV75GMkwExWkI,2655
3
- acoular/configuration.py,sha256=svKch7hyuNV9feyuVjRK7vnApA11rFJRJWfqegPR0ZE,7221
4
- acoular/environments.py,sha256=_fFt7xJGl3ts3Z2uY3NL3pXflVA1pJYAIMIHT15SFKI,22349
5
- acoular/fastFuncs.py,sha256=bqiquPiz4xYIEF5jtmj0DJGqNBTdiSo5Jn4Vmr4Kxqg,38191
6
- acoular/fbeamform.py,sha256=8b1_44AlYyyv1YB4OxDzInBbro1u3-Bj8eQWrJecp1g,117815
7
- acoular/fileimport.py,sha256=Y1w75IlH_x-nH7put-E8awXFy5Thgz5yHNoIQl7cjMA,13285
8
- acoular/grids.py,sha256=jynZLFIABIRTXbHw4qKYwdXWrAYRBo-jr1_uNsut1K0,41908
9
- acoular/h5cache.py,sha256=uoYs4i83qt7oRI27w7b03-GPCBn88Z0eo_UjR-ywKfo,4700
10
- acoular/h5files.py,sha256=dKCSercvAJI-zD8d6i4cO0SgYFae9icsobh6IebuU1A,6476
11
- acoular/internal.py,sha256=b4v-kVMU6K3fzkrKavYPyhjqyaysVk2bgw2DX3DB8Bo,861
12
- acoular/microphones.py,sha256=-3vfL-PGla0Jt_h1QbNldYWAvzTAH6U0gLebzxs5lvQ,4684
13
- acoular/nidaqimport.py,sha256=nXFw322eUwhQaKXPAWVT3fefII-d8P_odGAC1A22LEY,10702
14
- acoular/sdinput.py,sha256=0OcChzIUD1sexcdUBNjrZ74jgUNqL06vieDOp-YGSKo,4344
15
- acoular/signals.py,sha256=ZxikI-Nw4DwfmHTqCOmWbbhWllR2yW9wL-ljSgGpSQA,11865
16
- acoular/sources.py,sha256=fYKtGYEp638YvwLrk0mKi9X634zpN1YCWmXQdNBfR7s,51086
17
- acoular/spectra.py,sha256=8FrrOfjVAKLJep1Sb4HtphcA9oLKk-cUrPmxJpIvKBY,28975
18
- acoular/tbeamform.py,sha256=H1T_rFJYV9Xp-ezZpyUngYkNJ1kJQlv-S8AY-nvtKQ0,31193
19
- acoular/tfastfuncs.py,sha256=ibbTU9LemjXlxYsppgKTyMwW4XsXmduo3JudA0XlsBY,7383
20
- acoular/tools.py,sha256=dqhAju7UOtckrzov_HJGkHo7QAgOCeEEVDs0RzfvY4Q,14934
21
- acoular/tprocess.py,sha256=KBsPlYUCot7AIcK_1JeECwGzCv70io1uLILQF-4o688,91140
22
- acoular/traitsviews.py,sha256=VHCIr70gEU6nJkicq1JkxGlYyHh16vUCe4vHkgdkQwA,17655
23
- acoular/trajectory.py,sha256=oxsOvlti4p4qlPnoYJjObQ-42UfWfWvb96OhwnRv56I,4203
24
- acoular/version.py,sha256=jIKXs3ln6FKIM_k1QqkYRrGe61DwueDwUBFWw0VPx1M,392
25
- acoular/demo/__init__.py,sha256=0pWbkUhMd8p6oMA8K6iNjT2a1EfKzwOLbmPVJxh7KU0,251
26
- acoular/demo/acoular_demo.py,sha256=cRWesR6JyeoYbcTXuPYU9hSLjsVaRiL4DJ4Z__LbtAQ,2801
27
- acoular/tests/run_tests.sh,sha256=ucCUE7q7j7sWoXjytwFDPwtbUz_RZOR6DP_itXWuA-c,288
28
- acoular/tests/run_tests_osx.sh,sha256=Dq2s3vWbZOgW1swGhN_ZFacNDRXbZWJ_g4GCLyl-2Jk,286
29
- acoular/tests/test.npy,sha256=57PGpFDUwRkIF3-JA6FmflozplmiOVjHVmDoX7wGN6A,441
30
- acoular/tests/test_beamformer_results.py,sha256=gMm-WMu0MupDs9ky1jzaP6ClEGR_rDvQ1wUGPCCD5Qw,10612
31
- acoular/tests/test_classes.py,sha256=KphaNvUZJmqog8efyFQVkIO3oxs6K2EEFvdK7eIWLVA,2736
32
- acoular/tests/test_digest.py,sha256=jz9qZZk4so0ZW75L-KJSeic6i3Y4OP87Oy3uQCI6oXw,8645
33
- acoular/tests/test_environments.py,sha256=X7evzBtzmklG18tZybzfGo8xs8tdrm8py0LXxl3yMxk,2532
34
- acoular/tests/test_example1.py,sha256=-dg6Wgu_--RiFmJTnUXcAvrUA79N8dTKVGLhV0W8ttA,4672
35
- acoular/tests/test_grid.py,sha256=OFmdkWz9Dl6sHjWkjBkWvleb9YV5tD4yA_I9kHO_k3s,3892
36
- acoular/tests/test_integrate.py,sha256=so03TUEqBA9FKrAaAjCQ8UVXAJFacVfe-FJ7pQGTP3c,4866
37
- acoular/tests/test_signals.py,sha256=T2sz7KZ-fcJCSf-ALFJFuXRmI5bKpnZfGQSINJezuUc,2854
38
- acoular/tests/test_sources.py,sha256=LsLSJITD4i0HtBpjJM02qrVxy6giEvQusfcrJCONrnQ,1932
39
- acoular/tests/test_spectra.py,sha256=lSmemY9gZGYjofIw7BcT-fC2Wi10IWa06_fAQK6_1Bw,1226
40
- acoular/tests/test_timecache.py,sha256=xAnwhUQ8PPnkdbLRrgvVnM40u3lQbynZ3kInYK4-GEk,1263
41
- acoular/tests/test_tprocess.py,sha256=0lAfVqrsaCHmg-KtqDWfuIK-_dXefsEzufOGabL6yQU,2897
42
- acoular/tests/test_traj_beamformer_results.py,sha256=qlh_Cx6PA2S8a7v7Xfoxg9dZcKLYd3J8aEUk93OCp2g,5472
43
- acoular/tests/reference_data/BeamformerBase.npy,sha256=SXWz2lZNJIVTJtDeVpKo0FtITyRRx43I2b-LnWB6RPY,1480
44
- acoular/tests/reference_data/BeamformerBaseFalse1.npy,sha256=1jyJenqjqrGH2sMoR9AgLpafSmuZTjGUlm7lltW9B40,1480
45
- acoular/tests/reference_data/BeamformerBaseFalse2.npy,sha256=z7x2JtTSbtNL20jIR2u83tbdW80lkqDldjD1HtYvJsA,1480
46
- acoular/tests/reference_data/BeamformerBaseFalse3.npy,sha256=yWVdkTGoCnrXe3p2PUcNJc8moUrJAVfWfeghWNqyx3k,1480
47
- acoular/tests/reference_data/BeamformerBaseFalse4.npy,sha256=tLKQm2I20SpIkKVwJSxoZdoj9K96nFsX9OezT2z11kY,1480
48
- acoular/tests/reference_data/BeamformerBaseTrue1.npy,sha256=07gDCvKquHgZtAJtH0I_Vsn9zKtpOugDu4HL6Ny1xBw,1480
49
- acoular/tests/reference_data/BeamformerBaseTrue2.npy,sha256=M0VWloRkEsBL_N8JZreUdjDZpQ8e2NxKNTY42E-GKSA,1480
50
- acoular/tests/reference_data/BeamformerBaseTrue3.npy,sha256=SXWz2lZNJIVTJtDeVpKo0FtITyRRx43I2b-LnWB6RPY,1480
51
- acoular/tests/reference_data/BeamformerBaseTrue4.npy,sha256=LWqzl2iy15GzQbd2Y6Rd2tIm2Ft71984qNnhMp0KIag,1480
52
- acoular/tests/reference_data/BeamformerCMFLassoLarsBIC.npy,sha256=hu8jmG8C7KCUhnTSuRO9qC0sDhVzmVQPtpThL7DYnpw,1480
53
- acoular/tests/reference_data/BeamformerCMFNNLS.npy,sha256=WVQQBiPdej1VWqYzRS_p6zjni1psV1HluolWM_RiCsk,1480
54
- acoular/tests/reference_data/BeamformerCapon.npy,sha256=12V9FHQQrnfAaYXFJP5udGbrdOBjn0Z4SXMa6iOdUm4,1480
55
- acoular/tests/reference_data/BeamformerClean.npy,sha256=DlY5YMM3XCf5EDhFwEvpmSzXEzBRyjEcV_OZlAfXW3U,1480
56
- acoular/tests/reference_data/BeamformerCleansc.npy,sha256=Dpx-1X23LlaKUMu58QmXGQkRz3BGz3bOk6jCNmrmOpY,1480
57
- acoular/tests/reference_data/BeamformerCleant.npy,sha256=GV93byvuSeRdgl-nfi2laT6U1-N_y4rUjMml5VoC2LM,512
58
- acoular/tests/reference_data/BeamformerCleantSq.npy,sha256=wbnS9njyA8c-OgDM-_PsJ5GAmiDftZ2kvMgWj06lVXc,512
59
- acoular/tests/reference_data/BeamformerCleantSqTraj.npy,sha256=71sB7BJdfM9GoYDaFDxXNWydXLHl1UxAtnz6Rn549t0,512
60
- acoular/tests/reference_data/BeamformerCleantTraj.npy,sha256=D5hjX8hqupNawbSHAOz2slkVHGdqtt_8ovqtdI-LjbQ,512
61
- acoular/tests/reference_data/BeamformerDamas.npy,sha256=Mx2lfN-xcn0WZSBzt_G9548lwxecXG5rDTIyaTRTBHI,1480
62
- acoular/tests/reference_data/BeamformerDamasPlus.npy,sha256=d1bXvIlaKnqmKz3cGBEZhs4uSVLr9NZTtnpkGaJe8K8,1480
63
- acoular/tests/reference_data/BeamformerEig.npy,sha256=_qpZ5EpTMAf62vm41RZQHm47Vh8npZa4YDAqjBKbdwg,1480
64
- acoular/tests/reference_data/BeamformerEigFalse1.npy,sha256=3uwKkHY7v3vWLbjEqkvtFgev86v-Dqv7TXiK10eaC5E,1480
65
- acoular/tests/reference_data/BeamformerEigFalse2.npy,sha256=9eoFLuBfWsM5ZVksjoCFSqsciJ1aylGxrkJttfRhPl0,1480
66
- acoular/tests/reference_data/BeamformerEigFalse3.npy,sha256=1vB2kQFwSxb4gMfQ746V1E_3IiXfWMTv9oShXagN-Ck,1480
67
- acoular/tests/reference_data/BeamformerEigFalse4.npy,sha256=tuQi0qebS1-NYFYt5xjutIqf-PPI9MmpHKZVBLlpmO0,1480
68
- acoular/tests/reference_data/BeamformerEigTrue1.npy,sha256=OoPvyJ2ArHLX-t8bCC8_R4qMJiK0CLkFhLoKBkbpntQ,1480
69
- acoular/tests/reference_data/BeamformerEigTrue2.npy,sha256=CPK9PKOywjgeeb7Q4qvNGYV9nSOc-iWoTpP7wOO3k7k,1480
70
- acoular/tests/reference_data/BeamformerEigTrue3.npy,sha256=_qpZ5EpTMAf62vm41RZQHm47Vh8npZa4YDAqjBKbdwg,1480
71
- acoular/tests/reference_data/BeamformerEigTrue4.npy,sha256=kNx3nu7XuJPWQ8q_RPf-cqei9SHpAMSoAxAGHeU_L9Y,1480
72
- acoular/tests/reference_data/BeamformerFunctional.npy,sha256=iI2m2FKEuOSqjamFzYex-W9M2DvmNwLzVzdd-jF2Z3I,1480
73
- acoular/tests/reference_data/BeamformerGIB.npy,sha256=seJXgy3zVn29yUFWGz4gN4AzIcvnk0N9IJctffgJT6s,1480
74
- acoular/tests/reference_data/BeamformerGridlessOrth.npy,sha256=8lr3zhn2TviDQCEOVdVeOs9QySdvAxdEavx_w0K0TU8,648
75
- acoular/tests/reference_data/BeamformerMusic.npy,sha256=tWSiwIt2XfGdO5Wf8M8qGm2_IzHK3hVDjCTd2blpAsg,1480
76
- acoular/tests/reference_data/BeamformerOrth.npy,sha256=a_OWXScfCtwhHZsuCe_CA_lIl-IoKOtkAYzmno4yySM,1480
77
- acoular/tests/reference_data/BeamformerSODIX.npy,sha256=IIv7LCCFSiuHXqPU2mEtzsoGwlB__IqDnXuMrgESf98,73136
78
- acoular/tests/reference_data/BeamformerTime.npy,sha256=IJy6Y65DKAiYd98R1gHMrj48TjAtf9f7BQq0Aunc6ZM,512
79
- acoular/tests/reference_data/BeamformerTimeSq.npy,sha256=uy3_vy6HF3AOEeei6pqibSXHPXUi0n2SGI6dlUd-4FA,512
80
- acoular/tests/reference_data/BeamformerTimeSqTraj.npy,sha256=tldZ1uhwgImum4e0uE5lLB6si8uyXOIK7sI-DIPC_PQ,512
81
- acoular/tests/reference_data/BeamformerTimeTraj.npy,sha256=BjB1sr_vHmY8CDzYC6kHl0mvKhfZ1ks7fTzBrWiaL9I,512
82
- acoular/tests/reference_data/Environment.npy,sha256=R6lRfvm5F2nAANQNgpXCz6q5ySVuO72WyLRf0gAMpiM,992
83
- acoular/tests/reference_data/Example1_numerical_values_testsum.h5,sha256=NEp7Crg4_Z5OQ1JOpS1YqsFLOK56q3h8k5Y097JM9Xk,9688
84
- acoular/tests/reference_data/FiltFiltOctave__.npy,sha256=xDpbMR0-PwZ9ZzDp6aLWQLwkx77_jaKI-exmqYmAmAs,2368
85
- acoular/tests/reference_data/FiltFiltOctave_band_100_0_fraction_Thirdoctave_.npy,sha256=e_cTAyIp7wrYdKLYpr9JDcOSl9AjgWiaroGMykdTrlo,2368
86
- acoular/tests/reference_data/FiltFreqWeight_weight_A_.npy,sha256=Wi-US2VekdRdU7QdTxTV-wEptONiHRNUHLFJju5RDNU,2368
87
- acoular/tests/reference_data/FiltFreqWeight_weight_C_.npy,sha256=33hYxl2DFw4UOJ7Jz7t_vfIIAdrjtDzwmeExY6sQUJo,2368
88
- acoular/tests/reference_data/FiltFreqWeight_weight_Z_.npy,sha256=zDra9kY62Dc0dWF_pW0QyRx9XjLccbvYApuPU9wT6Vk,2368
89
- acoular/tests/reference_data/FiltOctave__.npy,sha256=W2bkGnFlQf9Tgs7KJZ5zuvW52zd3a6Ut1hljDWlw8E8,2368
90
- acoular/tests/reference_data/FiltOctave_band_100_0_fraction_Thirdoctave_.npy,sha256=tloYFBr6rdAJtbjumM9eNMvUmTI-o7anK-rNumg_NrU,2368
91
- acoular/tests/reference_data/Filter__.npy,sha256=zDra9kY62Dc0dWF_pW0QyRx9XjLccbvYApuPU9wT6Vk,2368
92
- acoular/tests/reference_data/GeneralFlowEnvironment.npy,sha256=BLqggxfgQbc1C4c-ztc3U8YQfkJ9f62hb4XB0KhLJQ0,992
93
- acoular/tests/reference_data/OctaveFilterBank__.npy,sha256=wJnRKSgdXrvmbC4miqfNqipUSTb8x8x4aPLWayuEv3s,15808
94
- acoular/tests/reference_data/OpenJet.npy,sha256=7LYVwYsJKDTbZH0WZ5WH8PYpufhL0vYcffs-yeAZU_g,2720
95
- acoular/tests/reference_data/PointSource.npy,sha256=qxJAv-h6SDF5ZSHXJTAfaJVjBvEtUgBS_-oJijDaG7k,256
96
- acoular/tests/reference_data/PowerSpectra_csm.npy,sha256=6JHBOoXLchECmmax5E21E4jFZSfms3vw65KZbAaRfA4,46784
97
- acoular/tests/reference_data/PowerSpectra_ev.npy,sha256=562t_Imm1Bpy9VPKGJ1n8ouw_HfmQAgsqB4Q6B4Ft5k,46784
98
- acoular/tests/reference_data/RotatingFlow.npy,sha256=4SrlFM0O6WhVl-QOdSgaS-LSXYi_zEbEShQp7p0-z6o,2720
99
- acoular/tests/reference_data/SlotJet.npy,sha256=xxHcYpoVYxG4Ak8uBkvjvrncpfO2AeF0azTvLscNbpE,2720
100
- acoular/tests/reference_data/TimeAverage__.npy,sha256=NAWXzq-CvKKweq0ob-FtHyAJatDbVBPKrtyZTWpfpoI,240
101
- acoular/tests/reference_data/TimeCumAverage__.npy,sha256=tDKnIYqIZe7KUG8qB6cjrlYv8wAaQIrxJIPCzSI2W88,2368
102
- acoular/tests/reference_data/TimeExpAverage_weight_F_.npy,sha256=YXopPBuLrY3a2iDxO1g3GS1PUrE_Mkz5zZnlNiLesOk,2368
103
- acoular/tests/reference_data/TimeExpAverage_weight_I_.npy,sha256=656AhZ5Oipuh0b5_qGtykd_FKvNO6rATNUmYyNyDOEo,2368
104
- acoular/tests/reference_data/TimeExpAverage_weight_S_.npy,sha256=zvkcB3QSnVv4XXKZejCpNrodBvKyRc04-lte82UnWls,2368
105
- acoular/tests/reference_data/TimeInOut__.npy,sha256=hn0IQk-7vIw4vGgfWkniaa1gPI47t8mlubLQFVdRZ0Y,1248
106
- acoular/tests/reference_data/TimePower__.npy,sha256=Q1776dwc0oYlJYOtSsXdK48z2453WO4m-NtgYxaE0UU,1248
107
- acoular/tests/reference_data/TimeReverse__.npy,sha256=dONeF98PmipmsSm3zlfFUjsU0b2qZGcQzwPNcBebS60,1248
108
- acoular/tests/reference_data/UniformFlowEnvironment.npy,sha256=suOncXF58GJtKhVxplMrbV2fMHcTktBEH75f_gSE66A,992
109
- acoular/tests/reference_data/beamformer_traj_time_data.h5,sha256=beH9_En9IgxGUNmhxqCqLo_8PNteVLUSxQBVF3NauY4,69960
110
- acoular/tests/unsupported/functionalBeamformer.py,sha256=NxGxn_5eVJWvIT1wTdJ52esRDXbYz7hrqTYr7NQJ-1w,4980
111
- acoular/tests/unsupported/precisionTest.py,sha256=ysyZZzM6wxHXw0j9Qc0QVBZvXywTVUJyB59cpGG1JG4,6266
112
- acoular/tests/unsupported/validationOfBeamformerFuncsPOSTAcoularIntegration.py,sha256=t_66UFLSxlOTQCTGtb4ROlF2tN7soI70wjY8GJ1xy54,13815
113
- acoular/tests/unsupported/validationOfBeamformerFuncsPREeAcoularIntegration.py,sha256=QqVVFYmGTiOg_TkX5Sf-abzx4_125FXwiUhBYI1fGsI,31698
114
- acoular/tests/unsupported/SpeedComparison/OvernightTestcasesBeamformer_nMics32_nGridPoints100_nFreqs4_nTrials10.png,sha256=mhn9gydEOjz0WB0N1qWgYb-u7Xc4_wFE9m8v1qGFOIU,131252
115
- acoular/tests/unsupported/SpeedComparison/cythonBeamformer.pyx,sha256=WkWeWIgMnPFJ__SPnBdMRExn8QB8m3FFiRFg9_2rOOo,10727
116
- acoular/tests/unsupported/SpeedComparison/mainForCython.py,sha256=knmx2n1-uJiK25WjGX0AM-CiwBJgPot2m93r_yW1W3E,3556
117
- acoular/tests/unsupported/SpeedComparison/mainForParallelJit.py,sha256=0mNKKdSSDWCahLDgrXlnzt3MRvnEcTx2KIMHyBNssbQ,5842
118
- acoular/tests/unsupported/SpeedComparison/setupCythonOpenMP.py,sha256=6TA7QT4ISf-EKCa4g6jhG55tWZr8XumrPGn4nl-XJ3I,2046
119
- acoular/tests/unsupported/SpeedComparison/sharedFunctions.py,sha256=JgD5PYunPhllWvcppaS0-mwKnrN0e1cPXmvrhM8OIUo,5761
120
- acoular/tests/unsupported/SpeedComparison/timeOverNMics_AllImportantMethods.png,sha256=b85-jiyfgrH3E9q0VCLCA-kSG75mZEQIr92K8EtRMVQ,172747
121
- acoular/tests/unsupported/SpeedComparison/timeOverNMics_faverage.png,sha256=gjdeoXKNirQqwkse4kisdx5_r66qPJcoc_dOUD2F4To,131665
122
- acoular/tests/unsupported/SpeedComparison/vglOptimierungFAverage.py,sha256=laX36WMfykyubiimNbf-ySAiuutv3bE6Plijix7-oRE,10020
123
- acoular/tests/unsupported/SpeedComparison/vglOptimierungGaussSeidel.py,sha256=ZE6d6czkveURaqlom--LtrVLWZ6rSPkSQyP50Vieg_Q,9712
124
- acoular/tests/unsupported/SpeedComparison/vglOptimierungR_BEAMFULL_INVERSE.py,sha256=tkHyTS9FPK4GfhfOfU99RVZaK28t72LNWu_0AxJFzsM,40111
125
- acoular/tests/unsupported/SpeedComparison/vglOptimierungR_BEAM_OS.py,sha256=uphi9mNWFVLj4_isFMkLjcd1xtblWX2HUTPJfETuc78,13445
126
- acoular/tests/unsupported/SpeedComparison/whatsFastestWayFor_absASquared.py,sha256=umIr8eC611yRJePa7XoyUKO1S8ZhedVct_kp5fDVqkA,1236
127
- acoular/xml/HW90D240_f10.xml,sha256=WvowIe8aYJaeHSExjwaY9fjpYukLxX6A-H7fD1PW2g8,5127
128
- acoular/xml/W90_D105_f10.xml,sha256=f8NHPoOYjEnRsstYDa_4E65EBR5m5BVzlg87jpCgckA,5283
129
- acoular/xml/acousticam_2c.xml,sha256=xcVlKQhGbRqMQHLKuTAyXTt3SM3aLZEAfGqbuFaWx4k,1993
130
- acoular/xml/acousticam_4c.xml,sha256=P8wAP5_GT0HS40VV3f7_88xQXwTLN1YRxI7MudnwIqw,1949
131
- acoular/xml/array38.xml,sha256=FrbC-1yVHNfWTamEJPiJhhdPtVYVfGbPXJ3TLljBKx0,2363
132
- acoular/xml/array92x.xml,sha256=65Wf2xbA6Dt_k98C3q4MfTtwPzceT8B2vKvK77hO9Yc,5874
133
- acoular/xml/array_56.xml,sha256=qe8CAcRP7-3MLpPn919XKHB8hMb9G5JUPFzP1qOA4IM,3428
134
- acoular/xml/array_56_10_9.xml,sha256=2G-KZSwvAtIuxyC6JKW2Hv2IWXVFd4Sux1tLxizJ5Z4,4432
135
- acoular/xml/array_56_bomb.xml,sha256=tAdhLzvUrhMh7DMrbXU7skAEAlCvQ6GLbJXAU7Z2JxE,4193
136
- acoular/xml/array_56_v2.xml,sha256=x4OTI77Fttfaqu-Kl7uWmslg8rZAuw2Y-RUa21MqzXk,3458
137
- acoular/xml/array_64.xml,sha256=1ZHuQEHhFhz9EhBcNbXkVT-9tnAr6T9cHH5Xb1gHL7Y,4039
138
- acoular/xml/array_84_10_9.xml,sha256=jzvMYZlQqo8y6jt3yllGOL7vk8bxMVpISexkZL0uquA,6558
139
- acoular/xml/array_84_bomb_v3.xml,sha256=Mv8nvqSOUezrdIjrCHZt4gZpJ-Z3BzF2wIYPawHZjlA,6248
140
- acoular/xml/calib_vw_ring32.xml,sha256=9chpz0O3e__oIs4ZuJTvUJNIuawjDqEnkdRbfyUBBxU,1341
141
- acoular/xml/gfai_ring32.xml,sha256=liKaGpfgUn8R1psDmiw6qqpZi5SwtPWBRhwhqy7YuOc,1831
142
- acoular/xml/minidsp_uma16.xml,sha256=QDL13OJtkuzdbu29RyhtJgx69aYsy257MxagI4OIwZQ,1153
143
- acoular/xml/tub_vogel64.xml,sha256=PixVMx5hMJjgBOekH46uu6D3ODqYVOLlk82zkYl4EBM,4424
144
- acoular-24.3.dist-info/METADATA,sha256=ojEXPOpe8wW2FgoQ0JrdQDlKdmWJJlAewzxiIuHLBGA,9964
145
- acoular-24.3.dist-info/WHEEL,sha256=TJPnKdtrSue7xZ_AVGkp9YXcvDrobsjBds1du3Nx6dc,87
146
- acoular-24.3.dist-info/licenses/AUTHORS.rst,sha256=445q_Us_TnQx8s_GP2yringU2DMTk3-ycrk2REtSsx0,382
147
- acoular-24.3.dist-info/licenses/LICENSE,sha256=NWcGAW6iG6xTR5CyiiSmHsbFfIHhcwscK85if20Q3hY,1520
148
- acoular-24.3.dist-info/RECORD,,
@@ -1,29 +0,0 @@
1
- Copyright (c) Acoular Development Team.
2
- All rights reserved.
3
-
4
-
5
- Redistribution and use in source and binary forms, with or without
6
- modification, are permitted provided that the following conditions are met:
7
-
8
- a. Redistributions of source code must retain the above copyright notice,
9
- this list of conditions and the following disclaimer.
10
- b. Redistributions in binary form must reproduce the above copyright
11
- notice, this list of conditions and the following disclaimer in the
12
- documentation and/or other materials provided with the distribution.
13
- c. Neither the name of the acoular developers nor the names of
14
- its contributors may be used to endorse or promote products
15
- derived from this software without specific prior written
16
- permission.
17
-
18
-
19
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
20
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
21
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
22
- ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR
23
- ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
24
- DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
25
- SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
26
- CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
27
- LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
28
- OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
29
- DAMAGE.