acoular 25.7__py3-none-any.whl → 26.1__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.
- acoular/aiaa/aiaa.py +8 -10
- acoular/base.py +13 -16
- acoular/calib.py +25 -24
- acoular/configuration.py +2 -2
- acoular/demo/__init__.py +97 -9
- acoular/demo/__main__.py +37 -0
- acoular/environments.py +119 -130
- acoular/fbeamform.py +438 -440
- acoular/fprocess.py +18 -13
- acoular/grids.py +122 -301
- acoular/h5cache.py +5 -1
- acoular/h5files.py +96 -9
- acoular/microphones.py +30 -35
- acoular/process.py +14 -25
- acoular/sdinput.py +9 -14
- acoular/signals.py +36 -34
- acoular/sources.py +263 -380
- acoular/spectra.py +60 -80
- acoular/tbeamform.py +242 -224
- acoular/tools/helpers.py +25 -33
- acoular/tools/metrics.py +5 -10
- acoular/tools/utils.py +168 -0
- acoular/tprocess.py +248 -271
- acoular/trajectory.py +5 -6
- acoular/version.py +2 -2
- {acoular-25.7.dist-info → acoular-26.1.dist-info}/METADATA +54 -105
- acoular-26.1.dist-info/RECORD +56 -0
- {acoular-25.7.dist-info → acoular-26.1.dist-info}/WHEEL +1 -1
- acoular/demo/acoular_demo.py +0 -135
- acoular-25.7.dist-info/RECORD +0 -56
- {acoular-25.7.dist-info → acoular-26.1.dist-info}/licenses/AUTHORS.rst +0 -0
- {acoular-25.7.dist-info → acoular-26.1.dist-info}/licenses/LICENSE +0 -0
acoular/fprocess.py
CHANGED
|
@@ -4,6 +4,13 @@
|
|
|
4
4
|
"""
|
|
5
5
|
Implements blockwise processing methods in the frequency domain.
|
|
6
6
|
|
|
7
|
+
.. inheritance-diagram::
|
|
8
|
+
acoular.fprocess
|
|
9
|
+
:top-classes:
|
|
10
|
+
acoular.base.Generator,
|
|
11
|
+
acoular.spectra.BaseSpectra
|
|
12
|
+
:parts: 1
|
|
13
|
+
|
|
7
14
|
.. autosummary::
|
|
8
15
|
:toctree: generated/
|
|
9
16
|
|
|
@@ -19,14 +26,12 @@ from traits.api import Bool, CArray, Enum, Instance, Int, Property, Union, cache
|
|
|
19
26
|
|
|
20
27
|
# acoular imports
|
|
21
28
|
from .base import SamplesGenerator, SpectraGenerator, SpectraOut, TimeOut
|
|
22
|
-
from .deprecation import deprecated_alias
|
|
23
29
|
from .fastFuncs import calcCSM
|
|
24
30
|
from .internal import digest
|
|
25
31
|
from .process import SamplesBuffer
|
|
26
32
|
from .spectra import BaseSpectra
|
|
27
33
|
|
|
28
34
|
|
|
29
|
-
@deprecated_alias({'numfreqs': 'num_freqs', 'numsamples': 'num_samples'}, read_only=True, removal_version='25.10')
|
|
30
35
|
class RFFT(BaseSpectra, SpectraOut):
|
|
31
36
|
"""
|
|
32
37
|
Compute the one-sided Fast Fourier Transform (FFT) for real-valued multichannel time data.
|
|
@@ -46,7 +51,7 @@ class RFFT(BaseSpectra, SpectraOut):
|
|
|
46
51
|
#: The number of workers to use for FFT calculation.
|
|
47
52
|
#: If set to a negative value, all available logical CPUs are used.
|
|
48
53
|
#: Default is ``None``, which relies on the :func:`scipy.fft.rfft` implementation.
|
|
49
|
-
workers = Union(Int(), None, default_value=None
|
|
54
|
+
workers = Union(Int(), None, default_value=None)
|
|
50
55
|
|
|
51
56
|
#: Defines the scaling method for the FFT result. Options are:
|
|
52
57
|
#:
|
|
@@ -74,7 +79,8 @@ class RFFT(BaseSpectra, SpectraOut):
|
|
|
74
79
|
|
|
75
80
|
# Internal representation of the block size for FFT processing.
|
|
76
81
|
# Used for validation and property management.
|
|
77
|
-
|
|
82
|
+
#: block size of the FFT
|
|
83
|
+
_block_size = Int(1024)
|
|
78
84
|
|
|
79
85
|
#: A unique identifier based on the process properties.
|
|
80
86
|
digest = Property(depends_on=['source.digest', 'scaling', 'precision', '_block_size', 'window', 'overlap'])
|
|
@@ -167,7 +173,6 @@ class RFFT(BaseSpectra, SpectraOut):
|
|
|
167
173
|
yield fftdata[: j + 1]
|
|
168
174
|
|
|
169
175
|
|
|
170
|
-
@deprecated_alias({'numsamples': 'num_samples'}, read_only=True, removal_version='25.10')
|
|
171
176
|
class IRFFT(TimeOut):
|
|
172
177
|
"""
|
|
173
178
|
Perform the inverse Fast Fourier Transform (IFFT) for one-sided multi-channel spectra.
|
|
@@ -185,12 +190,12 @@ class IRFFT(TimeOut):
|
|
|
185
190
|
#: The number of workers (threads) to use for the IFFT calculation.
|
|
186
191
|
#: A negative value utilizes all available logical CPUs.
|
|
187
192
|
#: Default is ``None``, which relies on the :func:`scipy.fft.irfft` implementation.
|
|
188
|
-
workers = Union(Int(), None, default_value=None
|
|
193
|
+
workers = Union(Int(), None, default_value=None)
|
|
189
194
|
|
|
190
195
|
#: Determines the floating-point precision of the resulting time-domain signals.
|
|
191
196
|
#: Options include ``'float64'`` and ``'float32'``.
|
|
192
197
|
#: Default is ``'float64'``, ensuring high precision.
|
|
193
|
-
precision = Enum('float64', 'float32'
|
|
198
|
+
precision = Enum('float64', 'float32')
|
|
194
199
|
|
|
195
200
|
#: The total number of time-domain samples in the output.
|
|
196
201
|
#: Computed as the product of the number of input samples and the block size.
|
|
@@ -199,7 +204,8 @@ class IRFFT(TimeOut):
|
|
|
199
204
|
|
|
200
205
|
# Internal signal buffer used for handling arbitrary output block sizes. Optimizes
|
|
201
206
|
# processing when the requested output block size does not match the source block size.
|
|
202
|
-
|
|
207
|
+
#: signal buffer
|
|
208
|
+
_buffer = CArray()
|
|
203
209
|
|
|
204
210
|
#: A unique identifier based on the process properties.
|
|
205
211
|
digest = Property(depends_on=['source.digest', 'scaling', 'precision', '_block_size', 'window', 'overlap'])
|
|
@@ -293,11 +299,11 @@ class AutoPowerSpectra(SpectraOut):
|
|
|
293
299
|
scaling = Enum('power', 'psd')
|
|
294
300
|
|
|
295
301
|
#: A Boolean flag indicating whether the input spectra are single-sided. Default is ``True``.
|
|
296
|
-
single_sided = Bool(True
|
|
302
|
+
single_sided = Bool(True)
|
|
297
303
|
|
|
298
304
|
#: Specifies the floating-point precision of the computed auto-power spectra.
|
|
299
305
|
#: Options are ``'float64'`` and ``'float32'``. Default is ``'float64'``.
|
|
300
|
-
precision = Enum('float64', 'float32'
|
|
306
|
+
precision = Enum('float64', 'float32')
|
|
301
307
|
|
|
302
308
|
#: A unique identifier based on the computation properties.
|
|
303
309
|
digest = Property(depends_on=['source.digest', 'precision', 'scaling', 'single_sided'])
|
|
@@ -347,7 +353,6 @@ class AutoPowerSpectra(SpectraOut):
|
|
|
347
353
|
yield ((temp * temp.conjugate()).real * scale).astype(self.precision)
|
|
348
354
|
|
|
349
355
|
|
|
350
|
-
@deprecated_alias({'numchannels': 'num_channels'}, read_only=True, removal_version='25.10')
|
|
351
356
|
class CrossPowerSpectra(AutoPowerSpectra):
|
|
352
357
|
"""
|
|
353
358
|
Compute the complex-valued auto- and cross-power spectra from frequency-domain data.
|
|
@@ -369,7 +374,7 @@ class CrossPowerSpectra(AutoPowerSpectra):
|
|
|
369
374
|
|
|
370
375
|
#: Specifies the floating-point precision of the computed cross-spectral matrix (CSM).
|
|
371
376
|
#: Options are ``'complex128'`` and ``'complex64'``. Default is ``'complex128'``.
|
|
372
|
-
precision = Enum('complex128', 'complex64'
|
|
377
|
+
precision = Enum('complex128', 'complex64')
|
|
373
378
|
|
|
374
379
|
#: Defines the calculation mode for the cross-spectral matrix:
|
|
375
380
|
#:
|
|
@@ -380,7 +385,7 @@ class CrossPowerSpectra(AutoPowerSpectra):
|
|
|
380
385
|
#: excluding redundant upper-triangle elements.
|
|
381
386
|
#:
|
|
382
387
|
#: Default is ``'full'``.
|
|
383
|
-
calc_mode = Enum('full', 'upper', 'lower'
|
|
388
|
+
calc_mode = Enum('full', 'upper', 'lower')
|
|
384
389
|
|
|
385
390
|
#: The number of channels in the output data. The value depends on the number of input channels
|
|
386
391
|
#: :math:`n` and the selected :attr:`calc_mode`:
|