What's changed
- UrbanDenoiser (https://doi.org/10.1126/sciadv.abl3564) is now available in SeisBench. It can be loaded using `DeepDenoiser.from_pretrained("urban")` (#83).
- The `ProbabilisticLabeller` now supports different label shapes, i.e., Gaussian, Triangular and Box (67).
- SeisBench models now support local saving and loading through the newly added `save` and `load` functions. The functions ensure that not only model weights can be saved and loaded but also further model parameters, such as the component order or the sampling rate 69, 71, 86).
- The `WaveformModel` `annotate`/`classify` functions now support multiprocessing for annotating large datasets. Simply set the `parallelism` parameter in the call to these functions. The previous API based on asyncio is maintained for processing small stream objects, as multiprocessing has a higher overhead due to latency (64, 68, 81).
- SeisBench now supports Python 3.10 (52, 70).
- We added further example notebooks (58, 72).
- The `from_pretrained` API to load pretrained models has been completely rewritten. It now supports model versioning, coming with the new function `list_versions` and the `version_str` parameter for `from_pretrained`. In addition, more control and transparency were added whether the function queries the SeisBench remote repository or only the local cache (76, 77, 86).
- Added secondary keys for `get_idx_from_trace_name` to avoid trace name collisions for chunked data sets and multi-part datasets (78, 84)
- In addition, v0.2 contains all bugfixes introduced in the patch versions of v0.1 and further minor fixes (63, 85).
Thanks to everyone contributing to this release through issues, PRs and commits!