Acoular 24.07 documentation

What’s new

«  Evaluate source characterization performance.   ::   Main Page   ::   Contributing  »

What’s new

Upcoming Release

New features:


  • updates literature and adds sphinxcontrib-bibtex extension to support bibtex citation in the documentation.

  • cleans-up and structures the file and fixes missing acoular logo in documentation

  • replaces the markdown-link-check by lychee
    • faster CI (written in RUST)

    • allows more files to be checked, including the .rst files in the documentation

    • adds a cron job that runs daily


New features:
  • Implement a lazy result array for acoular.fbeamform.BeamformerBase derived classes

  • Adds flow establishment length traits

  • Updates acoular demo with ASCII map and gets rid of writing file

  • use hatch for publishing the Acoular package

  • add issue templates

  • adds Conda CI

  • CI for TestPyPI and PyPI

  • remove

  • add autolabel rule for fix and linting

  • fix linting rules

  • add zenodo release to CITAITON.cff


  • 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

  • Bugfixes:
    • changes to UMA-16 microphone array arrangement

  • Internal:
    • formatting and linting with ruff

    • introduce hatch

    • measure test coverage

    • replace zenodo.json by CITATION.cff

    • bugfixes CI

    • update LICENSE

    • adds code of conduct

    • allow workflow dispatch for testing on different branches using GitHub

    • improve documentation

    • refine package structure
      • move test directory outside of the source directory

      • remove outdated submodules fileimport and nidaqimport

      • introduce new submodule acoular/tools


  • Improve test coverage for BeamformerCMF

  • Changes to BeamformerSODIX:
    • correction of wrong cost-function

    • speedups through the use of numpy.einsum_path together with numpy.einsum

    • changed start value pgtol for the optimization with scipy.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 for BeamformerCMF )

    • fixes bug in BeamformerOrth: assigned strongest source at grid index 0 when instead of eva_list the trait n was given

    • fixes broken SpatialInterpolator

    • minor bugfix for single microphone transfer functions calculated with SteeringVector

    • fixes broken NNLS method in BeamformerCMF (wrong keyword argument normalize)

  • Internal:
    • new GitHub workflow for CI of the documentation

    • added Zenodo metadata file

    • changes to author name in pyproject.toml


  • 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

  • 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:



  • New class BeamformerSodix

  • New SplitBregman and FISTA solvers in 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:


  • 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



  • Adds gradient-based solver for BeamformerCMF (L_BFGS_B)

  • Adds possibilty to take into account convective amplification of moving sources in BeamformerTimeTraj

  • TraitsUI support of the classes has to be activated via config

  • Bugfix: use left-orientated coordinate system in rotating flow environment

  • Bugfix: correct wrong angle shift in spline interpolation

  • Removes several Python 2.7-specific implementations


  • Adds new classes for handling rotating data, including detection of trigger signals and interpolation of sensor data for virtual array emulation (Trigger, AngleTracker, SpatialInterpolator, SpatialInterpolatorRotation, SpatialInterpolatorConstantRotation)

  • Introduces new SampleSplitter class, which allows distribution of data streams

  • Adds new (global) caching options for more flexible cache file handling (e.g. never cache results, always cache, cache read-only). See config for information on how to use this.

  • User can choose whether to use h5py or pytables package for handling hdf files. See config for information on how to use this.

  • Change: BeamformerGIB behaviour (not calculating sources with eigenvalue of zero)

  • Bugfix: BeamformerTime interpolation

  • Bugfix: Integer division in PNoiseGenerator

  • Test suite and CI updates


  • Supports Python 3.5, 3.6, 3.7

  • This will be the last version to officially support Python 2.7

  • Cache and data directories are now always created in current directory (Linux and Windows)

  • Bugfix: Steering vector backwards compatibility

  • Bugfix: Ambiguous caching (changes in an object’s class name as well as changes in the data file content are now monitored for caching)

  • PowerSpectra: Frequency range to be evaluated can be set directly

  • Some code clean-up

  • Renamed examples


  • Adds support for Python 3.7

  • Introduces new SteeringVector class (see Getting Started and ../examples/index for usage). With this, some of the Beamformer and PointSource traits are deprecated and should no longer be used. While the current version is intended to be fully compatible with older scripts, deprecation warnings will be raised if necessary.

  • Introduces optional use of reference distance for SPL evaluation (current default: reference position at (x,y,z)=(0,0,0) )

  • Introduces some basic Unit tests to evaluate the beamformer results

  • Bugfix: CLEAN algorithm now uses correct PSFs

  • some minor bugfixes


  • Added new DAMAS solving strategies (BeamformerDamasPlus)

  • Added Generalized Inverse Beamforming

  • Floating point precision of CSM, PSF and beamformer customizable (default: float64) – affects cache file size

  • PowerSpectra class now includes EigSpectra functionality (EigSpectra still callable for backwards compatibility)

  • Inverse methods: unit of sound pressure for internal calculation customizable (default: nPa) for better numeric stability with sklearn solvers. Still returns all values in Pa.

  • Bugfix: BeamformerFunctional works now with steering vector formulation II (inverse) and III (true level) which produced incorrect results in the past.

  • Bugfix: BeamformerFunctional can only be called when the diagonal of the CSM is included

  • Bugfix: Corrected calculation of PSF for steering vector formulation IV

  • Bugfix: Behaviour of normalizing PSF at assumed source location (psf=1) is removed


  • Added support for Python 3.4, 3.5 and 3.6

  • Implementation of fast/parallelized code now with Numba (instead of C++ and SciPy.weave)

  • cross spectral matrix (CSM) orientation changed (was transposed in earlier versions). Please do not use the cache files from earlier versions in version 17.11!

«  Evaluate source characterization performance.   ::   Main Page   ::   Contributing  »