Closed OverLordGoldDragon closed 3 years ago
FEATURES (major):
gmw
morsewave
_gmw.py
_test_signals.py
configs.ini
_cwt.cwt_higher_order
scales
FEATURES (other):
visuals
wavelet_filterbank
viz_cwt_higher_order
viz_gmw_orders
wavelet.viz('filterbank')
visuals.wavelet_tf
scale
scale=None
wavelet
ssq_cwt
ssq_stft
preserve_transform
padsignal
(n_signals, signal_length)
cwt
padtype=None
maprange
help(_ssq_cwt.ssq_cwt)
Wavelet.info()
@property
Wavelet
wc_ct
scalec_ct
wavelets.center_frequency
kind='peak-ct'
utils.find_max_scale
BREAKING:
utils.py
utils/*
common.py
cwt_utils.py
stft_utils.py
'morlet'
'gmw'
ssq_cwt(mapkind=)
'maximal'
'peak'
preset
'minimal'
Tx, ssq_freqs, Wx, scales, w
Tx, Wx, ssq_freqs, scales, w, dWx
dWx
Tx, ssq_freqs, Sx, Sfs, dSx, w
Tx, Sx, ssq_freqs, Sfs, w, dSx
ssqueezing
mapkind
difftype
'direct'
'trig'
_infer_scaletype
infer_scaletype
_integrate_analytic
integrate_analytic
find_max_scale
find_max_scale_alt
MISC:
phase_cwt
abs(w)
icwt
issq_cwt
order
average
stft
t
window
visuals.imshow()
cmap
'jet'
'bone'
abs=True
ssqueezepy/README.md
test/test_signals_test.py
examples/scales_selection.py
FIXES:
visuals.wavelet_heatmap
w
N
wavelet_tf
wavelet_tf_anim
wavelet_heatmap
padtype
TODO: update CHANGELOG TODO: higher-order CWT example TODO: "Contributors" in README TODO: file authorship format TODO: numeric maprange TODO: rename mapkind -> maprange? TODO: test stft vs librosa TODO: change scales defaults, low frequencies over-represented TODO: fix echirp
librosa
FEATURES (major):
gmw
,morsewave
in_gmw.py
)_test_signals.py
, and examplesconfigs.ini
, used to control function defaults globally_cwt.cwt_higher_order
scales
to not over-represent low frequenciesFEATURES (other):
visuals
: addedwavelet_filterbank
,viz_cwt_higher_order
,viz_gmw_orders
(first callable aswavelet.viz('filterbank')
)visuals.wavelet_tf
: autopicksscale
forscale=None
to give a nice visual for anywavelet
ssq_cwt
&ssq_stft
: added argpreserve_transform
to (see docstrings)padsignal
: 2D input support, of form(n_signals, signal_length)
(i.e. will pad every row vector).cwt
: support forpadtype=None
maprange
: tuple of floats now supported (help(_ssq_cwt.ssq_cwt)
)Wavelet.info()
and@property
s ofWavelet
revamped for generality; added@property
s:wc_ct
,scalec_ct
.wavelets.center_frequency
: addedkind='peak-ct'
utils.find_max_scale
now simpler and more effective, guaranteeing complete spectral coverage for low frequenciesBREAKING:
utils.py
->utils/*
:common.py
,cwt_utils.py
,stft_utils.py
'morlet'
to'gmw'
ssq_cwt(mapkind=)
default change:'maximal'
to'peak'
scales
default change: implicitpreset
from'maximal'
to'minimal'
for low scales,'maximal'
for highssq_cwt
return order change:Tx, ssq_freqs, Wx, scales, w
toTx, Wx, ssq_freqs, scales, w, dWx
(additionally returningdWx
)ssq_stft
return order change:Tx, ssq_freqs, Sx, Sfs, dSx, w
toTx, Sx, ssq_freqs, Sfs, w, dSx
ssqueezing
&ssq_cwt
: renamedmapkind
tomaprange
difftype
:'direct'
->'trig'
_infer_scaletype
->infer_scaletype
_integrate_analytic
->integrate_analytic
find_max_scale
->find_max_scale_alt
, butfind_max_scale
is still (but a different) functionMISC:
phase_cwt
: takesabs(w)
instead of zeroing negativeswavelet
inicwt
andissq_cwt
now defaults to the default waveletcwt
: added argsorder
,average
stft
&ssq_stft
: addedt
argumentstft
defaultwindow
increased frequency resolutionvisuals.imshow()
:cmap
now defaults to'jet'
instead of'bone'
forabs=True
ssqueezepy/README.md
,test/test_signals_test.py
,examples/scales_selection.py
FIXES:
visuals.wavelet_heatmap
: stringscales
now functionalvisuals
:w
overreached into negative frequencies for oddN
inwavelet_tf
,wavelet_tf_anim
, &wavelet_heatmap
icwt
:padtype
now functionalTODO: update CHANGELOGTODO: higher-order CWT exampleTODO: "Contributors" in READMETODO: file authorship formatTODO: numericmaprange
TODO: renamemapkind
->maprange
?TODO: teststft
vslibrosa
TODO: changescales
defaults, low frequencies over-representedTODO: fix echirp