Releases: acoular/acoular
v24.10
New features:
- Sounddevice inputs now allow for user-settable sample rates and precision types
- Block-wise frequency domain processing
- Introduces new
acoular.base
module with abstract base classes:
~acoular.base.Generator
,~acoular.base.SpectraGenerator
,~acoular.base.InOut
,
~acoular.base.TimeOut
,~acoular.base.SpectraOut
- Introduces new module
acoular.fprocess
including new frequency domain processing
classes:~acoular.fprocess.RFFT
,~acoular.fprocess.IRFFT
,
~acoular.fprocess.AutoPowerSpectra
,~acoular.fprocess.CrossPowerSpectra
- Introduces new module
acoular.process
including general purpose (domain invariant)
processing classes:~acoular.process.Cache
,~acoular.process.Average
,
~acoular.process.SampleSplitter
- Rename
~acoular.tprocess.MaskedTimeInOut
to~acoular.tprocess.MaskedTimeOut
- Deprecates:
~acoular.base.TimeInOut
,~acoular.fprocess.FFTSpectra
,
~acoular.process.TimeAverage
,~acoular.tprocess.MaskedTimeInOut
,
~acoular.process.TimeCache
- Adds unittests:
test_process.py
,test_fprocess.py
- Adds documentation example:
example_fft.py
- Allows more platforms to build the docs files including Linux, macOS, and Windows
- Introduces new
Bugfixes
- Flush file in
~acoular.tprocess.TimeCache
to prevent data loss/corruption - Fixes use of already deprecated traits
- Fixes import order to avoid deactivation of parallelization in numba
- Fixes
numpy.matlib
deprecation warning
Documentation
- Updates literature and adds
sphinxcontrib-bibtex
extension to support BibTeX citation - Cleans up and structures the
conf.py
file and fixes missing Acoular logo in documentation - Fixes missing and incorrect docstrings for
result
methods in~acoular.tbeamform
- Improves explanation of installation dependencies
- Adds explanation on how to test specific Python versions
- Tests documentation build on all latest platforms
Internal
- Refactoring of classes in
~acoular.tbeamform
(moves buffer logic away from Beamformer classes)- Adds new
~acoular.tools.utils.SamplesBuffer
class located in~acoular.tools.utils
- Adds new
- Replaces markdown-link-check with
lychee
:- Faster CI (written in RUST)
- Allows more files to be checked, including
.rst
files in documentation - Adds a cron job that runs daily
- Sets final version for several deprecated traits (to be removed in version 25.01)
- Uses
scipy.linalg
consistently overnumpy.linalg
- Drops support for Python 3.8 and 3.9
- Enables Numpy version > 2.0
- Runs unittests on the latest macOS
v24.07
New features:
* Implement a lazy result array for acoular.fbeamform.BeamformerBase
derived classes (#280)
* Adds flow establishment length traits (#265)
* Updates acoular demo with ASCII map and gets rid of writing file (#262)
Bugfixes:
* temporary fix to PyTables - NumPy 2.0 incompatibility problem (#279)
* Fixes acoular.fbeamform.BeamformerGridlessOrth
shgo
params and eva_list
initial value bug (#282)
* makes acoular.sdinput.SoundDeviceSamplesGenerator
always importable (#270)
Internal:
* use hatch for publishing the Acoular package (#261)
* add issue templates (#273)
* adds Conda CI (#260)
* CI for TestPyPI and PyPI (#259)
* remove plot_example.py
(#255)
* add autolabel rule for fix
and linting
(#277)
* fix linting rules (#276)
* add zenodo release to CITAITON.cff
(#257)
* adds Contributing section in docs, update examples (#287)
v24.05
- adds support for Python version 3.12 on Linux, MacOS, Windows
- drops official support for Python version 3.7
- provides new tools to import data in AIAA array benchmark format (#248)
Bugfixes:
- changes to UMA-16 microphone array arrangement (#249)
Internal:
- formatting and linting with ruff (#229, #245)
- introduce hatch (#232)
- test coverage (#241)
- replace
zenodo.json
byCITATION.cff
file (#223) - bugfixes CI (#218)
- update LICENSE (#221)
- adds code of conduct (#222)
- allow workflow dispatch for testing on different branches (#250)
- refine package structure
- improve documentation (#243)
v24.03
- Improve test coverage for
BeamformerCMF
- Changes to
BeamformerSODIX
- correction of wrong cost-function
- speedups through the use of Numpy's
einsum_path
together witheinsum
function - changed start value
pgtol
for the optimization withscipy.optimize.fmin_l_bfgs_b
solver
- Bugfixes:
- fixes unrecognized sector arguments in
MetricEvaluator
- handles version-dependent default values for
normalize
attribute in sklearn solvers (relevant forBeamformerCMF
) - fixes bug in
BeamformerOrth
: assigned strongest source at grid index 0 when instead ofeva_list
the traitn
was given - fixes broken
SpatialInterpolator
- minor bugfix for single microphone transfer functions calculated with
SteeringVector
- fixes broken
NNLS
method inBeamformerCMF
(wrong keyword argumentnormalize
)
- fixes unrecognized sector arguments in
- Internal:
- new GitHub workflow for CI of the documentation
- added Zenodo metadata file
- changes to author name in
pyproject.toml
v23.11
Supports Python 3.7, 3.8, 3.9, 3.10, 3.11 on Linux, MacOS, Windows
- New class MetricEvaluator to evaluate the performance of source mapping methods according to Herold and Sarradj (2017)
- New class PointSourceConvolve to blockwise convolve an arbitrary source signal with a spatial room impulse response
- All filter classes derived from Filter use SOS filters now
- No more version restrictions for scikit-learn
- Speedups for numba jitted functions by enforcing C-contiguous arguments and the efficient use SIMD processor instructions
- Class BeamformerOrth now reimplements orthogonal deconvolution to be even faster and has a slightly different interface
- Simple benchmark suite to compare the performance of Acoular core routines on different computers
- Some internal rework in grid and sector classes
- Test coverage is improved
- Bugfixes:
- minor bugfix for convective amplification in BeamformerCleantTraj and BeamformerCleantTrajSq
- bugfix in some attributes of ImportGrid
v23.6
Supports Python 3.7, 3.8, 3.9, 3.10, 3.11 on Linux, MacOS, Windows
- New build system using hatch, purge setuptools
- New base class BeamformerAdaptiveGrid for gridless algorithms
- New class BeamformerGridlessOrth for gridless orthogonal beamforming
- New class RectSector3D
- Improved ray casting implementation for GeneralFlowEnvironment
- Improved handling of spectra calculation:
- New base class BaseSpectra
- New class FFTSpectra for time-frequency analysis
- New class PowerSpectraImport for cross spectral matrix import
- MicGeom now has an aperture trait
- Tests are improved
- Bugfixes:
- broken numpy.int import
- one off bug in LineGrid
v22.3
- New class :class:
~acoular.fbeamform.BeamformerSodix
* New SplitBregman and FISTA solvers in :class:~acoular.fbeamform.BeamformerCMF
* IDW is now available for virtual rotation
* different steering vector formulations are now available for time beamformers as well
* Speedups:- time domain beamformers and CleanT deconvolution now share a common core codebase and all do blockwise processing
* Bugfixes: - broken digest in :class:
~acoular.grids.RectGrid3D
repaired - :class:
~acoular.tbeamform.BeamformerCleant
and derived classes now never miss samples
- time domain beamformers and CleanT deconvolution now share a common core codebase and all do blockwise processing
v21.05
Supports Python 3.6, 3.7, 3.8, 3.9 on Linux, MacOS, Windows
New class FiltWNoiseGenerator
New classes SphericalHarmonicSource, Linesource, MovingPointSourceDipole, MovingLineSource
New class TimeConvolve
Speedups:
CSM works now in parallel and is faster
frequency domain beamformers are abaout 30% faster
time domain beamformers and CLEAN-T is now about 10 x faster
Unittests for all major features, much better coverage
Bugfixes:
integration sectors
new grid classes from 20.10 are now imported into module namespace