Skip to content

Releases: acoular/acoular

v24.10

22 Oct 15:21
c96e791
Compare
Choose a tag to compare

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

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
  • 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 over numpy.linalg
  • Drops support for Python 3.8 and 3.9
  • Enables Numpy version > 2.0
  • Runs unittests on the latest macOS

v24.07

22 Jul 11:06
f66085d
Compare
Choose a tag to compare

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

21 May 12:04
e7f6985
Compare
Choose a tag to compare
  • 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 by CITATION.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
    • move test directory (#230)
    • remove outdated submodules (#244)
    • new submodule acoular/tools (#248)
  • improve documentation (#243)

v24.03

12 Mar 13:52
Compare
Choose a tag to compare
  • Improve test coverage for BeamformerCMF
  • Changes to BeamformerSODIX
    • correction of wrong cost-function
    • speedups through the use of Numpy's einsum_path together with einsum function
    • 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

v23.11

20 Nov 08:10
Compare
Choose a tag to compare

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

26 Jun 14:39
Compare
Choose a tag to compare

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

28 Mar 17:45
Compare
Choose a tag to compare
  • 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

v21.05

06 May 14:11
9dd5950
Compare
Choose a tag to compare
    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

v20.10

29 Oct 15:07
Compare
Choose a tag to compare
Merge branch 'sounddevice-input' into 'master'

removes unnecessary debug print

See merge request acoular-dev/acoular!148

v20.02

28 Feb 10:37
ec8e4bc
Compare
Choose a tag to compare
Merge pull request #32 from esarradj/master

removes any 2.7 stuff from setup.py