Skip to content

Commit

Permalink
Merge e2131ef into 3eaaf5a
Browse files Browse the repository at this point in the history
  • Loading branch information
OverLordGoldDragon committed Feb 18, 2021
2 parents 3eaaf5a + e2131ef commit 1ebee31
Show file tree
Hide file tree
Showing 41 changed files with 4,733 additions and 1,201 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
# local testing outputs
tests/wavanim*

# Byte-compiled / optimized / DLL files
__pycache__/
*.py[cod]
Expand Down
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ before_install:
script:
- >
pycodestyle --max-line-length=85
--ignore=E221,E241,E225,E226,E402,E722,E741,E272,E266,E302,E731,E702,E201,E129,E203,W503,W504
--ignore=E221,E241,E225,E226,E402,E722,E741,E272,E266,E302,E731,E702,E201,E129,E203,E202,W503,W504
ssqueezepy
- pytest -s --cov=ssqueezepy tests/

Expand Down
56 changes: 56 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,59 @@
### 0.6.0 (2-18-2021): Generalized Morse Wavelets, Ridge Extraction, Testing Suite

#### FEATURES (major)
- Added [Generalized Morse Wavelets](https://overlordgolddragon.github.io/generalized-morse-wavelets/) (`gmw`, `morsewave` in `_gmw.py`)
- Added automatic time-frequency ridge extraction, `ridge_extraction.py`
- Added signal testing suite, `_test_signals.py`, and [examples](https://overlordgolddragon.github.io/test-signals/)
- Added higher-order CWT (via GMWs); `_cwt.cwt_higher_order`
- Added `configs.ini`, used to control function defaults globally
- Improved default `scales` to not over-represent low frequencies

#### FEATURES (other)
- `visuals`: added `wavelet_filterbank`, `viz_cwt_higher_order`, `viz_gmw_orders` (first callable as `wavelet.viz('filterbank')`)
- `visuals.wavelet_tf`: autopicks `scale` for `scale=None` to give a nice visual for any `wavelet`
- `ssq_cwt` & `ssq_stft`: added arg `preserve_transform` to (see docstrings)
- `padsignal`: 2D input support, of form `(n_signals, signal_length)` (i.e. will pad every row vector).
- `cwt`: support for `padtype=None`
- `maprange`: tuple of floats now supported (`help(_ssq_cwt.ssq_cwt)`)
- `Wavelet.info()` and `@property`s of `Wavelet` revamped for generality; added `@property`s: `wc_ct`, `scalec_ct`.
- `wavelets.center_frequency`: added `kind='peak-ct'`
- `utils.find_max_scale` now simpler and more effective, guaranteeing complete spectral coverage for low frequencies

#### BREAKING
- `utils.py` -> `utils/*`: `common.py`, `cwt_utils.py`, `stft_utils.py`
- The default wavelet has been changed from `'morlet'` to `'gmw'`
- Changed Morlet's default parameters to closely match GMW's defaults per time & frequency resolution
- `ssq_cwt(mapkind=)` default change: `'maximal'` to `'peak'`
- `scales` default change: implicit `preset` from `'maximal'` to `'minimal'` for low scales, `'maximal'` for high
- `ssq_cwt` return order change: `Tx, ssq_freqs, Wx, scales, w` to `Tx, Wx, ssq_freqs, scales, w, dWx` (additionally returning `dWx`)
- `ssq_stft` return order change: `Tx, ssq_freqs, Sx, Sfs, dSx, w` to `Tx, Sx, ssq_freqs, Sfs, w, dSx`
- `ssqueezing` & `ssq_cwt`: renamed `mapkind` to `maprange`
- `difftype`: `'direct'` -> `'trig'`
- `_infer_scaletype` -> `infer_scaletype`
- `_integrate_analytic` -> `integrate_analytic`
- `find_max_scale` -> `find_max_scale_alt`, but `find_max_scale` is still (but a different) function

#### MISC
- `phase_cwt`: takes `abs(w)` instead of zeroing negatives
- `wavelet` in `icwt` and `issq_cwt` now defaults to the default wavelet
- `cwt`: added args `order`, `average`
- `stft` & `ssq_stft`: added `t` argument
- `stft` default `window` increased frequency resolution
- `visuals.imshow()`: `cmap` now defaults to `'jet'` instead of `'bone'` for `abs=True`
- Added Examples to README, adjusted Minimal Example

#### FIXES
- `visuals.wavelet_heatmap`: string `scales` now functional
- `visuals`: `w` overreached into negative frequencies for odd `N` in `wavelet_tf`, `wavelet_tf_anim`, & `wavelet_heatmap`
- `icwt`: `padtype` now functional

#### FILE CHANGES
- `ssqueezepy/` added: `_gmw.py`, `_test_signals.py`, `ridge_extraction.py`, `configs.ini`, `README.md`
- `ssqueezepy/` added `utils/`, split `utils.py` into `common.py`, `cwt_utils.py`, `stft_utils.py`, `__init__.py`, & moved to `utils/`.
- `tests/` added: `gmw_test.py`, `test_signals_test.py`, `ridge_extraction_test.py`
- `examples/` added: `extracting_ridges.py`, `scales_selection.py`, `ridge_extract_readme/`: `README.md`, `imgs/*`


### 0.5.5 (1-14-2021): STFT & Synchrosqueezed STFT

#### FEATURES
Expand Down

0 comments on commit 1ebee31

Please sign in to comment.