Skip to content

Expose continuous wavelet support bounds at construction - #890

Open
ac1982 wants to merge 1 commit into
PyWavelets:mainfrom
ac1982:feat/continuous-wavelet-bounds
Open

ac1982 wants to merge 1 commit into
PyWavelets:mainfrom
ac1982:feat/continuous-wavelet-bounds

Conversation

@ac1982

@ac1982 ac1982 commented Oct 14, 2026

Copy link
Copy Markdown

Fixes #792.

Allow ContinuousWavelet to accept optional lower_bound and upper_bound arguments, and show both bounds when printing the object. Each omitted bound retains the selected wavelet family's default. The constructor uses the existing writable properties, so wavefun and cwt behave the same as when those properties are assigned after construction.

Document the parameters and family-specific defaults, update the printed examples, and preserve the bounds when pickling the wavelet. Existing two-argument reconstruction remains supported; new pickles with bounds require a version that accepts the new arguments.

Validation on Linux ARM64, Python 3.12:

  • 1,065 tests passed, 2 skipped; focused CWT tests: 47 passed.
  • The new constructor tests fail on the original implementation (11 failures).
  • Tests compare wavefun/CWT output with post-construction assignment for real/complex wavelets and both floating-point precisions, plus defaults, one-sided overrides, invalid inputs and all pickle protocols.
  • spin docs and all pre-commit hooks pass. The reference examples and new docstring were also executed with doctest; copy/deepcopy/pickle after mutation were checked separately.

Other platforms and Python versions were not run locally. AI assistance was used for investigation, implementation and validation.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Making wavelet bounds more conspicuous

1 participant