Fix deploying to PyPi.org
Deprecate FreeFieldDirectivityTV 1.0 in favor of FreeFieldDirectivityTV 1.1 (according to sofaconventoins.org and AES69-2022)
Add sofar.read_sofa_as_netcdf for reading SOFA files with erroneous data
Document SOFA conventions on https://sofar.readthedocs.io/en/stable/resources/conventions.html. Sofa.info() will this be deprecated in sofar v1.3.0
sofar.read_sofa and sofar.write_sofa now accept filenames and path objects
Add testing for Python 3.11
Use SOFA conventions of version 2.1 from https://github.com/pyfar/sofa_conventions
Verify SOFA data against all rules defined in the SOFA standard AES69-2022
Add Sofa.upgrade_convention for upgrading outdated conventions. This now uses explicit upgrade rules from https://github.com/pyfar/sofa_conventions
Remove upgrade functionality from Sofa.verify, sofar.write_sofa, and sofar.read_sofa for a more clear separation of functionality
Add Sofa.add_missing to add missing default data to a SOFA object using the default values specified by the SOFA convention
Add default parameter value to Sofa.info
Make sofar.update_conventions a public function again
Improve documentation and verbosity of command line output
Add private function to check congruency of conventions stored as part of SOFAtoolbox and on sofaconventions.org
Move to Circle CI and improve testing
Improvement sofar.read: Files with unknown Convention versions can now be read by updating to the latest or a specific version.
Improvement sofar.read: Reporting custom variables when reading SOFA files from disk is now optional and no longer a warning.
Improvement Sofa.inspect: SOFA objects that violate the SOFA convention can now be inspected. In this case, the violations are printed as message instead of raising an Error.
Improvement Sofa.verify: SOFA objects can now be verified without any output in case the output is not desired when calling Sofa.inspect.
Feature: Add sofar.inspect function to get a quicker and better overview of the data inside a SOFA object
Documentation: Add example of plotting HRIRs/HRTFs on the horizontal plane using pyfar>=0.4.0
Feature: Add Sofa.delete function to delete optional variables and attributes from SOFA objects
Bugfix: sofar.read_sofa added data with default values from the SOFA convention even if the data were not contained in the SOFA-files. This is now fixed.
Bugfix: N:LongName (attribute for SOFA conventions of Type TF, TF-E and TFE) is now optional as defined in AES69-2020.
Improvement: Do not change time stamp of SOFA files in sofar.read_sofa
Improvement: Multi-unit strings, e.g., ‘degree, degree, meter’ can now also be separated by spaces or commas only, e.g., ‘degree degree,meter’ as suggested by AES69-2020 (Issue #21)
Improvement: Add testing for creating, writing, and reading Sofa files containing only mandatory data.
Bugfix: Patch for correctly creating Sofa objects if the path to sofar contains underscores ‘_’
Testing: Add missing dependency to setup.py
Testing: Only test wheel during CI
Bugfix: Patch for correctly loading SOFA files with custom data
Documentation: Add examples for using pyfar to work with sofar and SOFA files
First release on PyPI